First phase of userdata rewrite
[situare] / src / situareservice / situareservice.cpp
index 4565ba0..fa1af86 100644 (file)
@@ -294,8 +294,6 @@ void SituareService::parseUserData(const QByteArray &jsonReply)
 {
     qDebug() << __PRETTY_FUNCTION__;
 
-    m_visited = 0;
-    m_nbrOfImages = 0;
     m_defaultImage = false;
 
     QJson::Parser parser;
@@ -377,6 +375,7 @@ void SituareService::parseUserData(const QByteArray &jsonReply)
 
               m_friendsList.append(user);
             }
+            emit userDataChanged(m_user, m_friendsList);
             addProfileImages();
         } else {
             QVariant address = result.value("address");
@@ -403,31 +402,28 @@ void SituareService::imageReceived(const QUrl &url, const QPixmap &image)
     if(url == QUrl(SILHOUETTE_URL)) {
         if(m_user->profileImageUrl().isEmpty()) {
             m_user->setProfileImage(AvatarImage::create(image, AvatarImage::Large));
+            emit imageReady(m_user);
         }
         for(int i=0;i < m_friendsList.count();i++) {
             if(m_friendsList.at(i)->profileImageUrl().isEmpty()) {
                 m_friendsList.at(i)->setProfileImage(AvatarImage::create(image,
                                                                          AvatarImage::Small));
+                emit imageReady(m_friendsList.at(i));
             }
         }
     }
 
     if (m_user->profileImageUrl() == url) {
         m_user->setProfileImage(AvatarImage::create(image, AvatarImage::Large));
+        emit imageReady(m_user);
     }
 
     for(int i=0;i<m_friendsList.count();i++) {
         if(m_friendsList.at(i)->profileImageUrl() == url) {
             m_friendsList.at(i)->setProfileImage(AvatarImage::create(image, AvatarImage::Small));
-            m_nbrOfImages++; // indicates how many friend profile images has been downloaded
+            emit imageReady(m_friendsList.at(i));
         }
     }
-
-    if(m_nbrOfImages == m_visited) {
-        qDebug() << "m_nbrOfImages: " << m_nbrOfImages << " m_visited: " << m_visited;
-        qDebug() << "emit userDataChanged";
-        emit userDataChanged(m_user, m_friendsList);
-    }
 }
 
 void SituareService::addProfileImages()
@@ -445,8 +441,7 @@ void SituareService::addProfileImages()
     for(int i=0;i<m_friendsList.count();i++) {
         if(!m_friendsList.at(i)->profileImageUrl().isEmpty() &&
            m_friendsList.at(i)->profileImageUrl().isValid()) {
-            m_visited++; // indicates how many friends that have profile image
-            emit fetchImage(m_friendsList.at(i)->profileImageUrl());
+           emit fetchImage(m_friendsList.at(i)->profileImageUrl());
         }
     }
 }