summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--applications/kmail-quick/package/contents/ui/FolderListView.qml2
-rw-r--r--framework/mail/maillistcontroller.cpp37
-rw-r--r--framework/mail/maillistcontroller.h12
3 files changed, 31 insertions, 20 deletions
diff --git a/applications/kmail-quick/package/contents/ui/FolderListView.qml b/applications/kmail-quick/package/contents/ui/FolderListView.qml
index f451eaee..b7d91253 100644
--- a/applications/kmail-quick/package/contents/ui/FolderListView.qml
+++ b/applications/kmail-quick/package/contents/ui/FolderListView.qml
@@ -67,7 +67,7 @@ Item {
67 enabled: true 67 enabled: true
68 68
69 onClicked: { 69 onClicked: {
70 mailList.folderId = model.id 70 mailList.folderId.loadMailFolder(model.id)
71 } 71 }
72 72
73 PlasmaCore.IconItem { 73 PlasmaCore.IconItem {
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
16 16
17} 17}
18 18
19QString MailListController::folderId() const 19void MailListController::loadAllMail()
20{ 20{
21 return m_folderId; 21 Akonadi2::Query query;
22 query.syncOnDemand = false;
23 query.processAll = false;
24 query.liveQuery = true;
25 query.requestedProperties << "subject" << "sender" << "senderName" << "date" << "unread" << "important";
26 m_model->runQuery(query);
22} 27}
23 28
24void MailListController::setFolderId(const QString &folderId) 29void MailListController::loadMailFolder(const QString &folderId)
25{ 30{
26 if (m_folderId != folderId) {
27 m_folderId = folderId;
28
29
30 Akonadi2::Query query; 31 Akonadi2::Query query;
31 query.syncOnDemand = false; 32 query.syncOnDemand = false;
32 query.processAll = false; 33 query.processAll = false;
@@ -34,12 +35,26 @@ void MailListController::setFolderId(const QString &folderId)
34 query.requestedProperties << "subject" << "sender" << "senderName" << "date" << "unread" << "important" << "folder"; 35 query.requestedProperties << "subject" << "sender" << "senderName" << "date" << "unread" << "important" << "folder";
35 query.propertyFilter.insert("folder", folderId.toLatin1()); 36 query.propertyFilter.insert("folder", folderId.toLatin1());
36 m_model->runQuery(query); 37 m_model->runQuery(query);
38}
37 39
38 emit folderIdChanged(); 40void MailListController::loadUnreadMail()
39 } 41{
42 Akonadi2::Query query;
43 query.syncOnDemand = false;
44 query.processAll = false;
45 query.liveQuery = true;
46 query.requestedProperties << "subject" << "sender" << "senderName" << "date" << "unread" << "important";
47 query.propertyFilter.insert("unread", true);
48 m_model->runQuery(query);
40} 49}
41 50
42void MailListController::addMail(QString subject) 51void MailListController::loadImportantMail()
43{ 52{
44 qDebug() << "add mail"; 53 Akonadi2::Query query;
54 query.syncOnDemand = false;
55 query.processAll = false;
56 query.liveQuery = true;
57 query.requestedProperties << "subject" << "sender" << "senderName" << "date" << "unread" << "important";
58 query.propertyFilter.insert("important", true);
59 m_model->runQuery(query);
45} 60}
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 @@
10class MailListController : public QObject 10class MailListController : public QObject
11{ 11{
12 Q_OBJECT 12 Q_OBJECT
13 Q_PROPERTY (QString folderId READ folderId WRITE setFolderId NOTIFY folderIdChanged)
14 Q_PROPERTY (MailListModel *model READ model CONSTANT) 13 Q_PROPERTY (MailListModel *model READ model CONSTANT)
15 14
16public: 15public:
17 explicit MailListController(QObject *parent = Q_NULLPTR); 16 explicit MailListController(QObject *parent = Q_NULLPTR);
18 17
19 QString folderId() const;
20 void setFolderId(const QString &query);
21 MailListModel *model() const; 18 MailListModel *model() const;
22 19
23signals:
24 void folderIdChanged();
25
26public slots: 20public slots:
27 void addMail(QString subject); 21 void loadAllMail();
22 void loadUnreadMail();
23 void loadImportantMail();
24 void loadMailFolder(const QString &folderId);
28 25
29private: 26private:
30 QString m_folderId;
31 QScopedPointer<MailListModel> m_model; 27 QScopedPointer<MailListModel> m_model;
32}; 28};