[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:07:53 UTC 2016
Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-common-internals.git;a=commitdiff;h=781af39
The following commit has been merged in the master branch:
commit 781af39bf53f57a33b90d2d1dae13fcf9751680c
Author: David Edmundson <kde at davidedmundson.co.uk>
Date: Sun Nov 17 17:35:57 2013 +0100
Only show IM contacts in the model
---
KTp/Models/kpeopletranslationproxy.cpp | 10 +++++++++-
KTp/Models/kpeopletranslationproxy.h | 7 +++++--
2 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/KTp/Models/kpeopletranslationproxy.cpp b/KTp/Models/kpeopletranslationproxy.cpp
index d9d6ab4..1a5abf6 100644
--- a/KTp/Models/kpeopletranslationproxy.cpp
+++ b/KTp/Models/kpeopletranslationproxy.cpp
@@ -38,8 +38,9 @@ using namespace KPeople;
KPeopleTranslationProxy::KPeopleTranslationProxy(QObject *parent)
- : QIdentityProxyModel(parent)
+ : QSortFilterProxyModel(parent)
{
+ setDynamicSortFilter(true);
}
KPeopleTranslationProxy::~KPeopleTranslationProxy()
@@ -174,6 +175,13 @@ QVariant KPeopleTranslationProxy::dataForKTpContact(const QString &accountPath,
return QVariant();
}
+bool KPeopleTranslationProxy::filterAcceptsRow(int source_row, const QModelIndex& source_parent) const
+{
+ QModelIndex sourceIndex = sourceModel()->index(source_row, 0, source_parent);
+
+ //if no valid presence (not even "offline") .. reject the contact
+ return !sourceIndex.data(KPeople::PersonsModel::PersonVCardRole).value<KABC::Addressee>().custom(QLatin1String("telepathy"), QLatin1String("presence")).isEmpty();
+}
QVariant KPeopleTranslationProxy::translatePresence(const QVariant &presenceName) const
{
diff --git a/KTp/Models/kpeopletranslationproxy.h b/KTp/Models/kpeopletranslationproxy.h
index 01e1a6c..2efd6b2 100644
--- a/KTp/Models/kpeopletranslationproxy.h
+++ b/KTp/Models/kpeopletranslationproxy.h
@@ -20,11 +20,12 @@
#ifndef KTP_TRANSLATION_PROXY_H
#define KTP_TRANSLATION_PROXY_H
-#include <QIdentityProxyModel>
+// #include <QIdentityProxyModel>
+#include <QSortFilterProxyModel>
#include <KTp/ktp-export.h>
-class KTP_EXPORT KPeopleTranslationProxy : public QIdentityProxyModel
+class KTP_EXPORT KPeopleTranslationProxy : public QSortFilterProxyModel
{
Q_OBJECT
@@ -34,6 +35,8 @@ public:
virtual QVariant data(const QModelIndex &proxyIndex, int role = Qt::DisplayRole) const;
QVariant dataForKTpContact(const QString &accountPath, const QString &contactId, int role) const;
+
+ virtual bool filterAcceptsRow(int source_row, const QModelIndex & source_parent ) const;
private:
QVariant translatePresence(const QVariant &presenceName) const;
QPixmap contactPixmap(const QModelIndex &index) const;
--
ktp-common-internals packaging
More information about the pkg-kde-commits
mailing list