Integrated friendlistview with dev.
authorJussi Laitinen <jupe@l3l7588.ixonos.local>
Thu, 29 Apr 2010 10:18:40 +0000 (13:18 +0300)
committerJussi Laitinen <jupe@l3l7588.ixonos.local>
Thu, 29 Apr 2010 10:18:40 +0000 (13:18 +0300)
src/engine/engine.cpp
src/engine/engine.h
src/situareservice/situareservice.cpp
src/ui/friendlistitem.cpp
src/ui/listviewscreen.cpp
src/ui/listviewscreen.h
src/ui/mainwindow.cpp
src/ui/mainwindow.h

index f3b6840..8a4cb96 100644 (file)
@@ -43,6 +43,11 @@ SituareEngine::SituareEngine(QMainWindow *parent)
     connect(m_situareService, SIGNAL(reverseGeoReady(QString)), m_ui, SIGNAL(reverseGeoReady(QString)));
     connect(m_ui, SIGNAL(statusUpdate(QString,bool)), this, SLOT(requestUpdateLocation(QString,bool)));
 
+    connect(m_situareService, SIGNAL(userDataChanged(User*,QList<User*>&)), m_ui,
+            SIGNAL(userDataChanged(User*,QList<User*>&)));
+
+    connect(m_ui, SIGNAL(refreshUserData()), this, SLOT(refreshUserData()));
+
     start();
 }
 
@@ -81,8 +86,9 @@ void SituareEngine::requestUpdateLocation(const QString &status, const bool &pub
     m_situareService->updateLocation(coordinates, status, publish);
 }
 
-void SituareEngine::updateFriendsList()
+void SituareEngine::refreshUserData()
 {
     qDebug() << __PRETTY_FUNCTION__;
-    //code here
+
+    m_situareService->fetchLocations();
 }
index 9e81a86..8d7c1ff 100644 (file)
@@ -86,7 +86,7 @@ public slots:
     */
     void requestUpdateLocation(const QString &status, const bool &publish);
 
-    void updateFriendsList();
+    void refreshUserData();
 
 /*******************************************************************************
  * SIGNALS
index dd09f5a..7397908 100644 (file)
@@ -281,6 +281,9 @@ void SituareService::parseUserData(const QByteArray &jsonReply)
 
       QUrl imageUrl = friendMap["profile_pic"].toUrl();
 
+//      if (imageUrl.isEmpty())
+//          imageUrl = QUrl("http://static.ak.fbcdn.net/pics/q_silhouette.gif");
+
       User *user = new User(friendMap["address"].toString(), coordinates, friendMap["name"].toString(),
                             friendMap["note"].toString(), imageUrl, friendMap["timestamp"].toString(),
                             false, friendMap["uid"].toString(), distanceMap["units"].toString(),
index 7bb7f5c..ce2ae5c 100644 (file)
@@ -128,7 +128,7 @@ void FriendListItem::setData(const User &user)
 
     shortenTexts();
 
-    m_imageLabel->setPixmap(QPixmap(":/res/images/dummy_Avatar.png"));
+    m_imageLabel->setPixmap(m_user.profileImage());
     m_nameLabel->setText(m_shortenedName);
     m_updatedLabel->setText(m_shortenedUpdated);
     m_statusTextLabel->setText(m_shortenedStatusText);
index 16ec0ef..d1005c8 100644 (file)
@@ -69,44 +69,44 @@ ListViewScreen::ListViewScreen(QWidget *parent)
     : QWidget(parent)
 {
     //DEBUG
-    FriendListView *friendListView = new FriendListView(this);
+    m_friendListView = new FriendListView(this);
 
-    User user1(QString("Kiviharjunlenkki 1E, 91910 Oulu"), QPointF(25.5, 65), QString("User 1"),
-               QString("Hello Maemo Situare!"), QUrl("http://static.ak.fbcdn.net/pics/q_silhouette.gif"), QString("2 days ago" \
-               " 2 days ago 2 days ago 2 days ago"), false, QString(),
-               QString(), 12.2);
-    User user2(QString("Kiviharjunlenkki 1E, 91910 Oulu"), QPointF(25.5, 65), QString("User 2"),
-               QString("Hello Maemo Situare! Hello Maemo Situare! Hello Maemo Situare!"),
-               QUrl("http://static.ak.fbcdn.net/pics/q_silhouette.gif"), QString("2 days ago"), false, QString(),
-               QString(), 12.2);
-    User user3(QString("Kiviharjunlenkki 1E, 91910 Oulu"), QPointF(25.5, 65), QString("User 2"),
-               QString("Hello Maemo Situare! Hello Maemo Situare! Hello Maemo Situare!" \
-                       "Hello Maemo Situare! Hello Maemo Situare! Hello Maemo Situare! " \
-                       "Hello Maemo Situare! Hello Maemo Situare! Hello Maemo Situare! "),
-               QUrl("http://static.ak.fbcdn.net/pics/q_silhouette.gif"), QString("2 days ago"), false, QString(),
-               QString(), 12.2);
-    FriendListItem *item1 = new FriendListItem(friendListView);
-    item1->setData(user1);
-    FriendListItem *item2 = new FriendListItem(friendListView);
-    item2->setData(user1);
-    FriendListItem *item3 = new FriendListItem(friendListView);
-    item3->setData(user1);
-    FriendListItem *item4 = new FriendListItem(friendListView);
-    item4->setData(user2);
-    FriendListItem *item5 = new FriendListItem(friendListView);
-    item5->setData(user3);
-    FriendListItem *item6 = new FriendListItem(friendListView);
-    item6->setData(user1);
-
-    friendListView->addWidget(item1);
-    friendListView->addWidget(item2);
-    friendListView->addWidget(item3);
-    friendListView->addWidget(item4);
-    friendListView->addWidget(item5);
-    friendListView->addWidget(item6);
+//    User user1(QString("Kiviharjunlenkki 1E, 91910 Oulu"), QPointF(25.5, 65), QString("User 1"),
+//               QString("Hello Maemo Situare!"), QUrl("http://static.ak.fbcdn.net/pics/q_silhouette.gif"), QString("2 days ago" \
+//               " 2 days ago 2 days ago 2 days ago"), false, QString(),
+//               QString(), 12.2);
+//    User user2(QString("Kiviharjunlenkki 1E, 91910 Oulu"), QPointF(25.5, 65), QString("User 2"),
+//               QString("Hello Maemo Situare! Hello Maemo Situare! Hello Maemo Situare!"),
+//               QUrl("http://static.ak.fbcdn.net/pics/q_silhouette.gif"), QString("2 days ago"), false, QString(),
+//               QString(), 12.2);
+//    User user3(QString("Kiviharjunlenkki 1E, 91910 Oulu"), QPointF(25.5, 65), QString("User 2"),
+//               QString("Hello Maemo Situare! Hello Maemo Situare! Hello Maemo Situare!" \
+//                       "Hello Maemo Situare! Hello Maemo Situare! Hello Maemo Situare! " \
+//                       "Hello Maemo Situare! Hello Maemo Situare! Hello Maemo Situare! "),
+//               QUrl("http://static.ak.fbcdn.net/pics/q_silhouette.gif"), QString("2 days ago"), false, QString(),
+//               QString(), 12.2);
+//    FriendListItem *item1 = new FriendListItem(m_friendListView);
+//    item1->setData(user1);
+//    FriendListItem *item2 = new FriendListItem(m_friendListView);
+//    item2->setData(user1);
+//    FriendListItem *item3 = new FriendListItem(m_friendListView);
+//    item3->setData(user1);
+//    FriendListItem *item4 = new FriendListItem(m_friendListView);
+//    item4->setData(user2);
+//    FriendListItem *item5 = new FriendListItem(m_friendListView);
+//    item5->setData(user3);
+//    FriendListItem *item6 = new FriendListItem(m_friendListView);
+//    item6->setData(user1);
+//
+//    m_friendListView->addWidget(item1);
+//    m_friendListView->addWidget(item2);
+//    m_friendListView->addWidget(item3);
+//    m_friendListView->addWidget(item4);
+//    m_friendListView->addWidget(item5);
+//    m_friendListView->addWidget(item6);
 
     QScrollArea *friendListScroll = new QScrollArea();
-    friendListScroll->setWidget(friendListView);
+    friendListScroll->setWidget(m_friendListView);
     friendListScroll->setWidgetResizable(true);
     //DEBUG
 
@@ -139,12 +139,12 @@ ListViewScreen::ListViewScreen(QWidget *parent)
     scene->addItem(m_arrowRight);
     scene->addItem(m_arrowLeft);
     //DEBUG
-//    QGraphicsProxyWidget *scrollProxy = new QGraphicsProxyWidget();
-//    scrollProxy->setWidget(friendListScroll);
-//    scrollProxy->setZValue(m_personalInfoBackGround->zValue() - 3);
-//    scrollProxy->setMinimumSize(790, 480);
-//    scene->addItem(scrollProxy);
-//    scrollProxy->setPos(300, 0);
+    QGraphicsProxyWidget *scrollProxy = new QGraphicsProxyWidget();
+    scrollProxy->setWidget(friendListScroll);
+    scrollProxy->setZValue(m_personalInfoBackGround->zValue() - 3);
+    scrollProxy->setMinimumSize(790 - 300, 480);
+    scene->addItem(scrollProxy);
+    scrollProxy->setPos(300, 0);
     //DEBUG
     m_leftSideBar->setPos(0,0);
 
@@ -267,3 +267,14 @@ void ListViewScreen::updateMessage()
    qDebug() << __PRETTY_FUNCTION__;
    m_locationDialog->exec();
 }
+
+void ListViewScreen::userDataChanged(User *user, QList<User *> &friends)
+{
+    m_friendListView->clear();
+
+    foreach (User *user, friends) {
+        FriendListItem *item = new FriendListItem(m_friendListView);
+        item->setData(*user);
+        m_friendListView->addWidget(item);
+    }
+}
index 63b1faa..2ded730 100644 (file)
@@ -29,6 +29,9 @@
 #include "pixmap.h"
 #include "updatelocation/updatelocationdialog.h"
 
+class FriendListView;
+class User;
+
 /**
 * @brief List View class. Used for displaying List of friends
 *
@@ -59,6 +62,8 @@ public slots:
     */
     void updateMessage();
 
+    void userDataChanged(User* user,QList<User*>& friends);
+
 /*******************************************************************************
  * DATA MEMBERS
  ******************************************************************************/
@@ -91,6 +96,8 @@ private:
     QPropertyAnimation *m_anim13;
     QPropertyAnimation *m_anim14;
     UpdateLocationDialog *m_locationDialog; ///< Message dialog
+
+    FriendListView *m_friendListView;
 };
 
 #endif // LISTVIEWTAB_H
index 4e9f291..79e0e7d 100644 (file)
@@ -46,6 +46,12 @@ MainWindow::MainWindow(QWidget *parent)
     connect(this, SIGNAL(reverseGeoReady(QString)), m_locationDialog, SLOT(setAddress(QString)));
     connect(m_locationDialog, SIGNAL(statusUpdate(QString,bool)), this,
             SIGNAL(statusUpdate(QString,bool)));
+
+    connect(this, SIGNAL(userDataChanged(User*,QList<User*>&)), m_listViewScreen,
+            SLOT(userDataChanged(User*,QList<User*>&)));
+
+    connect(m_listViewScreen->m_personalInfo, SIGNAL(launchUpdateFriendsStatus()),
+            this, SIGNAL(refreshUserData()));
 }
 
 MainWindow::~MainWindow()
index e1d0ba8..a98bc30 100644 (file)
@@ -130,6 +130,10 @@ signals:
     */
     void statusUpdate(const QString &status, const bool &publish);
 
+    void userDataChanged(User*,QList<User*>&);
+
+    void refreshUserData();
+
 /*******************************************************************************
  * DATA MEMBERS
  ******************************************************************************/