[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