From d148e90c04c4c0f2df290942c7711f159b7ba148 Mon Sep 17 00:00:00 2001 From: Michael Bohlender Date: Wed, 9 Dec 2015 19:46:13 +0100 Subject: introduce slots to set special queries and adjust folderlsitview accordingly --- framework/mail/maillistcontroller.cpp | 37 ++++++++++++++++++++++++----------- framework/mail/maillistcontroller.h | 12 ++++-------- 2 files changed, 30 insertions(+), 19 deletions(-) (limited to 'framework') diff --git a/framework/mail/maillistcontroller.cpp b/framework/mail/maillistcontroller.cpp index ea7d1661..859aed91 100644 --- a/framework/mail/maillistcontroller.cpp +++ b/framework/mail/maillistcontroller.cpp @@ -16,17 +16,18 @@ MailListModel *MailListController::model() const } -QString MailListController::folderId() const +void MailListController::loadAllMail() { - return m_folderId; + Akonadi2::Query query; + query.syncOnDemand = false; + query.processAll = false; + query.liveQuery = true; + query.requestedProperties << "subject" << "sender" << "senderName" << "date" << "unread" << "important"; + m_model->runQuery(query); } -void MailListController::setFolderId(const QString &folderId) +void MailListController::loadMailFolder(const QString &folderId) { - if (m_folderId != folderId) { - m_folderId = folderId; - - Akonadi2::Query query; query.syncOnDemand = false; query.processAll = false; @@ -34,12 +35,26 @@ void MailListController::setFolderId(const QString &folderId) query.requestedProperties << "subject" << "sender" << "senderName" << "date" << "unread" << "important" << "folder"; query.propertyFilter.insert("folder", folderId.toLatin1()); m_model->runQuery(query); +} - emit folderIdChanged(); - } +void MailListController::loadUnreadMail() +{ + Akonadi2::Query query; + query.syncOnDemand = false; + query.processAll = false; + query.liveQuery = true; + query.requestedProperties << "subject" << "sender" << "senderName" << "date" << "unread" << "important"; + query.propertyFilter.insert("unread", true); + m_model->runQuery(query); } -void MailListController::addMail(QString subject) +void MailListController::loadImportantMail() { - qDebug() << "add mail"; + Akonadi2::Query query; + query.syncOnDemand = false; + query.processAll = false; + query.liveQuery = true; + query.requestedProperties << "subject" << "sender" << "senderName" << "date" << "unread" << "important"; + query.propertyFilter.insert("important", true); + m_model->runQuery(query); } diff --git a/framework/mail/maillistcontroller.h b/framework/mail/maillistcontroller.h index 9e972e18..ebdc990b 100644 --- a/framework/mail/maillistcontroller.h +++ b/framework/mail/maillistcontroller.h @@ -10,23 +10,19 @@ class MailListController : public QObject { Q_OBJECT - Q_PROPERTY (QString folderId READ folderId WRITE setFolderId NOTIFY folderIdChanged) Q_PROPERTY (MailListModel *model READ model CONSTANT) public: explicit MailListController(QObject *parent = Q_NULLPTR); - QString folderId() const; - void setFolderId(const QString &query); MailListModel *model() const; -signals: - void folderIdChanged(); - public slots: - void addMail(QString subject); + void loadAllMail(); + void loadUnreadMail(); + void loadImportantMail(); + void loadMailFolder(const QString &folderId); private: - QString m_folderId; QScopedPointer m_model; }; -- cgit v1.2.3