aboutsummaryrefslogtreecommitdiffstats
path: root/src/ui/dialog/key_generate/KeyGenerateDialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/dialog/key_generate/KeyGenerateDialog.cpp')
-rw-r--r--src/ui/dialog/key_generate/KeyGenerateDialog.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/ui/dialog/key_generate/KeyGenerateDialog.cpp b/src/ui/dialog/key_generate/KeyGenerateDialog.cpp
index 53ff3b1d..ab3a5ac8 100644
--- a/src/ui/dialog/key_generate/KeyGenerateDialog.cpp
+++ b/src/ui/dialog/key_generate/KeyGenerateDialog.cpp
@@ -252,6 +252,8 @@ void KeyGenerateDialog::refresh_widgets_state() {
ui_->pExpireCheckBox->setChecked(gen_key_info_->IsNonExpired());
ui_->pExpireCheckBox->blockSignals(false);
+ ui_->generateButton->setDisabled(false);
+
if (gen_subkey_info_ == nullptr) {
ui_->sTab->setDisabled(true);
@@ -460,11 +462,7 @@ void KeyGenerateDialog::sync_gen_key_algo_info() {
supported_primary_key_algos_);
- ui_->generateButton->setDisabled(!found);
-
- if (found) {
- gen_key_info_->SetAlgo(algo);
- }
+ if (found) gen_key_info_->SetAlgo(found ? algo : KeyGenerateInfo::kNoneAlgo);
}
void KeyGenerateDialog::sync_gen_subkey_algo_info() {
@@ -472,8 +470,9 @@ void KeyGenerateDialog::sync_gen_subkey_algo_info() {
auto [s_found, algo] = GetAlgoByName(ui_->sAlgoComboBox->currentText(),
supported_subkey_algos_);
- ui_->generateButton->setDisabled(!s_found);
- if (s_found) gen_subkey_info_->SetAlgo(algo);
+ if (s_found) {
+ gen_subkey_info_->SetAlgo(s_found ? algo : KeyGenerateInfo::kNoneAlgo);
+ }
}
}