summaryrefslogtreecommitdiffstats
path: root/framework
diff options
context:
space:
mode:
authorMichael Bohlender <michael.bohlender@kdemail.net>2015-12-17 20:41:02 +0100
committerMichael Bohlender <michael.bohlender@kdemail.net>2015-12-17 20:41:02 +0100
commit7b5dd9662ef7c4cb005587a356e471b3767cffce (patch)
tree5d11c47212f57294f490afe8f212a83cfd89f1b8 /framework
parentad1dd41fc444cf598c1dbfec44a8ce348cb2bb73 (diff)
downloadkube-7b5dd9662ef7c4cb005587a356e471b3767cffce.tar.gz
kube-7b5dd9662ef7c4cb005587a356e471b3767cffce.zip
singlemail controller load mail from akoandi
Diffstat (limited to 'framework')
-rw-r--r--framework/mail/singlemailcontroller.cpp73
-rw-r--r--framework/mail/singlemailcontroller.h31
2 files changed, 26 insertions, 78 deletions
diff --git a/framework/mail/singlemailcontroller.cpp b/framework/mail/singlemailcontroller.cpp
index 68105839..d8595745 100644
--- a/framework/mail/singlemailcontroller.cpp
+++ b/framework/mail/singlemailcontroller.cpp
@@ -1,71 +1,34 @@
1#include "singlemailcontroller.h" 1#include "singlemailcontroller.h"
2 2
3#include <QDebug> 3SingleMailController::SingleMailController(QObject *parent) : QObject(parent), m_model(new MailListModel)
4
5SingleMailController::SingleMailController(QObject *parent): QObject(parent), m_isImportant(false), m_isUnread(true)
6{ 4{
7 5
8} 6}
9 7
10QString SingleMailController::akonadiId() const 8SingleMailController::~SingleMailController()
11{
12 return m_akonadiId;
13}
14
15void SingleMailController::setAkonadiId(const QString &id)
16{ 9{
17 if(m_akonadiId != id) {
18 m_akonadiId = id;
19
20 loadMessage(m_akonadiId);
21 10
22 emit akonadiIdChanged();
23 }
24} 11}
25 12
26QString SingleMailController::message() const 13MailListModel* SingleMailController::model() const
27{ 14{
28 return m_message; 15 return m_model.data();
29} 16}
30 17
31bool SingleMailController::isImportant() const
32{
33 return m_isImportant;
34}
35 18
36bool SingleMailController::isUnread() const 19void SingleMailController::loadMail(const QString &id)
37{ 20{
38 return m_isUnread; 21 Akonadi2::Query query;
39} 22 query.syncOnDemand = false;
40 23 query.processAll = false;
41void SingleMailController::deleteMail() 24 query.liveQuery = false;
42{ 25 query.requestedProperties << "subject" << "sender" << "senderName" << "date" << "unread" << "important";
43 qDebug() << "UserAction: deleteMail: " << m_akonadiId; 26 query.ids << id.toLatin1();
44} 27 m_model->runQuery(query);
45 28
46void SingleMailController::markMailImportant(bool important) 29 qDebug() << "***";
47{ 30 auto srcIdx = m_model->mapToSource(m_model->index(1, 0));
48 qDebug() << "UserAction: markMailImportant: " << m_akonadiId; 31 auto bla = srcIdx.sibling(srcIdx.row(), 3).data(Qt::DisplayRole);
49 32 qDebug() << bla;
50 if (m_isImportant != important) { 33 qDebug() << "***";
51 m_isImportant = important; 34} \ No newline at end of file
52 emit isImportantChanged();
53 }
54}
55
56void SingleMailController::markMailUnread(bool unread)
57{
58 qDebug() << "UserAction: markMailUnread: " << m_akonadiId;
59
60 if (m_isUnread != unread) {
61 m_isUnread = unread;
62 emit isUnreadChanged();
63 }
64}
65
66void SingleMailController::loadMessage(const QString &id)
67{
68 //load message from akoandi
69 m_message = "The message as HTML";
70 emit messageChanged();
71}
diff --git a/framework/mail/singlemailcontroller.h b/framework/mail/singlemailcontroller.h
index e6ec9a22..bdac971c 100644
--- a/framework/mail/singlemailcontroller.h
+++ b/framework/mail/singlemailcontroller.h
@@ -4,41 +4,26 @@
4 4
5#include <QObject> 5#include <QObject>
6#include <QString> 6#include <QString>
7#include <QDateTime>
8#include <QScopedPointer>
7 9
8class SingleMailController : public QObject 10class SingleMailController : public QObject
9{ 11{
10 Q_OBJECT 12 Q_OBJECT
11 Q_PROPERTY (QString akonadiId READ akonadiId WRITE setAkonadiId NOTIFY akonadiIdChanged) 13 Q_PROPERTY (MailListModel *model READ model CONSTANT)
12 Q_PROPERTY (bool isUnread READ isUnread NOTIFY isUnreadChanged)
13 Q_PROPERTY (bool isImportant READ isImportant NOTIFY isImportantChanged)
14 Q_PROPERTY (QString message READ message NOTIFY messageChanged)
15 14
16public: 15public:
17 explicit SingleMailController(QObject *parent = Q_NULLPTR); 16 explicit SingleMailController(QObject *parent = Q_NULLPTR);
17 ~SingleMailController();
18 18
19 QString akonadiId() const; 19 MailListModel *model() const;
20 void setAkonadiId(const QString &id);
21 20
22 bool isUnread() const; 21Q_SIGNALS:
23 bool isImportant() const;
24 QString message() const;
25
26 void loadMessage(const QString &id);
27
28signals:
29 void akonadiIdChanged();
30 void isUnreadChanged();
31 void isImportantChanged();
32 void messageChanged(); 22 void messageChanged();
33 23
34public slots: 24public slots:
35 void deleteMail(); 25 void loadMail(const QString &id);
36 void markMailImportant(bool important);
37 void markMailUnread(bool unread);
38 26
39private: 27private:
40 QString m_akonadiId; 28 QScopedPointer<MailListModel> m_model;
41 bool m_isImportant;
42 bool m_isUnread;
43 QString m_message;
44}; 29};