mirror of
https://github.com/keepassxreboot/keepassxc.git
synced 2025-12-04 15:39:34 +01:00
Fix issues with database unlock
* Fix #3735 - Don't focus on OpenDatabaseWidget fields that are not visible; ensures password field is focused after database lock. * Fix #3487 - Password input is selected after failed unlock. * Fix #1938 - Password input is focused after toggling visibility using the keyboard
This commit is contained in:
committed by
Janek Bevendorff
parent
6339d61419
commit
837df4f4cb
@@ -58,6 +58,7 @@ DatabaseOpenWidget::DatabaseOpenWidget(QWidget* parent)
|
|||||||
|
|
||||||
m_ui->buttonTogglePassword->setIcon(filePath()->onOffIcon("actions", "password-show"));
|
m_ui->buttonTogglePassword->setIcon(filePath()->onOffIcon("actions", "password-show"));
|
||||||
connect(m_ui->buttonTogglePassword, SIGNAL(toggled(bool)), m_ui->editPassword, SLOT(setShowPassword(bool)));
|
connect(m_ui->buttonTogglePassword, SIGNAL(toggled(bool)), m_ui->editPassword, SLOT(setShowPassword(bool)));
|
||||||
|
connect(m_ui->buttonTogglePassword, SIGNAL(toggled(bool)), m_ui->editPassword, SLOT(setFocus()));
|
||||||
connect(m_ui->buttonBrowseFile, SIGNAL(clicked()), SLOT(browseKeyFile()));
|
connect(m_ui->buttonBrowseFile, SIGNAL(clicked()), SLOT(browseKeyFile()));
|
||||||
|
|
||||||
connect(m_ui->buttonBox, SIGNAL(accepted()), SLOT(openDatabase()));
|
connect(m_ui->buttonBox, SIGNAL(accepted()), SLOT(openDatabase()));
|
||||||
@@ -165,8 +166,6 @@ void DatabaseOpenWidget::load(const QString& filename)
|
|||||||
|
|
||||||
QHash<QString, QVariant> useTouchID = config()->get("UseTouchID").toHash();
|
QHash<QString, QVariant> useTouchID = config()->get("UseTouchID").toHash();
|
||||||
m_ui->checkTouchID->setChecked(useTouchID.value(m_filename, false).toBool());
|
m_ui->checkTouchID->setChecked(useTouchID.value(m_filename, false).toBool());
|
||||||
|
|
||||||
m_ui->editPassword->setFocus();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void DatabaseOpenWidget::clearForms()
|
void DatabaseOpenWidget::clearForms()
|
||||||
@@ -230,6 +229,9 @@ void DatabaseOpenWidget::openDatabase()
|
|||||||
}
|
}
|
||||||
m_retryUnlockWithEmptyPassword = false;
|
m_retryUnlockWithEmptyPassword = false;
|
||||||
m_ui->messageWidget->showMessage(error, MessageWidget::MessageType::Error);
|
m_ui->messageWidget->showMessage(error, MessageWidget::MessageType::Error);
|
||||||
|
// Focus on the password field and select the input for easy retry
|
||||||
|
m_ui->editPassword->selectAll();
|
||||||
|
m_ui->editPassword->setFocus();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user