diff options
Diffstat (limited to 'framework/domain/composercontroller.cpp')
-rw-r--r-- | framework/domain/composercontroller.cpp | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/framework/domain/composercontroller.cpp b/framework/domain/composercontroller.cpp index 207c5047..3328d9eb 100644 --- a/framework/domain/composercontroller.cpp +++ b/framework/domain/composercontroller.cpp | |||
@@ -132,9 +132,12 @@ void ComposerController::setMessage(const KMime::Message::Ptr &msg) | |||
132 | 132 | ||
133 | void ComposerController::loadMessage(const QVariant &message, bool loadAsDraft) | 133 | void ComposerController::loadMessage(const QVariant &message, bool loadAsDraft) |
134 | { | 134 | { |
135 | Sink::Query query(*message.value<Sink::ApplicationDomain::Mail::Ptr>()); | 135 | using namespace Sink; |
136 | query.request<Sink::ApplicationDomain::Mail::MimeMessage>(); | 136 | using namespace Sink::ApplicationDomain; |
137 | Sink::Store::fetchOne<Sink::ApplicationDomain::Mail>(query).then([this, loadAsDraft](const Sink::ApplicationDomain::Mail &mail) { | 137 | |
138 | Query query(*message.value<Mail::Ptr>()); | ||
139 | query.request<Mail::MimeMessage>(); | ||
140 | Store::fetchOne<Mail>(query).then([this, loadAsDraft](const Mail &mail) { | ||
138 | setExistingMail(mail); | 141 | setExistingMail(mail); |
139 | 142 | ||
140 | //TODO this should probably happen as reaction to the property being set. | 143 | //TODO this should probably happen as reaction to the property being set. |
@@ -227,10 +230,10 @@ void ComposerController::send() | |||
227 | 230 | ||
228 | Q_ASSERT(!accountId.isEmpty()); | 231 | Q_ASSERT(!accountId.isEmpty()); |
229 | Query query; | 232 | Query query; |
230 | query.containsFilter<ApplicationDomain::SinkResource::Capabilities>(ApplicationDomain::ResourceCapabilities::Mail::transport); | 233 | query.containsFilter<SinkResource::Capabilities>(ResourceCapabilities::Mail::transport); |
231 | query.filter<SinkResource::Account>(accountId); | 234 | query.filter<SinkResource::Account>(accountId); |
232 | auto job = Store::fetchAll<ApplicationDomain::SinkResource>(query) | 235 | auto job = Store::fetchAll<SinkResource>(query) |
233 | .then([=](const QList<ApplicationDomain::SinkResource::Ptr> &resources) { | 236 | .then([=](const QList<SinkResource::Ptr> &resources) { |
234 | if (!resources.isEmpty()) { | 237 | if (!resources.isEmpty()) { |
235 | auto resourceId = resources[0]->identifier(); | 238 | auto resourceId = resources[0]->identifier(); |
236 | SinkLog() << "Sending message via resource: " << resourceId; | 239 | SinkLog() << "Sending message via resource: " << resourceId; |
@@ -278,7 +281,7 @@ void ComposerController::saveAsDraft() | |||
278 | if (existingMail.identifier().isEmpty()) { | 281 | if (existingMail.identifier().isEmpty()) { |
279 | SinkLog() << "Creating a new draft" << existingMail.identifier(); | 282 | SinkLog() << "Creating a new draft" << existingMail.identifier(); |
280 | Query query; | 283 | Query query; |
281 | query.containsFilter<SinkResource::Capabilities>(ApplicationDomain::ResourceCapabilities::Mail::drafts); | 284 | query.containsFilter<SinkResource::Capabilities>(ResourceCapabilities::Mail::drafts); |
282 | query.filter<SinkResource::Account>(accountId); | 285 | query.filter<SinkResource::Account>(accountId); |
283 | return Store::fetchOne<SinkResource>(query) | 286 | return Store::fetchOne<SinkResource>(query) |
284 | .then([=](const SinkResource &resource) { | 287 | .then([=](const SinkResource &resource) { |