aboutsummaryrefslogtreecommitdiffstats
path: root/src/ui/dialog
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/dialog')
-rw-r--r--src/ui/dialog/key_generate/KeyGenerateDialog.cpp9
-rw-r--r--src/ui/dialog/key_generate/SubkeyGenerateDialog.cpp7
-rw-r--r--src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp14
3 files changed, 24 insertions, 6 deletions
diff --git a/src/ui/dialog/key_generate/KeyGenerateDialog.cpp b/src/ui/dialog/key_generate/KeyGenerateDialog.cpp
index d738029d..df8b5232 100644
--- a/src/ui/dialog/key_generate/KeyGenerateDialog.cpp
+++ b/src/ui/dialog/key_generate/KeyGenerateDialog.cpp
@@ -49,8 +49,9 @@ KeyGenerateDialog::KeyGenerateDialog(int channel, QWidget* parent)
ui_(QSharedPointer<Ui_KeyGenDialog>::create()),
gen_key_info_(QSharedPointer<KeyGenerateInfo>::create()),
gen_subkey_info_(nullptr),
- supported_primary_key_algos_(KeyGenerateInfo::GetSupportedKeyAlgo()),
- supported_subkey_algos_(KeyGenerateInfo::GetSupportedSubkeyAlgo()),
+ supported_primary_key_algos_(
+ KeyGenerateInfo::GetSupportedKeyAlgo(channel)),
+ supported_subkey_algos_(KeyGenerateInfo::GetSupportedSubkeyAlgo(channel)),
channel_(channel) {
ui_->setupUi(this);
@@ -146,6 +147,10 @@ KeyGenerateDialog::KeyGenerateDialog(int channel, QWidget* parent)
this->setWindowTitle(tr("Generate Key"));
this->setAttribute(Qt::WA_DeleteOnClose);
this->setModal(true);
+
+ this->show();
+ this->raise();
+ this->activateWindow();
}
void KeyGenerateDialog::slot_key_gen_accept() {
diff --git a/src/ui/dialog/key_generate/SubkeyGenerateDialog.cpp b/src/ui/dialog/key_generate/SubkeyGenerateDialog.cpp
index fd592733..68c68765 100644
--- a/src/ui/dialog/key_generate/SubkeyGenerateDialog.cpp
+++ b/src/ui/dialog/key_generate/SubkeyGenerateDialog.cpp
@@ -50,7 +50,8 @@ SubkeyGenerateDialog::SubkeyGenerateDialog(int channel, GpgKeyPtr key,
current_gpg_context_channel_(channel),
key_(std::move(key)),
gen_subkey_info_(QSharedPointer<KeyGenerateInfo>::create(true)),
- supported_subkey_algos_(KeyGenerateInfo::GetSupportedSubkeyAlgo()) {
+ supported_subkey_algos_(KeyGenerateInfo::GetSupportedSubkeyAlgo(
+ current_gpg_context_channel_)) {
ui_->setupUi(this);
assert(key_ != nullptr);
@@ -88,6 +89,10 @@ SubkeyGenerateDialog::SubkeyGenerateDialog(int channel, GpgKeyPtr key,
set_signal_slot_config();
refresh_widgets_state();
+
+ this->show();
+ this->raise();
+ this->activateWindow();
}
void SubkeyGenerateDialog::set_signal_slot_config() {
diff --git a/src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp b/src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp
index 73e7f4e5..b8942b94 100644
--- a/src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp
+++ b/src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp
@@ -66,6 +66,11 @@ KeyPairSubkeyTab::KeyPairSubkeyTab(int channel, GpgKeyPtr key, QWidget* parent)
add_adsk_button->hide();
}
+ if (!CheckGpgVersion(channel, "2.4.1")) {
+ add_adsk_button->setDisabled(true);
+ add_adsk_button->hide();
+ }
+
uid_buttons_layout->addWidget(add_subkey_button, 0, 0);
uid_buttons_layout->addWidget(add_adsk_button, 0, 1);
@@ -277,9 +282,12 @@ void KeyPairSubkeyTab::slot_refresh_subkey_list() {
}
void KeyPairSubkeyTab::slot_add_subkey() {
- auto* dialog =
- new SubkeyGenerateDialog(current_gpg_context_channel_, key_, this);
- dialog->show();
+ if (!CheckGpgVersion(current_gpg_context_channel_, "2.2.0")) {
+ CommonUtils::RaiseMessageBoxNotSupported(this);
+ return;
+ }
+
+ new SubkeyGenerateDialog(current_gpg_context_channel_, key_, this);
}
void KeyPairSubkeyTab::slot_add_adsk() {