From f39da702c61685dc9b2437c533f74a3eed04a3e2 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Fri, 24 Nov 2017 13:43:00 +0100 Subject: Ensure we have valid keys before sending --- framework/src/domain/composercontroller.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/framework/src/domain/composercontroller.cpp b/framework/src/domain/composercontroller.cpp index 630f9e10..375d2086 100644 --- a/framework/src/domain/composercontroller.cpp +++ b/framework/src/domain/composercontroller.cpp @@ -218,6 +218,7 @@ void ComposerController::findPersonalKey() auto identity = getIdentity(); SinkLog() << "Looking for personal key for: " << identity.address(); mPersonalKeys = MailCrypto::findKeys(QStringList{} << identity.address(), true); + updateSendAction(); } void ComposerController::clear() @@ -537,6 +538,17 @@ KMime::Message::Ptr ComposerController::assembleMessage() void ComposerController::updateSendAction() { auto enabled = !mToModel->stringList().isEmpty() && !getSubject().isEmpty() && !getAccountId().isEmpty(); + if (getEncrypt()) { + if (!mToModel->foundAllKeys() || !mCcModel->foundAllKeys() || !mBccModel->foundAllKeys()) { + SinkWarning() << "Don't have all keys"; + enabled = false; + } + } + if (getSign()) { + if (mPersonalKeys.empty()) { + enabled = false; + } + } sendAction()->setEnabled(enabled); } -- cgit v1.2.3