summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--framework/src/domain/composercontroller.cpp12
1 files changed, 12 insertions, 0 deletions
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()
218 auto identity = getIdentity(); 218 auto identity = getIdentity();
219 SinkLog() << "Looking for personal key for: " << identity.address(); 219 SinkLog() << "Looking for personal key for: " << identity.address();
220 mPersonalKeys = MailCrypto::findKeys(QStringList{} << identity.address(), true); 220 mPersonalKeys = MailCrypto::findKeys(QStringList{} << identity.address(), true);
221 updateSendAction();
221} 222}
222 223
223void ComposerController::clear() 224void ComposerController::clear()
@@ -537,6 +538,17 @@ KMime::Message::Ptr ComposerController::assembleMessage()
537void ComposerController::updateSendAction() 538void ComposerController::updateSendAction()
538{ 539{
539 auto enabled = !mToModel->stringList().isEmpty() && !getSubject().isEmpty() && !getAccountId().isEmpty(); 540 auto enabled = !mToModel->stringList().isEmpty() && !getSubject().isEmpty() && !getAccountId().isEmpty();
541 if (getEncrypt()) {
542 if (!mToModel->foundAllKeys() || !mCcModel->foundAllKeys() || !mBccModel->foundAllKeys()) {
543 SinkWarning() << "Don't have all keys";
544 enabled = false;
545 }
546 }
547 if (getSign()) {
548 if (mPersonalKeys.empty()) {
549 enabled = false;
550 }
551 }
540 sendAction()->setEnabled(enabled); 552 sendAction()->setEnabled(enabled);
541} 553}
542 554