[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:05:53 UTC 2016
Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-common-internals.git;a=commitdiff;h=9d40153
The following commit has been merged in the master branch:
commit 9d401532e959ffaa8b679055fc04c12a927bcb65
Author: David Edmundson <kde at davidedmundson.co.uk>
Date: Wed Nov 21 18:17:36 2012 +0900
Remove AccountContact class
In practice this didn't really work. It becomes difficult to track the changes of a contact without rendering this uesless.
Instead expose AccountForContact as public API.
REVIEW: 107400
---
KTp/global-contact-manager.cpp | 64 +++++++-----------------------------------
KTp/global-contact-manager.h | 24 ++++------------
2 files changed, 15 insertions(+), 73 deletions(-)
diff --git a/KTp/global-contact-manager.cpp b/KTp/global-contact-manager.cpp
index 57de505..1f55d13 100644
--- a/KTp/global-contact-manager.cpp
+++ b/KTp/global-contact-manager.cpp
@@ -26,7 +26,6 @@
#include <KDebug>
-using namespace KTp;
namespace KTp {
class GlobalContactManagerPrivate {
@@ -35,32 +34,12 @@ public:
};
}
-AccountContact::AccountContact(const Tp::AccountPtr &account, const Tp::ContactPtr &contact)
-{
- m_account = account;
- m_contact = contact;
-}
-
-Tp::AccountPtr AccountContact::account() const
-{
- return m_account;
-}
-
-Tp::ContactPtr AccountContact::contact() const
-{
- return m_contact;
-}
-
+using namespace KTp;
GlobalContactManager::GlobalContactManager(const Tp::AccountManagerPtr &accountManager, QObject *parent) :
QObject(parent),
d(new GlobalContactManagerPrivate())
{
- if (! d->accountManager.isNull()) {
- kWarning() << "account manager already set";
- return;
- }
-
d->accountManager = accountManager;
Q_FOREACH(const Tp::AccountPtr &account, accountManager->allAccounts()) {
@@ -74,19 +53,16 @@ GlobalContactManager::~GlobalContactManager()
delete d;
}
-AccountContactList GlobalContactManager::allKnownContacts()
+Tp::Contacts GlobalContactManager::allKnownContacts() const
{
- AccountContactList allContacts;
-
+ Tp::Contacts allContacts;
if (d->accountManager.isNull()) {
return allContacts;
}
Q_FOREACH(const Tp::AccountPtr &account, d->accountManager->allAccounts()) {
if (!account->connection().isNull() && account->connection()->contactManager()->state() == Tp::ContactListStateSuccess) {
- Q_FOREACH(const Tp::ContactPtr &contact, account->connection()->contactManager()->allKnownContacts()) {
- allContacts.append(AccountContact(account, contact));
- }
+ allContacts.unite(account->connection()->contactManager()->allKnownContacts());
}
}
return allContacts;
@@ -122,39 +98,19 @@ void GlobalContactManager::onContactManagerStateChanged(const Tp::ContactManager
return;
}
- onAllKnownContactsChanged(contactManager, contactManager->allKnownContacts(), Tp::Contacts(), Tp::Channel::GroupMemberChangeDetails());
- connect(contactManager.data(), SIGNAL(allKnownContactsChanged(Tp::Contacts,Tp::Contacts,Tp::Channel::GroupMemberChangeDetails)), SLOT(onAllKnownContactsChanged(Tp::Contacts,Tp::Contacts,Tp::Channel::GroupMemberChangeDetails)));
-}
+ //contact manager connected, inform everyone of potential new contacts
+ Q_EMIT allKnownContactsChanged(contactManager->allKnownContacts(), Tp::Contacts());
-void GlobalContactManager::onAllKnownContactsChanged(const Tp::Contacts &contactsAdded, const Tp::Contacts &contactsRemoved, const Tp::Channel::GroupMemberChangeDetails &details)
-{
- Tp::ContactManager* contactManager = qobject_cast<Tp::ContactManager*>(sender());
- Q_ASSERT(contactManager);
- onAllKnownContactsChanged(Tp::ContactManagerPtr(contactManager), contactsAdded, contactsRemoved, details);
+ connect(contactManager.data(), SIGNAL(allKnownContactsChanged(Tp::Contacts,Tp::Contacts,Tp::Channel::GroupMemberChangeDetails)), SIGNAL(allKnownContactsChanged(Tp::Contacts,Tp::Contacts)));
}
-void GlobalContactManager::onAllKnownContactsChanged(const Tp::ContactManagerPtr &contactManager, const Tp::Contacts &contactsAdded, const Tp::Contacts &contactsRemoved, const Tp::Channel::GroupMemberChangeDetails &details)
+Tp::AccountPtr GlobalContactManager::accountForContact(const Tp::ContactPtr &contact) const
{
- Q_UNUSED(details);
- const Tp::AccountPtr account = accountForContactManager(contactManager);
-
- AccountContactList contactsToAdd;
- AccountContactList contactsToRemove;
-
- Q_FOREACH (const Tp::ContactPtr &contact, contactsAdded) {
- contactsToAdd << AccountContact(account, contact);
- }
- Q_FOREACH (const Tp::ContactPtr &contact, contactsRemoved) {
- contactsToRemove << AccountContact(account, contact);
- }
-
- Q_EMIT allKnownContactsChanged(contactsToAdd, contactsToRemove);
+ return accountForConnection(contact->manager()->connection());
}
-Tp::AccountPtr GlobalContactManager::accountForContactManager(const Tp::ContactManagerPtr &contactManager) const
+Tp::AccountPtr GlobalContactManager::accountForConnection(const Tp::ConnectionPtr &connection) const
{
- Tp::ConnectionPtr connection = contactManager->connection();
-
//loop through all accounts looking for a matching connection.
//arguably inneficient, but no. of accounts is normally very low, and it's not called very often.
Q_FOREACH(const Tp::AccountPtr &account, d->accountManager->allAccounts()) {
diff --git a/KTp/global-contact-manager.h b/KTp/global-contact-manager.h
index 4cfa58c..889d45e 100644
--- a/KTp/global-contact-manager.h
+++ b/KTp/global-contact-manager.h
@@ -30,18 +30,6 @@
namespace KTp {
-class KTP_EXPORT AccountContact {
-public:
- AccountContact(const Tp::AccountPtr &account, const Tp::ContactPtr &contact);
- Tp::AccountPtr account() const;
- Tp::ContactPtr contact() const;
-private:
- Tp::AccountPtr m_account;
- Tp::ContactPtr m_contact;
-};
-
-typedef QList<AccountContact> AccountContactList;
-
class GlobalContactManagerPrivate;
class KTP_EXPORT GlobalContactManager : public QObject
@@ -51,23 +39,21 @@ public:
explicit GlobalContactManager(const Tp::AccountManagerPtr &accountManager, QObject *parent = 0);
virtual ~GlobalContactManager();
- AccountContactList allKnownContacts();
+ Tp::Contacts allKnownContacts() const;
+ Tp::AccountPtr accountForConnection(const Tp::ConnectionPtr &connection) const;
+ Tp::AccountPtr accountForContact(const Tp::ContactPtr &contact) const;
Q_SIGNALS:
- void allKnownContactsChanged(const KTp::AccountContactList &contactsAdded, const KTp::AccountContactList &contactsRemoved);
- void presencePublicationRequested(const KTp::AccountContactList &contacts);
+ void allKnownContactsChanged(const Tp::Contacts &contactsAdded, const Tp::Contacts &contactsRemoved);
+ void presencePublicationRequested(const Tp::Contacts);
private Q_SLOTS:
void onNewAccount(const Tp::AccountPtr &account);
void onConnectionChanged(const Tp::ConnectionPtr &connection);
void onContactManagerStateChanged(Tp::ContactListState state);
- void onAllKnownContactsChanged (const Tp::Contacts &contactsAdded, const Tp::Contacts &contactsRemoved, const Tp::Channel::GroupMemberChangeDetails &details);
private:
void onContactManagerStateChanged(const Tp::ContactManagerPtr &contactManager, Tp::ContactListState state);
- void onAllKnownContactsChanged (const Tp::ContactManagerPtr &contactManager, const Tp::Contacts &contactsAdded, const Tp::Contacts &contactsRemoved, const Tp::Channel::GroupMemberChangeDetails &details);
-
- Tp::AccountPtr accountForContactManager(const Tp::ContactManagerPtr &contactManager) const;
GlobalContactManagerPrivate *d;
};
--
ktp-common-internals packaging
More information about the pkg-kde-commits
mailing list