diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2017-11-27 11:49:25 +0100 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2017-11-27 11:49:25 +0100 |
commit | a19364666bf5b46636e7fa1ec1071c2fb91100fc (patch) | |
tree | 2fc88bebc2abcd308f31ed0f66dcd1126c16d00c | |
parent | 64a18747e21b244d38c1a8d2682692f07d1e46bd (diff) | |
download | kube-a19364666bf5b46636e7fa1ec1071c2fb91100fc.tar.gz kube-a19364666bf5b46636e7fa1ec1071c2fb91100fc.zip |
Async personal key retrieval
-rw-r--r-- | framework/src/domain/composercontroller.cpp | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/framework/src/domain/composercontroller.cpp b/framework/src/domain/composercontroller.cpp index 75db7346..01aba8c7 100644 --- a/framework/src/domain/composercontroller.cpp +++ b/framework/src/domain/composercontroller.cpp | |||
@@ -281,18 +281,23 @@ ComposerController::ComposerController() | |||
281 | void ComposerController::findPersonalKey() | 281 | void ComposerController::findPersonalKey() |
282 | { | 282 | { |
283 | auto identity = getIdentity(); | 283 | auto identity = getIdentity(); |
284 | SinkLog() << "Looking for personal key for: " << identity.address(); | 284 | asyncRun<std::vector<GpgME::Key>>(this, [=] { |
285 | mPersonalKeys = MailCrypto::findKeys(QStringList{} << identity.address(), true); | 285 | SinkLog() << "Looking for personal key for: " << identity.address(); |
286 | if (mPersonalKeys.empty()) { | 286 | return MailCrypto::findKeys(QStringList{} << identity.address(), true); |
287 | SinkWarning() << "Failed to find a personal key."; | 287 | }, |
288 | } | 288 | [this](const std::vector<GpgME::Key> &keys) { |
289 | if (mPersonalKeys.size() > 1) { | 289 | mPersonalKeys = keys; |
290 | SinkWarning() << "Found multiple keys, using first one:"; | 290 | if (mPersonalKeys.empty()) { |
291 | SinkWarning() << " " << mPersonalKeys.front().primaryFingerprint(); | 291 | SinkWarning() << "Failed to find a personal key."; |
292 | } else { | 292 | } |
293 | SinkLog() << "Found personal key: " << mPersonalKeys.front().primaryFingerprint(); | 293 | if (mPersonalKeys.size() > 1) { |
294 | } | 294 | SinkWarning() << "Found multiple keys, using first one:"; |
295 | updateSendAction(); | 295 | SinkWarning() << " " << mPersonalKeys.front().primaryFingerprint(); |
296 | } else { | ||
297 | SinkLog() << "Found personal key: " << mPersonalKeys.front().primaryFingerprint(); | ||
298 | } | ||
299 | updateSendAction(); | ||
300 | }); | ||
296 | } | 301 | } |
297 | 302 | ||
298 | void ComposerController::clear() | 303 | void ComposerController::clear() |