From 8f98d390e3887215d2757b5a2294685b01b7a71b Mon Sep 17 00:00:00 2001 From: Jonathan White Date: Mon, 29 Apr 2024 17:15:25 -0400 Subject: [PATCH] Keep key file text when provided on command line * Fixes #10552 --- src/gui/DatabaseOpenWidget.cpp | 21 +++++---------------- src/gui/DatabaseOpenWidget.h | 1 - 2 files changed, 5 insertions(+), 17 deletions(-) diff --git a/src/gui/DatabaseOpenWidget.cpp b/src/gui/DatabaseOpenWidget.cpp index cffabdca8..501e921dc 100644 --- a/src/gui/DatabaseOpenWidget.cpp +++ b/src/gui/DatabaseOpenWidget.cpp @@ -97,19 +97,15 @@ DatabaseOpenWidget::DatabaseOpenWidget(QWidget* parent) connect(m_ui->buttonBox, SIGNAL(accepted()), SLOT(openDatabase())); connect(m_ui->buttonBox, SIGNAL(rejected()), SLOT(reject())); - connect(m_ui->addKeyFileLinkLabel, &QLabel::linkActivated, this, [&](const QString&) { - if (browseKeyFile()) { - toggleKeyFileComponent(true); - } - }); + connect(m_ui->addKeyFileLinkLabel, &QLabel::linkActivated, this, &DatabaseOpenWidget::browseKeyFile); connect(m_ui->keyFileLineEdit, &PasswordWidget::textChanged, this, [&](const QString& text) { - if (text.isEmpty() && m_ui->keyFileLineEdit->isVisible()) { - toggleKeyFileComponent(false); - } + bool state = !text.isEmpty(); + m_ui->addKeyFileLinkLabel->setVisible(!state); + m_ui->selectKeyFileComponent->setVisible(state); }); connect(m_ui->useHardwareKeyCheckBox, &QCheckBox::toggled, m_ui->hardwareKeyCombo, &QComboBox::setEnabled); - toggleKeyFileComponent(false); + m_ui->selectKeyFileComponent->setVisible(false); toggleHardwareKeyComponent(false); QSizePolicy sp = m_ui->hardwareKeyProgress->sizePolicy(); @@ -152,12 +148,6 @@ DatabaseOpenWidget::~DatabaseOpenWidget() { } -void DatabaseOpenWidget::toggleKeyFileComponent(bool state) -{ - m_ui->addKeyFileLinkLabel->setVisible(!state); - m_ui->selectKeyFileComponent->setVisible(state); -} - void DatabaseOpenWidget::toggleHardwareKeyComponent(bool state) { m_ui->hardwareKeyProgress->setVisible(false); @@ -247,7 +237,6 @@ void DatabaseOpenWidget::load(const QString& filename) auto lastKeyFiles = config()->get(Config::LastKeyFiles).toHash(); if (lastKeyFiles.contains(m_filename)) { m_ui->keyFileLineEdit->setText(lastKeyFiles[m_filename].toString()); - toggleKeyFileComponent(true); } } diff --git a/src/gui/DatabaseOpenWidget.h b/src/gui/DatabaseOpenWidget.h index 0ba120210..5b7feffd2 100644 --- a/src/gui/DatabaseOpenWidget.h +++ b/src/gui/DatabaseOpenWidget.h @@ -78,7 +78,6 @@ protected slots: private slots: bool browseKeyFile(); - void toggleKeyFileComponent(bool state); void toggleHardwareKeyComponent(bool state); void pollHardwareKey(bool manualTrigger = false); void hardwareKeyResponse(bool found);