summaryrefslogtreecommitdiffstats
path: root/framework/src/domain/maillistmodel.cpp
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2018-01-10 12:27:56 +0100
committerChristian Mollekopf <chrigi_1@fastmail.fm>2018-01-10 12:42:13 +0100
commita5f38b6541fbab0bdf31d5a804ec644af09a6b1b (patch)
tree9e5bec0ec777f09d4ebe1761feb5a4cfb5a5d240 /framework/src/domain/maillistmodel.cpp
parent6d726bb10386b3d7f5481d41b735ec06cb2163ad (diff)
downloadkube-a5f38b6541fbab0bdf31d5a804ec644af09a6b1b.tar.gz
kube-a5f38b6541fbab0bdf31d5a804ec644af09a6b1b.zip
The Inbox crusher as a first experimental view.
The extension itself is not really usable yet, but serves as a showcase.
Diffstat (limited to 'framework/src/domain/maillistmodel.cpp')
-rw-r--r--framework/src/domain/maillistmodel.cpp40
1 files changed, 40 insertions, 0 deletions
diff --git a/framework/src/domain/maillistmodel.cpp b/framework/src/domain/maillistmodel.cpp
index 83fd37ff..4b70a10a 100644
--- a/framework/src/domain/maillistmodel.cpp
+++ b/framework/src/domain/maillistmodel.cpp
@@ -339,3 +339,43 @@ bool MailListModel::showDrafts() const
339{ 339{
340 return false; 340 return false;
341} 341}
342
343void MailListModel::setShowInbox(bool)
344{
345 using namespace Sink::ApplicationDomain;
346
347 Sink::Query folderQuery{};
348 folderQuery.containsFilter<Sink::ApplicationDomain::Folder::SpecialPurpose>(Sink::ApplicationDomain::SpecialPurpose::Mail::inbox);
349 folderQuery.request<Sink::ApplicationDomain::Folder::SpecialPurpose>();
350 folderQuery.request<Sink::ApplicationDomain::Folder::Name>();
351
352 Sink::Query query;
353 query.setFlags(Sink::Query::LiveQuery);
354 query.filter<Sink::ApplicationDomain::Mail::Folder>(folderQuery);
355 query.sort<Mail::Date>();
356 query.request<Mail::Subject>();
357 query.request<Mail::Sender>();
358 query.request<Mail::To>();
359 query.request<Mail::Cc>();
360 query.request<Mail::Bcc>();
361 query.request<Mail::Date>();
362 query.request<Mail::Unread>();
363 query.request<Mail::Important>();
364 query.request<Mail::Draft>();
365 query.request<Mail::Folder>();
366 query.request<Mail::Sent>();
367 query.request<Mail::Trash>();
368 query.request<Mail::MimeMessage>();
369 query.request<Mail::FullPayloadAvailable>();
370 mFetchMails = true;
371 mFetchedMails.clear();
372 qDebug() << "Running mail query for drafts: ";
373 //Latest mail at the top
374 sort(0, Qt::DescendingOrder);
375 runQuery(query);
376}
377
378bool MailListModel::showInbox() const
379{
380 return false;
381}