From 9b1903f4b902a4e9d1aa16888f82d8268c2cf4ef Mon Sep 17 00:00:00 2001 From: Osmium Sorcerer Date: Wed, 23 Sep 2026 21:49:39 +0000 Subject: Add dialogs for hardware key generation UI The key creation is handed off to the platform implementation. Windows will show its own Windows Security UI. On Unix, the application itself provides the PIN directly, enforcing a minimum of six characters. --- src/widgets/aooptionsdialog.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'src/widgets/aooptionsdialog.cpp') diff --git a/src/widgets/aooptionsdialog.cpp b/src/widgets/aooptionsdialog.cpp index d9cbcb8..95b7420 100644 --- a/src/widgets/aooptionsdialog.cpp +++ b/src/widgets/aooptionsdialog.cpp @@ -8,8 +8,8 @@ #include "networkmanager.h" #include "options.h" -// Hopefully temporary. #include "widgets/key_generate_dialog.h" +#include "widgets/hardware_key_generate_dialog.h" #include #include @@ -607,7 +607,7 @@ void AOOptionsDialog::setupUI() KeyGenerateDialog keygen_dialog(this); if (keygen_dialog.exec() == QDialog::Accepted) { - int err = generate_key(keygen_dialog.key_name(), keygen_dialog.key_password()); + int err = generate_software_key(keygen_dialog.key_name(), keygen_dialog.key_password()); if (err) { QMessageBox::warning(this, "Error", QString("Key generation failed, code %1").arg(err)); @@ -615,6 +615,17 @@ void AOOptionsDialog::setupUI() ao_app->keyring_model.load_keys(); } }); + FROM_UI(QPushButton, key_generate_hw); + connect(ui_key_generate_hw, &QPushButton::clicked, this, [=, this] { + HardwareKeyDialog hw_keygen_dialog(this); + if (hw_keygen_dialog.exec() == QDialog::Accepted) + { + ao_app->keyring_model.load_keys(); + } + }); + + ui_key_generate_hw->setEnabled(keyring_hardware_available()); + FROM_UI(QPushButton, key_delete); FROM_UI(QTableView, keyring_table); -- cgit