From 7b5dd9662ef7c4cb005587a356e471b3767cffce Mon Sep 17 00:00:00 2001 From: Michael Bohlender Date: Thu, 17 Dec 2015 20:41:02 +0100 Subject: singlemail controller load mail from akoandi --- framework/mail/singlemailcontroller.cpp | 73 ++++++++------------------------- framework/mail/singlemailcontroller.h | 31 ++++---------- 2 files changed, 26 insertions(+), 78 deletions(-) (limited to 'framework') 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 @@ #include "singlemailcontroller.h" -#include - -SingleMailController::SingleMailController(QObject *parent): QObject(parent), m_isImportant(false), m_isUnread(true) +SingleMailController::SingleMailController(QObject *parent) : QObject(parent), m_model(new MailListModel) { } -QString SingleMailController::akonadiId() const -{ - return m_akonadiId; -} - -void SingleMailController::setAkonadiId(const QString &id) +SingleMailController::~SingleMailController() { - if(m_akonadiId != id) { - m_akonadiId = id; - - loadMessage(m_akonadiId); - emit akonadiIdChanged(); - } } -QString SingleMailController::message() const +MailListModel* SingleMailController::model() const { - return m_message; + return m_model.data(); } -bool SingleMailController::isImportant() const -{ - return m_isImportant; -} -bool SingleMailController::isUnread() const +void SingleMailController::loadMail(const QString &id) { - return m_isUnread; -} - -void SingleMailController::deleteMail() -{ - qDebug() << "UserAction: deleteMail: " << m_akonadiId; -} + Akonadi2::Query query; + query.syncOnDemand = false; + query.processAll = false; + query.liveQuery = false; + query.requestedProperties << "subject" << "sender" << "senderName" << "date" << "unread" << "important"; + query.ids << id.toLatin1(); + m_model->runQuery(query); -void SingleMailController::markMailImportant(bool important) -{ - qDebug() << "UserAction: markMailImportant: " << m_akonadiId; - - if (m_isImportant != important) { - m_isImportant = important; - emit isImportantChanged(); - } -} - -void SingleMailController::markMailUnread(bool unread) -{ - qDebug() << "UserAction: markMailUnread: " << m_akonadiId; - - if (m_isUnread != unread) { - m_isUnread = unread; - emit isUnreadChanged(); - } -} - -void SingleMailController::loadMessage(const QString &id) -{ - //load message from akoandi - m_message = "The message as HTML"; - emit messageChanged(); -} + qDebug() << "***"; + auto srcIdx = m_model->mapToSource(m_model->index(1, 0)); + auto bla = srcIdx.sibling(srcIdx.row(), 3).data(Qt::DisplayRole); + qDebug() << bla; + qDebug() << "***"; +} \ No newline at end of file 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 @@ #include #include +#include +#include class SingleMailController : public QObject { Q_OBJECT - Q_PROPERTY (QString akonadiId READ akonadiId WRITE setAkonadiId NOTIFY akonadiIdChanged) - Q_PROPERTY (bool isUnread READ isUnread NOTIFY isUnreadChanged) - Q_PROPERTY (bool isImportant READ isImportant NOTIFY isImportantChanged) - Q_PROPERTY (QString message READ message NOTIFY messageChanged) + Q_PROPERTY (MailListModel *model READ model CONSTANT) public: explicit SingleMailController(QObject *parent = Q_NULLPTR); + ~SingleMailController(); - QString akonadiId() const; - void setAkonadiId(const QString &id); + MailListModel *model() const; - bool isUnread() const; - bool isImportant() const; - QString message() const; - - void loadMessage(const QString &id); - -signals: - void akonadiIdChanged(); - void isUnreadChanged(); - void isImportantChanged(); +Q_SIGNALS: void messageChanged(); public slots: - void deleteMail(); - void markMailImportant(bool important); - void markMailUnread(bool unread); + void loadMail(const QString &id); private: - QString m_akonadiId; - bool m_isImportant; - bool m_isUnread; - QString m_message; + QScopedPointer m_model; }; -- cgit v1.2.3