diff options
Diffstat (limited to 'src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp')
-rw-r--r-- | src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp b/src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp index ea175f3e..79a28176 100644 --- a/src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp +++ b/src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp @@ -294,7 +294,9 @@ void KeyPairSubkeyTab::slot_add_adsk() { auto* dialog = new ADSKsPicker( current_gpg_context_channel_, - [=](GpgAbstractKey* key) { return !except_key_ids.contains(key->ID()); }, + [=](const GpgAbstractKey* key) { + return !except_key_ids.contains(key->ID()); + }, this); dialog->exec(); @@ -474,8 +476,9 @@ void KeyPairSubkeyTab::contextMenuEvent(QContextMenuEvent* event) { export_subkey_act_->setDisabled(!s_key.IsSecretKey()); edit_subkey_act_->setDisabled(!s_key.IsSecretKey()); - delete_subkey_act_->setDisabled(!s_key.IsSecretKey()); - revoke_subkey_act_->setDisabled(!s_key.IsSecretKey() || s_key.IsRevoked()); + delete_subkey_act_->setDisabled(!s_key.IsSecretKey() && !s_key.IsADSK()); + revoke_subkey_act_->setDisabled((!s_key.IsSecretKey() && !s_key.IsADSK()) || + s_key.IsRevoked()); subkey_opera_menu_->exec(event->globalPos()); } |