[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