summaryrefslogtreecommitdiffstats
path: root/framework/domain/composercontroller.cpp
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2016-05-10 15:53:06 +0200
committerChristian Mollekopf <chrigi_1@fastmail.fm>2016-05-10 15:53:06 +0200
commitdf10583b42f49a58d27dd6dd322f22fd88ce1418 (patch)
tree34c2dc39c47b60ebc28130985ac976172da478ad /framework/domain/composercontroller.cpp
parent6e76e328b2adbc20bd2da6628a7f57aaa7afe5b1 (diff)
downloadkube-df10583b42f49a58d27dd6dd322f22fd88ce1418.tar.gz
kube-df10583b42f49a58d27dd6dd322f22fd88ce1418.zip
Support for loading drafts
Diffstat (limited to 'framework/domain/composercontroller.cpp')
-rw-r--r--framework/domain/composercontroller.cpp33
1 files changed, 23 insertions, 10 deletions
diff --git a/framework/domain/composercontroller.cpp b/framework/domain/composercontroller.cpp
index 0cf61442..94914f17 100644
--- a/framework/domain/composercontroller.cpp
+++ b/framework/domain/composercontroller.cpp
@@ -113,17 +113,21 @@ QStringList ComposerController::attachemts() const
113 return m_attachments; 113 return m_attachments;
114} 114}
115 115
116QVariant ComposerController::originalMessage() const
117{
118 return m_originalMessage;
119}
120
121void ComposerController::addAttachment(const QUrl &fileUrl) 116void ComposerController::addAttachment(const QUrl &fileUrl)
122{ 117{
123 m_attachments.append(fileUrl.toString()); 118 m_attachments.append(fileUrl.toString());
124 emit attachmentsChanged(); 119 emit attachmentsChanged();
125} 120}
126 121
122void ComposerController::setMessage(const KMime::Message::Ptr &msg)
123{
124 setTo(msg->to(true)->asUnicodeString());
125 setCc(msg->cc(true)->asUnicodeString());
126 setSubject(msg->subject(true)->asUnicodeString());
127 setBody(msg->body());
128 m_msg = QVariant::fromValue(msg);
129}
130
127void ComposerController::setOriginalMessage(const QVariant &originalMessage) 131void ComposerController::setOriginalMessage(const QVariant &originalMessage)
128{ 132{
129 const auto mailData = KMime::CRLFtoLF(originalMessage.toByteArray()); 133 const auto mailData = KMime::CRLFtoLF(originalMessage.toByteArray());
@@ -133,11 +137,20 @@ void ComposerController::setOriginalMessage(const QVariant &originalMessage)
133 mail->parse(); 137 mail->parse();
134 auto reply = MailTemplates::reply(mail); 138 auto reply = MailTemplates::reply(mail);
135 //We assume reply 139 //We assume reply
136 setTo(reply->to(true)->asUnicodeString()); 140 setMessage(reply);
137 setCc(reply->cc(true)->asUnicodeString()); 141 } else {
138 setSubject(reply->subject(true)->asUnicodeString()); 142 m_msg = QVariant();
139 setBody(reply->body()); 143 }
140 m_msg = QVariant::fromValue(reply); 144}
145
146void ComposerController::setDraftMessage(const QVariant &originalMessage)
147{
148 const auto mailData = KMime::CRLFtoLF(originalMessage.toByteArray());
149 if (!mailData.isEmpty()) {
150 KMime::Message::Ptr mail(new KMime::Message);
151 mail->setContent(mailData);
152 mail->parse();
153 setMessage(mail);
141 } else { 154 } else {
142 m_msg = QVariant(); 155 m_msg = QVariant();
143 } 156 }