From 0365646737a1894ca6de94e8a9ad9dd6f28e0493 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Mon, 12 Feb 2018 21:34:40 +0100 Subject: A basic but working searchview --- framework/src/domain/maillistmodel.cpp | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) (limited to 'framework/src') diff --git a/framework/src/domain/maillistmodel.cpp b/framework/src/domain/maillistmodel.cpp index e3ef04d6..dcebedbc 100644 --- a/framework/src/domain/maillistmodel.cpp +++ b/framework/src/domain/maillistmodel.cpp @@ -48,6 +48,21 @@ void MailListModel::setFilter(const QString &filter) f = "\"" + filter + "\""; } f.append('*'); + if (mCurrentQueryItem.isEmpty()) { + using namespace Sink::ApplicationDomain; + query.request(); + query.request(); + query.request(); + query.request(); + query.request(); + query.request(); + query.request(); + query.request(); + query.request(); + query.request(); + query.request(); + query.request(); + } query.filter(Sink::QueryBase::Comparator(f, Sink::QueryBase::Comparator::Fulltext)); } runQuery(query); @@ -202,9 +217,15 @@ bool MailListModel::filterAcceptsRow(int sourceRow, const QModelIndex &sourcePar void MailListModel::runQuery(const Sink::Query &query) { - mQuery = query; - m_model = Sink::Store::loadModel(query); - setSourceModel(m_model.data()); + if (query.getBaseFilters().isEmpty() && query.ids().isEmpty()) { + mQuery = {}; + m_model.clear(); + setSourceModel(nullptr); + } else { + mQuery = query; + m_model = Sink::Store::loadModel(query); + setSourceModel(m_model.data()); + } } bool MailListModel::isThreaded() const -- cgit v1.2.3