Redesign database unlock widget. (#3287)

With this change we get rid of the confusing key component checkboxes.
Now a component is either there or not (if left empty). There is
no redundant distinction between "unset" and "emtpy" anymore.
For compatibility with older databases that have "empty" passwords,
KeePassXC will ask if the user wants to retry with an empty password
if unlocking failed and the password field was left blank.

Besides these functional changes, the widget's layout has been
rearranged to be more compact, less stretched out (e.g. input fields
do not fill the full window width anymore), and more user-friendly
by providing a help tooltip for the hardware key field and accessible
descriptions for screen readers.
This commit is contained in:
Janek Bevendorff 2019-06-22 18:00:31 +02:00 committed by GitHub
parent eb9371091a
commit 5492b5c4f6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 578 additions and 299 deletions

View file

@ -28,7 +28,7 @@
OpVaultOpenWidget::OpVaultOpenWidget(QWidget* parent)
: DatabaseOpenWidget(parent)
{
m_ui->labelHeadline->setText("Import 1Password database");
m_ui->labelHeadline->setText("Import 1Password Database");
}
void OpVaultOpenWidget::openDatabase()
@ -36,9 +36,7 @@ void OpVaultOpenWidget::openDatabase()
OpVaultReader reader;
QString password;
if (m_ui->checkPassword->isChecked()) {
password = m_ui->editPassword->text();
}
password = m_ui->editPassword->text();
QDir opVaultDir(m_filename);