[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:04:45 UTC 2016


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

The following commit has been merged in the master branch:
commit 3a91b527a402e67324042e8e596e7fd00665fb2d
Author: David Edmundson <kde at davidedmundson.co.uk>
Date:   Wed Dec 28 14:24:18 2011 +0000

    Set account manager asynchrously to model creation.
---
 KTp/Models/accounts-model.cpp | 44 +++++++++++++++++++++++++++----------------
 KTp/Models/accounts-model.h   |  4 +++-
 2 files changed, 31 insertions(+), 17 deletions(-)

diff --git a/KTp/Models/accounts-model.cpp b/KTp/Models/accounts-model.cpp
index d348f4c..7132261 100644
--- a/KTp/Models/accounts-model.cpp
+++ b/KTp/Models/accounts-model.cpp
@@ -28,10 +28,11 @@
 #include "accounts-model-item.h"
 #include "contact-model-item.h"
 
+#include <KDebug>
+
 struct AccountsModel::Private
 {
-    Private(const Tp::AccountManagerPtr &am)
-        : mAM(am)
+    Private()
     {
     }
 
@@ -47,9 +48,9 @@ TreeNode *AccountsModel::Private::node(const QModelIndex &index) const
     return node ? node : mTree;
 }
 
-AccountsModel::AccountsModel(const Tp::AccountManagerPtr &am, QObject *parent)
+AccountsModel::AccountsModel(QObject *parent)
     : QAbstractItemModel(parent),
-      mPriv(new AccountsModel::Private(am))
+      mPriv(new AccountsModel::Private())
 {
     mPriv->mTree = new TreeNode;
     connect(mPriv->mTree,
@@ -63,18 +64,7 @@ AccountsModel::AccountsModel(const Tp::AccountManagerPtr &am, QObject *parent)
     connect(mPriv->mTree,
             SIGNAL(childrenRemoved(TreeNode*,int,int)),
             SLOT(onItemsRemoved(TreeNode*,int,int)));
-
-    Q_FOREACH (Tp::AccountPtr account, mPriv->mAM->allAccounts()) {
-        AccountsModelItem *item = new AccountsModelItem(account);
-        connect(item, SIGNAL(connectionStatusChanged(QString,int)),
-                this, SIGNAL(accountConnectionStatusChanged(QString,int)));
-        mPriv->mTree->addChild(item);
-    }
-
-    connect(mPriv->mAM.data(),
-            SIGNAL(newAccount(Tp::AccountPtr)),
-            SLOT(onNewAccount(Tp::AccountPtr)));
-
+    
     QHash<int, QByteArray> roles;
     roles[ItemRole] = "item";
     roles[IdRole] = "id";
@@ -124,6 +114,25 @@ AccountsModel::~AccountsModel()
     delete mPriv;
 }
 
+void AccountsModel::setAccountManager(const Tp::AccountManagerPtr &am)
+{
+    if (! mPriv->mAM.isNull()) {
+        kDebug() << "account manager already set, ignoring";
+    }
+    
+    if (!am->isReady()) {
+        kDebug() << "Ready Account Manager expected";
+    }
+    mPriv->mAM = am;
+    Q_FOREACH (Tp::AccountPtr account, mPriv->mAM->allAccounts()) {
+       onNewAccount(account);
+    }
+    
+    connect(mPriv->mAM.data(),
+            SIGNAL(newAccount(Tp::AccountPtr)),
+            SLOT(onNewAccount(Tp::AccountPtr)));
+}
+
 void AccountsModel::onNewAccount(const Tp::AccountPtr &account)
 {
     AccountsModelItem *accountNode = new AccountsModelItem(account);
@@ -249,6 +258,9 @@ Tp::AccountPtr AccountsModel::accountForContactItem(ContactModelItem *contactIte
 
 Tp::AccountPtr AccountsModel::accountPtrForPath(const QString& accountPath) const
 {
+    if (mPriv->mAM.isNull()) {
+        return Tp::AccountPtr();
+    }
     return mPriv->mAM->accountForPath(accountPath);
 }
 
diff --git a/KTp/Models/accounts-model.h b/KTp/Models/accounts-model.h
index 0eb3504..c86d8cf 100644
--- a/KTp/Models/accounts-model.h
+++ b/KTp/Models/accounts-model.h
@@ -95,8 +95,10 @@ public:
         CustomRole // a placemark for custom roles in inherited models
     };
 
-    explicit AccountsModel(const Tp::AccountManagerPtr &am, QObject *parent = 0);
+    explicit AccountsModel(QObject *parent = 0);
     virtual ~AccountsModel();
+    
+    void setAccountManager(const Tp::AccountManagerPtr &am);
 
     virtual int rowCount(const QModelIndex &parent = QModelIndex()) const;
     virtual int columnCount(const QModelIndex &parent = QModelIndex()) const;

-- 
ktp-common-internals packaging



More information about the pkg-kde-commits mailing list