summaryrefslogtreecommitdiffstats
path: root/framework/domain/maillistmodel.cpp
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2017-03-27 10:56:28 +0200
committerChristian Mollekopf <chrigi_1@fastmail.fm>2017-03-27 10:56:28 +0200
commit5a5a8c11ed1b1a90452c4f7ed36650be36fbaa2c (patch)
treef347564b27e87ef69f8f9b64be2022c8174f0e80 /framework/domain/maillistmodel.cpp
parent994a621c59435f455593bdd971a3805f5b151f00 (diff)
downloadkube-5a5a8c11ed1b1a90452c4f7ed36650be36fbaa2c.tar.gz
kube-5a5a8c11ed1b1a90452c4f7ed36650be36fbaa2c.zip
Filter on all things visible
Diffstat (limited to 'framework/domain/maillistmodel.cpp')
-rw-r--r--framework/domain/maillistmodel.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/framework/domain/maillistmodel.cpp b/framework/domain/maillistmodel.cpp
index 278dca22..3a507e05 100644
--- a/framework/domain/maillistmodel.cpp
+++ b/framework/domain/maillistmodel.cpp
@@ -158,6 +158,18 @@ bool MailListModel::lessThan(const QModelIndex &left, const QModelIndex &right)
158 return leftDate < rightDate; 158 return leftDate < rightDate;
159} 159}
160 160
161bool MailListModel::filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const
162{
163 auto idx = sourceModel()->index(sourceRow, 0, sourceParent);
164 auto regExp = filterRegExp();
165 if (regExp.isEmpty()) {
166 return true;
167 }
168 auto mail = idx.data(Sink::Store::DomainObjectRole).value<Sink::ApplicationDomain::Mail::Ptr>();
169 return mail->getSubject().contains(regExp) ||
170 mail->getSender().name.contains(regExp);
171}
172
161void MailListModel::runQuery(const Sink::Query &query) 173void MailListModel::runQuery(const Sink::Query &query)
162{ 174{
163 m_model = Sink::Store::loadModel<Sink::ApplicationDomain::Mail>(query); 175 m_model = Sink::Store::loadModel<Sink::ApplicationDomain::Mail>(query);