diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2017-08-11 14:01:47 -0600 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2017-08-11 14:01:47 -0600 |
commit | 0e34fa912174733c958f5795c6113342c17c9780 (patch) | |
tree | 61ea76aadafcca79c7f233a481656712b86e5236 /framework/src/domain/composercontroller.cpp | |
parent | b6ffe9af5a00f93cd5e5dac1ebd8dabc475388e1 (diff) | |
download | kube-0e34fa912174733c958f5795c6113342c17c9780.tar.gz kube-0e34fa912174733c958f5795c6113342c17c9780.zip |
Take personal email addresses into account when replying.
Diffstat (limited to 'framework/src/domain/composercontroller.cpp')
-rw-r--r-- | framework/src/domain/composercontroller.cpp | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/framework/src/domain/composercontroller.cpp b/framework/src/domain/composercontroller.cpp index e4bd6ae2..b6380f50 100644 --- a/framework/src/domain/composercontroller.cpp +++ b/framework/src/domain/composercontroller.cpp | |||
@@ -62,6 +62,15 @@ public: | |||
62 | } | 62 | } |
63 | 63 | ||
64 | } | 64 | } |
65 | |||
66 | QVector<QByteArray> getAllAddresses() | ||
67 | { | ||
68 | QVector<QByteArray> list; | ||
69 | for (int i = 0; i < model()->rowCount(); i++) { | ||
70 | list << model()->data(model()->index(i, 0), IdentitiesModel::Address).toString().toUtf8(); | ||
71 | } | ||
72 | return list; | ||
73 | } | ||
65 | private: | 74 | private: |
66 | ComposerController &mController; | 75 | ComposerController &mController; |
67 | }; | 76 | }; |
@@ -365,10 +374,19 @@ void ComposerController::loadMessage(const QVariant &message, bool loadAsDraft) | |||
365 | if (loadAsDraft) { | 374 | if (loadAsDraft) { |
366 | setMessage(mail); | 375 | setMessage(mail); |
367 | } else { | 376 | } else { |
377 | //Find all personal email addresses to exclude from reply | ||
378 | KMime::Types::AddrSpecList me; | ||
379 | auto list = static_cast<IdentitySelector*>(mIdentitySelector.data())->getAllAddresses(); | ||
380 | for (const auto &a : list) { | ||
381 | KMime::Types::Mailbox mb; | ||
382 | mb.setAddress(a); | ||
383 | me << mb.addrSpec(); | ||
384 | } | ||
385 | |||
368 | MailTemplates::reply(mail, [this] (const KMime::Message::Ptr &reply) { | 386 | MailTemplates::reply(mail, [this] (const KMime::Message::Ptr &reply) { |
369 | //We assume reply | 387 | //We assume reply |
370 | setMessage(reply); | 388 | setMessage(reply); |
371 | }); | 389 | }, me); |
372 | } | 390 | } |
373 | } else { | 391 | } else { |
374 | qWarning() << "Retrieved empty message"; | 392 | qWarning() << "Retrieved empty message"; |