[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:06:58 UTC 2016


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

The following commit has been merged in the master branch:
commit d123aa0c00b9aed826033be09cb419dd293e94cf
Author: Martin Klapetek <martin.klapetek at gmail.com>
Date:   Mon Jul 8 20:11:55 2013 +0200

    Add runtime switch between KPeople and standard models
    
    Proper switch while the application (eg. contact list) is running is not
    trivial as it would require switching context menus, tooltips etc, so
    for now restarting the application is preferred.
    
    Reviewed-by: David Edmundson
---
 KTp/Models/contacts-model.cpp | 49 +++++++++++++++++++++++++------------------
 1 file changed, 29 insertions(+), 20 deletions(-)

diff --git a/KTp/Models/contacts-model.cpp b/KTp/Models/contacts-model.cpp
index 52f382f..6f18a7a 100644
--- a/KTp/Models/contacts-model.cpp
+++ b/KTp/Models/contacts-model.cpp
@@ -28,12 +28,15 @@
 #include <TelepathyQt/ClientRegistrar>
 
 #ifdef HAVE_KPEOPLE
+#include <Nepomuk2/ResourceManager>
 #include <KPeople/PersonsModel>
 #include <kpeople/personsmodelfeature.h>
-
 #include "kpeopletranslationproxy.h"
 #endif
 
+#include <KDebug>
+
+
 namespace KTp
 {
 class ContactsModel::Private
@@ -41,13 +44,9 @@ class ContactsModel::Private
 public:
     GroupMode groupMode;
     bool trackUnread;
+    bool nepomukEnabled;
     QWeakPointer<KTp::AbstractGroupingProxyModel> proxy;
-#ifdef HAVE_KPEOPLE
-    KPeopleTranslationProxy *source;
-#else
-    ContactsListModel *source;
-#endif
-
+    QAbstractItemModel *source;
     Tp::AccountManagerPtr accountManager;
     Tp::ClientRegistrarPtr clientRegistrar;
     Tp::SharedPtr<KTp::TextChannelWatcherProxyModel> channelWatcherProxy;
@@ -61,19 +60,25 @@ KTp::ContactsModel::ContactsModel(QObject *parent)
 {
     d->groupMode = NoGrouping;
     d->trackUnread = false;
+    d->nepomukEnabled = false;
 #ifdef HAVE_KPEOPLE
-    KPeople::PersonsModel *personsModel = new KPeople::PersonsModel(this);
-
-    personsModel->startQuery(QList<KPeople::PersonsModelFeature>() << KPeople::PersonsModelFeature::imModelFeature(false)
-                                                          << KPeople::PersonsModelFeature::avatarModelFeature(true)
-                                                          << KPeople::PersonsModelFeature::groupsModelFeature(true));
-    d->source = new KPeopleTranslationProxy(this);
-    d->source->setSourceModel(personsModel);
-#else
-    d->source = new KTp::ContactsListModel(this);
+    d->nepomukEnabled = Nepomuk2::ResourceManager::instance()->initialized();
+
+    if (d->nepomukEnabled) {
+        kDebug() << "Nepomuk is enabled, using kpeople model";
+        KPeople::PersonsModel *personsModel = new KPeople::PersonsModel(this);
+
+        personsModel->startQuery(QList<KPeople::PersonsModelFeature>() << KPeople::PersonsModelFeature::imModelFeature(false)
+                                                            << KPeople::PersonsModelFeature::avatarModelFeature(true)
+                                                            << KPeople::PersonsModelFeature::groupsModelFeature(true));
+        d->source = new KPeopleTranslationProxy(this);
+        qobject_cast<KPeopleTranslationProxy*>(d->source)->setSourceModel(personsModel);
+    } else
 #endif
-
-
+    {
+        kDebug() << "Nepomuk is disabled, using normal model";
+        d->source = new KTp::ContactsListModel(this);
+    }
 }
 
 KTp::ContactsModel::~ContactsModel()
@@ -89,8 +94,12 @@ void KTp::ContactsModel::setAccountManager(const Tp::AccountManagerPtr &accountM
     updateGroupProxyModels();
 
     //set the account manager after we've reloaded the groups so that we don't send a list to the view, only to replace it with a grouped tree
-#ifndef HAVE_KPEOPLE
-    d->source->setAccountManager(accountManager);
+#ifdef HAVE_KPEOPLE
+    if (!d->nepomukEnabled) {
+        qobject_cast<ContactsListModel*>(d->source)->setAccountManager(accountManager);
+    }
+#else
+    qobject_cast<ContactsListModel*>(d->source)->setAccountManager(accountManager);
 #endif
 }
 

-- 
ktp-common-internals packaging



More information about the pkg-kde-commits mailing list