[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