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


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

The following commit has been merged in the master branch:
commit 86584d5d16ea6a781307f7ab9fa6bb543e9a0554
Author: Weng Xuetian <wengxt at gmail.com>
Date:   Wed Nov 28 11:55:04 2012 -0500

    Make AccountsFilterModel can be filtered by Id, fix globalFilterString
    
    REVIEW: 107500
---
 KTp/Models/accounts-filter-model.cpp | 57 +++++++++++++++++++++++++++++++++++-
 KTp/Models/accounts-filter-model.h   | 19 ++++++++++++
 2 files changed, 75 insertions(+), 1 deletion(-)

diff --git a/KTp/Models/accounts-filter-model.cpp b/KTp/Models/accounts-filter-model.cpp
index eeecc77..dd911ac 100644
--- a/KTp/Models/accounts-filter-model.cpp
+++ b/KTp/Models/accounts-filter-model.cpp
@@ -47,7 +47,8 @@ public:
           displayNameFilterMatchFlags(Qt::MatchContains),
           nicknameFilterMatchFlags(Qt::MatchContains),
           aliasFilterMatchFlags(Qt::MatchContains),
-          groupsFilterMatchFlags(Qt::MatchContains)
+          groupsFilterMatchFlags(Qt::MatchContains),
+          idFilterMatchFlags(Qt::MatchContains)
     {
     }
 
@@ -64,10 +65,12 @@ public:
     QString nicknameFilterString;
     QString aliasFilterString;
     QString groupsFilterString;
+    QString idFilterString;
     Qt::MatchFlags displayNameFilterMatchFlags;
     Qt::MatchFlags nicknameFilterMatchFlags;
     Qt::MatchFlags aliasFilterMatchFlags;
     Qt::MatchFlags groupsFilterMatchFlags;
+    Qt::MatchFlags idFilterMatchFlags;
 
     bool filterAcceptsAccount(const QModelIndex &index) const;
     bool filterAcceptsContact(const QModelIndex &index) const;
@@ -306,6 +309,13 @@ bool AccountsFilterModel::Private::filterAcceptsContact(const QModelIndex &index
         if (!q->match(index, ContactsModel::GroupsRole, globalFilterString, 1, globalFilterMatchFlags).isEmpty()) {
             return true;
         }
+
+        // Check id
+        if (!q->match(index, ContactsModel::IdRole, globalFilterString, 1, globalFilterMatchFlags).isEmpty()) {
+            return true;
+        }
+
+        return false;
     } else {
         // Check on single filters
         // Check display name
@@ -335,6 +345,13 @@ bool AccountsFilterModel::Private::filterAcceptsContact(const QModelIndex &index
                 return false;
             }
         }
+
+        // Check id
+        if (!idFilterString.isEmpty()) {
+            if (q->match(index, ContactsModel::IdRole, idFilterString, 1, idFilterMatchFlags).isEmpty()) {
+                return false;
+            }
+        }
     }
 
     return true;
@@ -754,6 +771,44 @@ void AccountsFilterModel::setGroupsFilterMatchFlags(Qt::MatchFlags groupsFilterM
     }
 }
 
+QString AccountsFilterModel::idFilterString() const
+{
+    return d->idFilterString;
+}
+
+void AccountsFilterModel::clearIdFilterString()
+{
+    setIdFilterString(QString());
+}
+
+void AccountsFilterModel::setIdFilterString(const QString &idFilterString)
+{
+    if (d->idFilterString != idFilterString) {
+        d->idFilterString = idFilterString;
+        invalidateFilter();
+        Q_EMIT idFilterStringChanged(idFilterString);
+    }
+}
+
+Qt::MatchFlags AccountsFilterModel::idFilterMatchFlags() const
+{
+    return d->idFilterMatchFlags;
+}
+
+void AccountsFilterModel::resetIdFilterMatchFlags()
+{
+    setIdFilterMatchFlags(Qt::MatchStartsWith | Qt::MatchWrap);
+}
+
+void AccountsFilterModel::setIdFilterMatchFlags(Qt::MatchFlags idFilterMatchFlags)
+{
+    if (d->idFilterMatchFlags != idFilterMatchFlags) {
+        d->idFilterMatchFlags = idFilterMatchFlags;
+        invalidateFilter();
+        Q_EMIT idFilterMatchFlagsChanged(idFilterMatchFlags);
+    }
+}
+
 void AccountsFilterModel::countContacts(const QModelIndex &index) const
 {
     QVariant item = index.data(ContactsModel::ItemRole);
diff --git a/KTp/Models/accounts-filter-model.h b/KTp/Models/accounts-filter-model.h
index b0d7402..a7ba2c7 100644
--- a/KTp/Models/accounts-filter-model.h
+++ b/KTp/Models/accounts-filter-model.h
@@ -102,6 +102,11 @@ class KTP_EXPORT AccountsFilterModel : public QSortFilterProxyModel
                RESET clearGroupsFilterString
                WRITE setGroupsFilterString
                NOTIFY groupsFilterStringChanged)
+    Q_PROPERTY(QString idFilterString
+               READ idFilterString
+               RESET clearIdFilterString
+               WRITE setIdFilterString
+               NOTIFY idFilterStringChanged)
     Q_PROPERTY(Qt::MatchFlags displayNameFilterMatchFlags
                READ displayNameFilterMatchFlags
                RESET resetDisplayNameFilterMatchFlags
@@ -122,6 +127,11 @@ class KTP_EXPORT AccountsFilterModel : public QSortFilterProxyModel
                RESET resetGroupsFilterMatchFlags
                WRITE setGroupsFilterMatchFlags
                NOTIFY groupsFilterMatchFlagsChanged)
+    Q_PROPERTY(Qt::MatchFlags idFilterMatchFlags
+               READ idFilterMatchFlags
+               RESET resetIdFilterMatchFlags
+               WRITE setIdFilterMatchFlags
+               NOTIFY idFilterMatchFlagsChanged)
 
 public:
     enum SortMode {
@@ -261,6 +271,15 @@ public:
     Q_SLOT void setGroupsFilterMatchFlags(Qt::MatchFlags groupsFilterMatchFlags);
     Q_SIGNAL void groupsFilterMatchFlagsChanged(Qt::MatchFlags groupsFilterMatchFlags);
 
+    QString idFilterString() const;
+    Q_SLOT void clearIdFilterString();
+    Q_SLOT void setIdFilterString(const QString &idFilterString);
+    Q_SIGNAL void idFilterStringChanged(const QString &idFilterString);
+    Qt::MatchFlags idFilterMatchFlags() const;
+    Q_SLOT void resetIdFilterMatchFlags();
+    Q_SLOT void setIdFilterMatchFlags(Qt::MatchFlags idFilterMatchFlags);
+    Q_SIGNAL void idFilterMatchFlagsChanged(Qt::MatchFlags idFilterMatchFlags);
+
     Q_SLOT void countContacts(const QModelIndex &index) const;
 
 protected:

-- 
ktp-common-internals packaging



More information about the pkg-kde-commits mailing list