[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