*/
#include <QGraphicsScene>
-#include <QGraphicsWidget>
#include <QGraphicsView>
+#include <QGraphicsWidget>
#include <QtGui/QVBoxLayout>
+#include <QGraphicsProxyWidget>
#include <QStateMachine>
#include "listviewscreen.h"
-#include "pixmap.h"
+#include <QDebug>
ListViewScreen::ListViewScreen(QWidget *parent)
- : QWidget(parent)
+ : QWidget(parent)
{
- Pixmap *infoTab = new Pixmap(QPixmap(":/resources/personal_infotab_background.png")); //350x140 pix
- Pixmap *userPic = new Pixmap(QPixmap(":/resources/facebook_user_64.png")); //64x64 pix
- Pixmap *envelope = new Pixmap(QPixmap(":/resources/list_small.png"));
- Pixmap *compass = new Pixmap(QPixmap(":/resources/compas_small.png"));
- Pixmap *clock = new Pixmap(QPixmap(":/resources/clock_small.png"));
- Pixmap *reload = new Pixmap(QPixmap(":/resources/reload_icon.png"));
- Pixmap *reloca = new Pixmap(QPixmap(":/resources/sendPosition_icon.png"));
-
- QGraphicsScene *scene= new QGraphicsScene(0,0,700,360);
- scene->setBackgroundBrush(Qt::white);
- scene->addItem(infoTab);
- scene->addItem(userPic);
- scene->addItem(envelope);
- scene->addItem(compass);
- scene->addItem(clock);
- scene->addItem(reload);
- scene->addItem(reloca);
+
+ m_arrowbutton = new Pixmap(QPixmap(":/res/images/arrow_right.png"));
+
+ m_personalInfo = new InfoTab;
+ m_personalInfo->setAvatar(QPixmap(":/res/images/facebook_user_64.png"));
+ m_personalInfo->setUserName("Fred Facebook");
+ m_personalInfo->setMessageText("Hello Maemo Situare !");
+ m_personalInfo->setTime("1 hour ago");
+ m_personalInfo->setAddress("Kiviharjunlenkki 1E, 91910 Oulu");
+
+
+ m_widgetProxy = new QGraphicsProxyWidget();
+ m_widgetProxy->setWidget(m_personalInfo);
+
+ QGraphicsScene *scene= new QGraphicsScene(this);
+ scene->setBackgroundBrush(Qt::white);
+ scene->addItem(m_widgetProxy);
+ scene->addItem(m_arrowbutton);
+ qDebug() << "Scene width: " << scene->width();
+ qDebug() << "Scene heigth: " << scene->height();
QGraphicsView *view = new QGraphicsView(scene);
+ view->setAlignment(Qt::AlignLeft|Qt::AlignTop);
+ view->setSceneRect(0,0,7000,3000);
+ view->centerOn(QPointF(0,0));
view->setFrameStyle(0);
view->setAlignment(Qt::AlignLeft | Qt::AlignTop);
view->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
view->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
- QStateMachine *machine = new QStateMachine;
+ QStateMachine *machine = new QStateMachine(this);
machine->setGlobalRestorePolicy(QStateMachine::RestoreProperties);
QState *state1 = new QState(machine);
machine->setInitialState(state1);
// State 1
- state1->assignProperty(infoTab,"pos",QPointF(-330,110));
- state1->assignProperty(userPic,"pos",QPointF(-320,120));
- state1->assignProperty(envelope,"pos",QPointF(-246,165));
- state1->assignProperty(compass,"pos",QPointF(-246,190));
- state1->assignProperty(clock,"pos",QPointF(-246,220));
- state1->assignProperty(reload,"pos",QPointF(-60,120));
- state1->assignProperty(reloca,"pos",QPointF(-60,180));
+ state1->assignProperty(m_widgetProxy,"pos",QPointF(-(m_personalInfo->width()),0));
+ state1->assignProperty(m_arrowbutton,"pos",QPointF(0,(m_personalInfo->height()/4)));
// State 2
- state2->assignProperty(infoTab,"pos",QPointF(0,110));
- state2->assignProperty(userPic,"pos",QPointF(10,120));
- state2->assignProperty(envelope,"pos",QPointF(84,165));
- state2->assignProperty(compass,"pos",QPointF(84,190));
- state2->assignProperty(clock,"pos",QPointF(84,220));
- state2->assignProperty(reload,"pos",QPointF(290,120));
- state2->assignProperty(reloca,"pos",QPointF(290,180));
-
- QAbstractTransition *trans1 = state1->addTransition(infoTab,SIGNAL(clicked()),state2);
- trans1->addAnimation(new QPropertyAnimation(infoTab,"pos"));
- trans1->addAnimation(new QPropertyAnimation(userPic,"pos"));
- trans1->addAnimation(new QPropertyAnimation(envelope,"pos"));
- trans1->addAnimation(new QPropertyAnimation(compass,"pos"));
- trans1->addAnimation(new QPropertyAnimation(clock,"pos"));
- trans1->addAnimation(new QPropertyAnimation(reload,"pos"));
- trans1->addAnimation(new QPropertyAnimation(reloca,"pos"));
-
- QAbstractTransition *trans2 = state2->addTransition(infoTab,SIGNAL(clicked()),state1);
- trans2->addAnimation(new QPropertyAnimation(infoTab,"pos"));
- trans2->addAnimation(new QPropertyAnimation(userPic,"pos"));
- trans2->addAnimation(new QPropertyAnimation(envelope,"pos"));
- trans2->addAnimation(new QPropertyAnimation(compass,"pos"));
- trans2->addAnimation(new QPropertyAnimation(clock,"pos"));
- trans2->addAnimation(new QPropertyAnimation(reload,"pos"));
- trans2->addAnimation(new QPropertyAnimation(reloca,"pos"));
+ state2->assignProperty(m_widgetProxy,"pos",QPointF(0,0));
+ state2->assignProperty(m_arrowbutton,"pos",QPointF((m_personalInfo->width()),(m_personalInfo->height()/4)));
+
+ m_trans1 = state1->addTransition(m_arrowbutton,SIGNAL(clicked()),state2);
+ m_anim1 = new QPropertyAnimation(m_widgetProxy,"pos");
+ m_anim2 = new QPropertyAnimation(m_arrowbutton,"pos");
+ m_trans1->addAnimation(m_anim1);
+ m_trans1->addAnimation(m_anim2);
+
+ m_trans2 = state2->addTransition(m_arrowbutton,SIGNAL(clicked()),state1);
+ m_anim3= new QPropertyAnimation(m_widgetProxy,"pos");
+ m_anim4= new QPropertyAnimation(m_arrowbutton,"pos");
+ m_trans2->addAnimation(m_anim3);
+ m_trans2->addAnimation(m_anim4);
machine->start();
- vbox = new QVBoxLayout(this);
- vbox->addWidget(view);
+ m_vbox = new QVBoxLayout(this);
+ m_vbox->addWidget(view);
+ m_vbox->setMargin(0);
+
+ setObjectName("List view");
+
+ //connect(m_personalInfo,SIGNAL(launchMessageUpdate()),this,SLOT(updateMessage()));
}
ListViewScreen::~ListViewScreen()
{
- if (vbox)
- delete vbox;
+ if (m_personalInfo)
+ delete m_personalInfo;
+ if (m_arrowbutton)
+ delete m_arrowbutton;
+ if (m_trans1)
+ delete m_trans1;
+ if (m_trans2)
+ delete m_trans2;
+ if (m_anim1)
+ delete m_anim1;
+ if (m_anim2)
+ delete m_anim2;
+ if (m_anim3)
+ delete m_anim3;
+ if (m_anim4)
+ delete m_anim4;
+ if (m_vbox)
+ delete m_vbox;
+}
+
+void ListViewScreen::updateMessage()
+{
+ qDebug() << __PRETTY_FUNCTION__;
+// m_locationDialog->exec();
}