diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2016-05-10 15:53:06 +0200 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2016-05-10 15:53:06 +0200 |
commit | df10583b42f49a58d27dd6dd322f22fd88ce1418 (patch) | |
tree | 34c2dc39c47b60ebc28130985ac976172da478ad /framework/domain/composercontroller.cpp | |
parent | 6e76e328b2adbc20bd2da6628a7f57aaa7afe5b1 (diff) | |
download | kube-df10583b42f49a58d27dd6dd322f22fd88ce1418.tar.gz kube-df10583b42f49a58d27dd6dd322f22fd88ce1418.zip |
Support for loading drafts
Diffstat (limited to 'framework/domain/composercontroller.cpp')
-rw-r--r-- | framework/domain/composercontroller.cpp | 33 |
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 | ||
116 | QVariant ComposerController::originalMessage() const | ||
117 | { | ||
118 | return m_originalMessage; | ||
119 | } | ||
120 | |||
121 | void ComposerController::addAttachment(const QUrl &fileUrl) | 116 | void 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 | ||
122 | void 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 | |||
127 | void ComposerController::setOriginalMessage(const QVariant &originalMessage) | 131 | void 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 | |||
146 | void 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 | } |