diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2018-01-10 12:27:56 +0100 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2018-01-10 12:42:13 +0100 |
commit | a5f38b6541fbab0bdf31d5a804ec644af09a6b1b (patch) | |
tree | 9e5bec0ec777f09d4ebe1761feb5a4cfb5a5d240 /framework/src | |
parent | 6d726bb10386b3d7f5481d41b735ec06cb2163ad (diff) | |
download | kube-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')
-rw-r--r-- | framework/src/domain/maillistmodel.cpp | 40 | ||||
-rw-r--r-- | framework/src/domain/maillistmodel.h | 5 |
2 files changed, 45 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 | |||
343 | void 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 | |||
378 | bool MailListModel::showInbox() const | ||
379 | { | ||
380 | return false; | ||
381 | } | ||
diff --git a/framework/src/domain/maillistmodel.h b/framework/src/domain/maillistmodel.h index 5f593700..ce0399f7 100644 --- a/framework/src/domain/maillistmodel.h +++ b/framework/src/domain/maillistmodel.h | |||
@@ -32,6 +32,8 @@ class MailListModel : public QSortFilterProxyModel | |||
32 | Q_PROPERTY (QVariant parentFolder READ parentFolder WRITE setParentFolder) | 32 | Q_PROPERTY (QVariant parentFolder READ parentFolder WRITE setParentFolder) |
33 | Q_PROPERTY (QVariant mail READ mail WRITE setMail) | 33 | Q_PROPERTY (QVariant mail READ mail WRITE setMail) |
34 | Q_PROPERTY (bool showDrafts READ showDrafts WRITE setShowDrafts) | 34 | Q_PROPERTY (bool showDrafts READ showDrafts WRITE setShowDrafts) |
35 | Q_PROPERTY (bool showInbox READ showInbox WRITE setShowInbox) | ||
36 | |||
35 | Q_PROPERTY (QString filter READ filter WRITE setFilter) | 37 | Q_PROPERTY (QString filter READ filter WRITE setFilter) |
36 | Q_PROPERTY (bool isThreaded READ isThreaded NOTIFY isThreadedChanged) | 38 | Q_PROPERTY (bool isThreaded READ isThreaded NOTIFY isThreadedChanged) |
37 | 39 | ||
@@ -91,6 +93,9 @@ public: | |||
91 | void setShowDrafts(bool); | 93 | void setShowDrafts(bool); |
92 | bool showDrafts() const; | 94 | bool showDrafts() const; |
93 | 95 | ||
96 | void setShowInbox(bool); | ||
97 | bool showInbox() const; | ||
98 | |||
94 | signals: | 99 | signals: |
95 | void isThreadedChanged(); | 100 | void isThreadedChanged(); |
96 | 101 | ||