diff options
Diffstat (limited to 'framework/src/domain/composercontroller.cpp')
-rw-r--r-- | framework/src/domain/composercontroller.cpp | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/framework/src/domain/composercontroller.cpp b/framework/src/domain/composercontroller.cpp index 311c79f3..e4bd6ae2 100644 --- a/framework/src/domain/composercontroller.cpp +++ b/framework/src/domain/composercontroller.cpp | |||
@@ -22,7 +22,6 @@ | |||
22 | #include "composercontroller.h" | 22 | #include "composercontroller.h" |
23 | #include <settings/settings.h> | 23 | #include <settings/settings.h> |
24 | #include <KMime/Message> | 24 | #include <KMime/Message> |
25 | #include <KCodecs/KEmailAddress> | ||
26 | #include <QVariant> | 25 | #include <QVariant> |
27 | #include <QSortFilterProxyModel> | 26 | #include <QSortFilterProxyModel> |
28 | #include <QList> | 27 | #include <QList> |
@@ -250,24 +249,25 @@ Selector *ComposerController::identitySelector() const | |||
250 | return mIdentitySelector.data(); | 249 | return mIdentitySelector.data(); |
251 | } | 250 | } |
252 | 251 | ||
253 | static void applyAddresses(const QStringList &list, std::function<void(const QByteArray &, const QByteArray &)> callback) | 252 | static void applyAddresses(const KMime::Types::Mailbox::List &list, std::function<void(const QByteArray &, const QByteArray &)> callback) |
254 | { | 253 | { |
255 | for (const auto &to : list) { | 254 | for (const auto &to : list) { |
256 | QByteArray displayName; | 255 | callback(to.address(), to.name().toUtf8()); |
257 | QByteArray addrSpec; | ||
258 | QByteArray comment; | ||
259 | KEmailAddress::splitAddress(to.toUtf8(), displayName, addrSpec, comment); | ||
260 | callback(addrSpec, displayName); | ||
261 | } | 256 | } |
262 | } | 257 | } |
263 | 258 | ||
264 | static void applyAddresses(const QString &list, std::function<void(const QByteArray &, const QByteArray &)> callback) | 259 | static void applyAddresses(const QStringList &list, std::function<void(const QByteArray &, const QByteArray &)> callback) |
265 | { | 260 | { |
266 | applyAddresses(KEmailAddress::splitAddressList(list), callback); | 261 | KMime::Types::Mailbox::List mailboxes; |
262 | for (const auto &s : list) { | ||
263 | KMime::Types::Mailbox mb; | ||
264 | mb.fromUnicodeString(s); | ||
265 | mailboxes << mb; | ||
266 | } | ||
267 | applyAddresses(mailboxes, callback); | ||
267 | } | 268 | } |
268 | 269 | ||
269 | 270 | static QStringList getStringListFromAddresses(const KMime::Types::Mailbox::List &s) | |
270 | static QStringList getStringListFromAddresses(const QString &s) | ||
271 | { | 271 | { |
272 | QStringList list; | 272 | QStringList list; |
273 | applyAddresses(s, [&](const QByteArray &addrSpec, const QByteArray &displayName) { | 273 | applyAddresses(s, [&](const QByteArray &addrSpec, const QByteArray &displayName) { |
@@ -332,9 +332,9 @@ void ComposerController::addAttachmentPart(KMime::Content *partToAttach) | |||
332 | 332 | ||
333 | void ComposerController::setMessage(const KMime::Message::Ptr &msg) | 333 | void ComposerController::setMessage(const KMime::Message::Ptr &msg) |
334 | { | 334 | { |
335 | mToModel->setStringList(getStringListFromAddresses(msg->to(true)->asUnicodeString())); | 335 | mToModel->setStringList(getStringListFromAddresses(msg->to(true)->mailboxes())); |
336 | mCcModel->setStringList(getStringListFromAddresses(msg->cc(true)->asUnicodeString())); | 336 | mCcModel->setStringList(getStringListFromAddresses(msg->cc(true)->mailboxes())); |
337 | mBccModel->setStringList(getStringListFromAddresses(msg->bcc(true)->asUnicodeString())); | 337 | mBccModel->setStringList(getStringListFromAddresses(msg->bcc(true)->mailboxes())); |
338 | 338 | ||
339 | setSubject(msg->subject(true)->asUnicodeString()); | 339 | setSubject(msg->subject(true)->asUnicodeString()); |
340 | setBody(MailTemplates::plaintextContent(msg)); | 340 | setBody(MailTemplates::plaintextContent(msg)); |