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


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

The following commit has been merged in the master branch:
commit 69c2ecbdb09030b284b8ee289a31f96abd0e5fc5
Author: Martin Klapetek <martin.klapetek at gmail.com>
Date:   Fri Feb 1 12:30:51 2013 +0100

    Handle tubes more generically in the filter
---
 KTp/Models/contacts-filter-model.cpp | 51 +++++++++++++++++++++++++++---------
 KTp/Models/contacts-filter-model.h   | 13 +++++++--
 2 files changed, 49 insertions(+), 15 deletions(-)

diff --git a/KTp/Models/contacts-filter-model.cpp b/KTp/Models/contacts-filter-model.cpp
index 744a731..43ceef8 100644
--- a/KTp/Models/contacts-filter-model.cpp
+++ b/KTp/Models/contacts-filter-model.cpp
@@ -61,6 +61,7 @@ public:
     QString aliasFilterString;
     QString groupsFilterString;
     QString idFilterString;
+    QStringList tubesFilterStrings;
     Qt::MatchFlags displayNameFilterMatchFlags;
     Qt::MatchFlags nicknameFilterMatchFlags;
     Qt::MatchFlags aliasFilterMatchFlags;
@@ -100,12 +101,12 @@ bool ContactsFilterModel::Private::filterAcceptsAccount(const QModelIndex &index
                 && !index.data(KTp::ContactCanFileTransferRole).toBool()) {
             return false;
         }
-        if ((capabilityFilterFlags & FilterByDesktopSharingCapability)
-                && !index.data(ContactsModel::DesktopSharingCapabilityRole).toBool()) {
-            return false;
-        }
-        if ((capabilityFilterFlags & FilterBySSHContactCapability)
-                && !index.data(ContactsModel::SSHContactCapabilityRole).toBool()) {
+        if (capabilityFilterFlags & FilterByTubes) {
+            Q_FOREACH(const QString &tube, index.data(KTp::ContactTubesRole).toList()) {
+                if (d->tubesFilterStrings.contains(tube)) {
+                    return true;
+                }
+            }
             return false;
         }
     }
@@ -198,13 +199,18 @@ bool ContactsFilterModel::Private::filterAcceptsContact(const QModelIndex &index
                 && !index.data(KTp::ContactCanFileTransferRole).toBool()) {
             return false;
         }
-        if ((capabilityFilterFlags & FilterByDesktopSharingCapability)
-                && !index.data(ContactsModel::DesktopSharingCapabilityRole).toBool()) {
-            return false;
-        }
-        if ((capabilityFilterFlags & FilterBySSHContactCapability)
-                && !index.data(ContactsModel::SSHContactCapabilityRole).toBool()) {
-            return false;
+        if (capabilityFilterFlags & FilterByTubes) {
+            if (!d->tubesFilterStrings.isEmpty()) {
+                bool tubeFound = false;
+                Q_FOREACH(const QString &tube, index.data(KTp::ContactTubesRole).toList()) {
+                    if (d->tubesFilterStrings.contains(tube)) {
+                        tubeFound = true;
+                    }
+                }
+                if (!tubeFound) {
+                    return false;
+                }
+            }
         }
     }
 
@@ -827,6 +833,25 @@ void ContactsFilterModel::setIdFilterMatchFlags(Qt::MatchFlags idFilterMatchFlag
     }
 }
 
+QStringList ContactsFilterModel::tubesFilterStrings() const
+{
+    return d->tubesFilterStrings;
+}
+
+void ContactsFilterModel::clearTubesFilterStrings()
+{
+    setTubesFilterStrings(QStringList());
+}
+
+void ContactsFilterModel::setTubesFilterStrings(const QStringList &tubesFilterStrings)
+{
+    if (d->tubesFilterStrings != tubesFilterStrings) {
+        d->tubesFilterStrings = tubesFilterStrings;
+        invalidateFilter();
+        Q_EMIT tubesFilterStringsChanged(tubesFilterStrings);
+    }
+}
+
 bool ContactsFilterModel::filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const
 {
     QModelIndex index = sourceModel()->index(sourceRow, 0, sourceParent);
diff --git a/KTp/Models/contacts-filter-model.h b/KTp/Models/contacts-filter-model.h
index 1d623d8..fc9f663 100644
--- a/KTp/Models/contacts-filter-model.h
+++ b/KTp/Models/contacts-filter-model.h
@@ -102,6 +102,11 @@ class KTP_EXPORT ContactsFilterModel : public QSortFilterProxyModel
                RESET clearIdFilterString
                WRITE setIdFilterString
                NOTIFY idFilterStringChanged)
+    Q_PROPERTY(QStringList tubesFilterStrings
+               READ tubesFilterStrings
+               RESET clearTubesFilterStrings
+               WRITE setTubesFilterStrings
+               NOTIFY tubesFilterStringsChanged)
     Q_PROPERTY(Qt::MatchFlags displayNameFilterMatchFlags
                READ displayNameFilterMatchFlags
                RESET resetDisplayNameFilterMatchFlags
@@ -166,8 +171,7 @@ public:
         FilterByAudioCallCapability            = 0x0002,
         FilterByVideoCallCapability            = 0x0004,
         FilterByFileTransferCapability         = 0x0008,
-        FilterByDesktopSharingCapability       = 0x0010,
-        FilterBySSHContactCapability           = 0x0020,
+        FilterByTubes                          = 0x0010,
 
         CustomFilterCapability                 = 0x10000 // a placemark for custom capabilities in inherited classes
     };
@@ -263,6 +267,11 @@ public:
     Q_SLOT void setIdFilterMatchFlags(Qt::MatchFlags idFilterMatchFlags);
     Q_SIGNAL void idFilterMatchFlagsChanged(Qt::MatchFlags idFilterMatchFlags);
 
+    QStringList tubesFilterStrings() const;
+    Q_SLOT void clearTubesFilterStrings();
+    Q_SLOT void setTubesFilterStrings(const QStringList &tubesFilterStrings);
+    Q_SIGNAL void tubesFilterStringsChanged(const QStringList &tubesFilterStrings);
+
 protected:
     bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const;
     bool lessThan (const QModelIndex &left, const QModelIndex &right) const;

-- 
ktp-common-internals packaging



More information about the pkg-kde-commits mailing list