[SCM] ktp-common-internals packaging branch, master, updated. debian/15.12.1-2-1839-gf0635e9

Maximiliano Curia maxy at moszumanska.debian.org
Mon May 9 09:07:20 UTC 2016


Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-common-internals.git;a=commitdiff;h=36fd0df

The following commit has been merged in the master branch:
commit 36fd0df330090754c2200970ac82fa7046d8b6ae
Author: David Edmundson <kde at davidedmundson.co.uk>
Date:   Wed Jul 27 20:01:35 2011 +0100

    Fetch contacts only when contactManager is ready.
    
    REVIEW: 102106
---
 kpeople/nepomuk-feeder/account.cpp | 27 ++++++++++++++++++++-------
 kpeople/nepomuk-feeder/account.h   |  3 ++-
 2 files changed, 22 insertions(+), 8 deletions(-)

diff --git a/kpeople/nepomuk-feeder/account.cpp b/kpeople/nepomuk-feeder/account.cpp
index 584a4e2..d6e33ba 100644
--- a/kpeople/nepomuk-feeder/account.cpp
+++ b/kpeople/nepomuk-feeder/account.cpp
@@ -88,16 +88,32 @@ void Account::shutdown()
     emit accountDestroyed(m_account->objectPath());
 }
 
-void Account::onConnectionChanged(Tp::ConnectionPtr connection)
+void Account::onConnectionChanged(const Tp::ConnectionPtr &connection)
 {
     if (! connection.isNull()) {
-        m_connection = m_account->connection();
+        m_connection = connection;
 
         if (!m_connection->contactManager()) {
             kWarning() << "ContactManager is Null. Abort getting contacts.";
             return;
         }
 
+        //add contacts as soon as the contact manager is ready.
+        connect(m_connection->contactManager().data(), SIGNAL(stateChanged(Tp::ContactListState)), SLOT(onContactManagerStateChanged(Tp::ContactListState)));
+        onContactManagerStateChanged(m_connection->contactManager()->state());
+
+    } else {
+        // Connection has gone down. Delete our pointer to it.
+        m_connection.reset();
+        kDebug() << "Connection closed:" << this;
+    }
+}
+
+void Account::onContactManagerStateChanged(Tp::ContactListState state)
+{
+    kDebug() << "contact manager state changed to " << state;
+
+    if (state == Tp::ContactListStateSuccess)  {
         Tp::Contacts contacts = m_connection->contactManager()->allKnownContacts();
 
         // Create wrapper objects for all the Contacts.
@@ -106,14 +122,10 @@ void Account::onConnectionChanged(Tp::ConnectionPtr connection)
             onNewContact(contact);
         }
         kDebug() << "Loop over.";
-
-    } else {
-        // Connection has gone down. Delete our pointer to it.
-        m_connection.reset();
-        kDebug() << "Connection closed:" << this;
     }
 }
 
+
 void Account::onNicknameChanged(const QString& nickname)
 {
     emit nicknameChanged(m_account->objectPath(), nickname);
@@ -239,5 +251,6 @@ void Account::onContactAvatarChanged(const QString &id, const Tp::AvatarData &av
 }
 
 
+
 #include "account.moc"
 
diff --git a/kpeople/nepomuk-feeder/account.h b/kpeople/nepomuk-feeder/account.h
index e8e41b5..4689b69 100644
--- a/kpeople/nepomuk-feeder/account.h
+++ b/kpeople/nepomuk-feeder/account.h
@@ -67,7 +67,8 @@ Q_SIGNALS:
     void contactAvatarChanged(const QString &path, const QString &id, const Tp::AvatarData &avatar);
 
 private Q_SLOTS:
-    void onConnectionChanged(Tp::ConnectionPtr connection);
+    void onConnectionChanged(const Tp::ConnectionPtr &connection);
+    void onContactManagerStateChanged(Tp::ContactListState state);
     void onNicknameChanged(const QString &nickname);
     void onCurrentPresenceChanged(const Tp::Presence &presence);
     void onAllKnownContactsChanged(const Tp::Contacts &added, const Tp::Contacts &removed);

-- 
ktp-common-internals packaging



More information about the pkg-kde-commits mailing list