diff --git a/share/translations/keepassxc_en.ts b/share/translations/keepassxc_en.ts index 787eba384..658a3c538 100644 --- a/share/translations/keepassxc_en.ts +++ b/share/translations/keepassxc_en.ts @@ -278,25 +278,6 @@ <source>Include beta releases when checking for updates</source> <translation type="unfinished"></translation> </message> - <message> - <source>On database unlock, show entries that </source> - <translation type="unfinished"></translation> - </message> - <message> - <source>have expired</source> - <comment>On database unlock, show entries that...</comment> - <translation type="unfinished"></translation> - </message> - <message> - <source> days</source> - <comment>On database unlock, show entries that will expire within %1 days</comment> - <translation type="unfinished"></translation> - </message> - <message> - <source>will expire within </source> - <comment>On database unlock, show entries that...</comment> - <translation type="unfinished"></translation> - </message> <message> <source>File Management</source> <translation type="unfinished"></translation> @@ -499,6 +480,19 @@ <source>Remember last typed entry for:</source> <translation type="unfinished"></translation> </message> + <message> + <source>On database unlock, show entries that will expire within</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>On database unlock, show entries that will expire within </source> + <translation type="unfinished"></translation> + </message> + <message> + <source> days</source> + <comment>number of days warning for password expiration</comment> + <translation type="unfinished"></translation> + </message> <message> <source> recent files</source> <translation type="unfinished"></translation> @@ -6613,7 +6607,7 @@ Do you want to overwrite it?</source> <translation type="unfinished"></translation> </message> <message> - <source>Excluded characters: "0", "1", "l", "I", "O", "|", "﹒"</source> + <source>Excluded characters: "0", "1", "l", "I", "O", "|", "﹒", "B", "8", "G", "6"</source> <translation type="unfinished"></translation> </message> </context> @@ -9691,20 +9685,20 @@ Example: JBSWY3DPEHPK3PXP</source> <source>Challenge-Response set, click to change or remove</source> <translation type="unfinished"></translation> </message> - <message> - <source><p>If you own a <a href="https://www.yubico.com/">YubiKey</a> or <a href="https://onlykey.io">OnlyKey</a>, you can use it for additional security.</p><p>The key requires one of its slots to be programmed as <a href="https://www.yubico.com/products/services-software/challenge-response/">HMAC-SHA1 Challenge-Response</a>.</p></source> - <translation type="unfinished"></translation> - </message> <message> <source>Detecting hardware keys…</source> <translation type="unfinished"></translation> </message> <message> - <source>No hardware keys detected</source> + <source>Refresh hardware keys</source> <translation type="unfinished"></translation> </message> <message> - <source>Refresh hardware keys</source> + <source><p>If you own a <a href="https://www.yubico.com/">YubiKey</a> or <a href="https://onlykey.io">OnlyKey</a>, you can use it for additional security.</p><p>The key requires one of its slots to be programmed with <a href="https://keepassxc.org/docs/#faq-yubikey-howto">Challenge-Response</a>.</p></source> + <translation type="unfinished"></translation> + </message> + <message> + <source>No hardware keys detected</source> <translation type="unfinished"></translation> </message> </context> diff --git a/src/gui/ApplicationSettingsWidgetGeneral.ui b/src/gui/ApplicationSettingsWidgetGeneral.ui index 01215ce27..c3781a852 100644 --- a/src/gui/ApplicationSettingsWidgetGeneral.ui +++ b/src/gui/ApplicationSettingsWidgetGeneral.ui @@ -278,7 +278,7 @@ <item row="0" column="0"> <widget class="QCheckBox" name="showExpiredEntriesOnDatabaseUnlockCheckBox"> <property name="text"> - <string>On database unlock, show entries that </string> + <string>On database unlock, show entries that will expire within</string> </property> </widget> </item> @@ -297,25 +297,19 @@ <enum>Qt::StrongFocus</enum> </property> <property name="accessibleName"> - <string>On database unlock, show entries that </string> - </property> - <property name="specialValueText"> - <string comment="On database unlock, show entries that...">have expired</string> + <string>On database unlock, show entries that will expire within </string> </property> <property name="suffix"> - <string comment="On database unlock, show entries that will expire within %1 days"> days</string> - </property> - <property name="prefix"> - <string comment="On database unlock, show entries that...">will expire within </string> + <string comment="number of days warning for password expiration"> days</string> </property> <property name="minimum"> <number>0</number> </property> <property name="maximum"> - <number>30</number> + <number>90</number> </property> <property name="value"> - <number>0</number> + <number>3</number> </property> </widget> </item> diff --git a/src/gui/DatabaseOpenWidget.cpp b/src/gui/DatabaseOpenWidget.cpp index 6eb5251b8..f4234b572 100644 --- a/src/gui/DatabaseOpenWidget.cpp +++ b/src/gui/DatabaseOpenWidget.cpp @@ -259,6 +259,7 @@ void DatabaseOpenWidget::clearForms() m_ui->keyFileLineEdit->setShowPassword(false); m_ui->keyFileLineEdit->setClearButtonEnabled(true); m_ui->hardwareKeyCombo->clear(); + toggleHardwareKeyComponent(false); toggleQuickUnlockScreen(); m_db.reset(new Database(m_filename)); @@ -523,6 +524,7 @@ void DatabaseOpenWidget::pollHardwareKey(bool manualTrigger) } m_ui->hardwareKeyCombo->setEnabled(false); + m_ui->useHardwareKeyCheckBox->setEnabled(false); m_ui->hardwareKeyProgress->setVisible(true); m_ui->refreshHardwareKeys->setEnabled(false); m_ui->noHardwareKeysFoundLabel->setVisible(false); @@ -537,6 +539,7 @@ void DatabaseOpenWidget::pollHardwareKey(bool manualTrigger) void DatabaseOpenWidget::hardwareKeyResponse(bool found) { + m_ui->useHardwareKeyCheckBox->setEnabled(true); m_ui->hardwareKeyProgress->setVisible(false); m_ui->refreshHardwareKeys->setEnabled(true); m_ui->hardwareKeyCombo->clear(); diff --git a/src/gui/DatabaseOpenWidget.ui b/src/gui/DatabaseOpenWidget.ui index 104ca1959..a045ba82c 100644 --- a/src/gui/DatabaseOpenWidget.ui +++ b/src/gui/DatabaseOpenWidget.ui @@ -59,6 +59,7 @@ <property name="font"> <font> <pointsize>12</pointsize> + <weight>75</weight> <bold>true</bold> </font> </property> @@ -143,7 +144,7 @@ <number>0</number> </property> <property name="bottomMargin"> - <number>0</number> + <number>10</number> </property> <item> <widget class="QLabel" name="passwordLabel"> @@ -155,7 +156,7 @@ <item> <layout class="QVBoxLayout" name="verticalLayout_2"> <property name="spacing"> - <number>0</number> + <number>2</number> </property> <item> <widget class="PasswordWidget" name="editPassword" native="true"> @@ -213,13 +214,13 @@ <number>0</number> </property> <property name="topMargin"> - <number>10</number> + <number>0</number> </property> <property name="rightMargin"> <number>0</number> </property> <property name="bottomMargin"> - <number>15</number> + <number>10</number> </property> <item> <widget class="QLabel" name="selectKeyFileLabel"> @@ -362,7 +363,7 @@ <property name="sizeHint" stdset="0"> <size> <width>40</width> - <height>0</height> + <height>20</height> </size> </property> </spacer> @@ -417,19 +418,6 @@ </layout> </widget> </item> - <item> - <spacer name="verticalSpacer_4"> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>0</width> - <height>5</height> - </size> - </property> - </spacer> - </item> <item> <layout class="QHBoxLayout" name="dialogButtonsLayout"> <property name="spacing"> @@ -511,6 +499,7 @@ <property name="font"> <font> <pointsize>10</pointsize> + <weight>75</weight> <bold>true</bold> </font> </property> diff --git a/src/gui/PasswordGeneratorWidget.ui b/src/gui/PasswordGeneratorWidget.ui index 9c06847e6..34dab2c36 100644 --- a/src/gui/PasswordGeneratorWidget.ui +++ b/src/gui/PasswordGeneratorWidget.ui @@ -716,7 +716,10 @@ QProgressBar::chunk { <item> <widget class="QCheckBox" name="checkBoxExcludeAlike"> <property name="toolTip"> - <string>Excluded characters: "0", "1", "l", "I", "O", "|", "﹒"</string> + <string>Excluded characters: "0", "1", "l", "I", "O", "|", "﹒", "B", "8", "G", "6"</string> + </property> + <property name="accessibleDescription"> + <string>Excluded characters: "0", "1", "l", "I", "O", "|", "﹒", "B", "8", "G", "6"</string> </property> <property name="text"> <string>Exclude look-alike characters</string> diff --git a/src/gui/databasekey/YubiKeyEditWidget.cpp b/src/gui/databasekey/YubiKeyEditWidget.cpp index 857531f73..62ec750b4 100644 --- a/src/gui/databasekey/YubiKeyEditWidget.cpp +++ b/src/gui/databasekey/YubiKeyEditWidget.cpp @@ -141,9 +141,9 @@ void YubiKeyEditWidget::initComponent() m_ui->componentDescription->setText( tr("<p>If you own a <a href=\"https://www.yubico.com/\">YubiKey</a> or " "<a href=\"https://onlykey.io\">OnlyKey</a>, you can use it for additional security.</p>" - "<p>The key requires one of its slots to be programmed as " - "<a href=\"https://www.yubico.com/products/services-software/challenge-response/\">" - "HMAC-SHA1 Challenge-Response</a>.</p>")); + "<p>The key requires one of its slots to be programmed with " + "<a href=\"https://keepassxc.org/docs/#faq-yubikey-howto\">" + "Challenge-Response</a>.</p>")); } void YubiKeyEditWidget::pollYubikey() diff --git a/src/gui/dbsettings/DatabaseSettingsWidgetDatabaseKey.cpp b/src/gui/dbsettings/DatabaseSettingsWidgetDatabaseKey.cpp index 268b3e827..ddf1e6bb6 100644 --- a/src/gui/dbsettings/DatabaseSettingsWidgetDatabaseKey.cpp +++ b/src/gui/dbsettings/DatabaseSettingsWidgetDatabaseKey.cpp @@ -86,7 +86,6 @@ void DatabaseSettingsWidgetDatabaseKey::load(QSharedPointer<Database> db) if (!m_db->key() || m_db->key()->keys().isEmpty()) { // database has no key, we are about to add a new one m_passwordEditWidget->changeVisiblePage(KeyComponentWidget::Page::Edit); - m_passwordEditWidget->setPasswordVisible(true); // Focus won't work until the UI settles QTimer::singleShot(0, m_passwordEditWidget, SLOT(setFocus())); } else {