[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