From 6e76e328b2adbc20bd2da6628a7f57aaa7afe5b1 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Tue, 10 May 2016 15:51:39 +0200 Subject: Less hardcoding of properties --- framework/domain/maillistmodel.cpp | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) (limited to 'framework/domain/maillistmodel.cpp') diff --git a/framework/domain/maillistmodel.cpp b/framework/domain/maillistmodel.cpp index eb282533..cbf39a86 100644 --- a/framework/domain/maillistmodel.cpp +++ b/framework/domain/maillistmodel.cpp @@ -83,8 +83,8 @@ QVariant MailListModel::data(const QModelIndex &idx, int role) const bool MailListModel::lessThan(const QModelIndex &left, const QModelIndex &right) const { - const QVariant leftData = left.sibling(left.row(), 3).data(Qt::DisplayRole); - const QVariant rightData = right.sibling(right.row(), 3).data(Qt::DisplayRole); + const QVariant leftData = left.sibling(left.row(), Date).data(Qt::DisplayRole); + const QVariant rightData = right.sibling(right.row(), Date).data(Qt::DisplayRole); return leftData.toDateTime() < rightData.toDateTime(); } @@ -96,18 +96,25 @@ void MailListModel::runQuery(const Sink::Query &query) void MailListModel::setParentFolder(const QVariant &parentFolder) { - auto folder = parentFolder.value(); + using namespace Sink::ApplicationDomain; + auto folder = parentFolder.value(); if (!folder) { qWarning() << "No folder: " << parentFolder; return; } Sink::Query query; query.liveQuery = true; - query.requestedProperties << "subject" << "sender" << "senderName" << "date" << "unread" << "important" << "folder"; query.resources << folder->resourceInstanceIdentifier(); - query.sortProperty = "date"; + query.sort(); query.limit = 100; - query += Sink::Query::PropertyFilter("folder", *folder); + query.request(); + query.request(); + query.request(); + query.request(); + query.request(); + query.request(); + query.request(); + query.filter(*folder); qWarning() << "Running folder query: " << folder->resourceInstanceIdentifier() << folder->identifier(); runQuery(query); } @@ -119,16 +126,21 @@ QVariant MailListModel::parentFolder() const void MailListModel::setMail(const QVariant &variant) { + using namespace Sink::ApplicationDomain; auto mail = variant.value(); if (!mail) { qWarning() << "No mail: " << mail; return; } - Sink::Query query; + Sink::Query query(*mail); query.liveQuery = false; - query.requestedProperties << "subject" << "sender" << "senderName" << "date" << "unread" << "important" << "mimeMessage"; - query.ids << mail->identifier(); - query.resources << mail->resourceInstanceIdentifier(); + query.request(); + query.request(); + query.request(); + query.request(); + query.request(); + query.request(); + query.request(); qWarning() << "Running mail query: " << mail->resourceInstanceIdentifier() << mail->identifier(); runQuery(query); } -- cgit v1.2.3