Skip to content

Commit

Permalink
Remove password repeat application setting
Browse files Browse the repository at this point in the history
* This removes the application setting to require typing the password in again even though it is visible.
* The behavior now is fixed such that when setting up your database password, if you make it visible you no longer need to type it into the repeat field.
  • Loading branch information
droidmonkey committed Jan 14, 2024
1 parent 7bfe906 commit e775f69
Show file tree
Hide file tree
Showing 6 changed files with 7 additions and 24 deletions.
6 changes: 3 additions & 3 deletions src/core/Config.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,6 @@ static const QHash<Config::ConfigKey, ConfigDirective> configStrings = {
{Config::Security_LockDatabaseMinimize, {QS("Security/LockDatabaseMinimize"), Roaming, false}},
{Config::Security_LockDatabaseScreenLock, {QS("Security/LockDatabaseScreenLock"), Roaming, true}},
{Config::Security_RelockAutoType, {QS("Security/RelockAutoType"), Roaming, false}},
{Config::Security_PasswordsRepeatVisible, {QS("Security/PasswordsRepeatVisible"), Roaming, true}},
{Config::Security_PasswordsHidden, {QS("Security/PasswordsHidden"), Roaming, true}},
{Config::Security_PasswordEmptyPlaceholder, {QS("Security/PasswordEmptyPlaceholder"), Roaming, false}},
{Config::Security_HidePasswordPreviewPanel, {QS("Security/HidePasswordPreviewPanel"), Roaming, true}},
Expand Down Expand Up @@ -328,7 +327,7 @@ static const QHash<QString, Config::ConfigKey> deprecationMap = {
{QS("security/passwordscleartext"), Config::Security_PasswordsHidden},
{QS("security/passwordemptynodots"), Config::Security_PasswordEmptyPlaceholder},
{QS("security/HidePasswordPreviewPanel"), Config::Security_HidePasswordPreviewPanel},
{QS("security/passwordsrepeat"), Config::Security_PasswordsRepeatVisible},
{QS("security/passwordsrepeat"), Config::Deleted},
{QS("security/hidenotes"), Config::Security_HideNotes},
{QS("KeeShare/Settings.own"), Config::KeeShare_Own},
{QS("KeeShare/Settings.foreign"), Config::KeeShare_Foreign},
Expand Down Expand Up @@ -374,7 +373,8 @@ static const QHash<QString, Config::ConfigKey> deprecationMap = {
{QS("Security/ResetTouchIdScreenlock"), Config::Deleted},

// 2.8.0
{QS("GUI/AdvancedSettings"), Config::Deleted}};
{QS("GUI/AdvancedSettings"), Config::Deleted},
{QS("Security/PasswordsRepeatVisible"), Config::Deleted}};

/**
* Migrate settings from previous versions.
Expand Down
1 change: 0 additions & 1 deletion src/core/Config.h
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,6 @@ class Config : public QObject
Security_LockDatabaseMinimize,
Security_LockDatabaseScreenLock,
Security_RelockAutoType,
Security_PasswordsRepeatVisible,
Security_PasswordsHidden,
Security_PasswordEmptyPlaceholder,
Security_HidePasswordPreviewPanel,
Expand Down
3 changes: 0 additions & 3 deletions src/gui/ApplicationSettingsWidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -301,8 +301,6 @@ void ApplicationSettingsWidget::loadSettings()
m_secUi->passwordPreviewCleartextCheckBox->setChecked(
config()->get(Config::Security_HidePasswordPreviewPanel).toBool());
m_secUi->hideTotpCheckBox->setChecked(config()->get(Config::Security_HideTotpPreviewPanel).toBool());
m_secUi->passwordsRepeatVisibleCheckBox->setChecked(
config()->get(Config::Security_PasswordsRepeatVisible).toBool());
m_secUi->hideNotesCheckBox->setChecked(config()->get(Config::Security_HideNotes).toBool());
m_secUi->NoConfirmMoveEntryToRecycleBinCheckBox->setChecked(
config()->get(Config::Security_NoConfirmMoveEntryToRecycleBin).toBool());
Expand Down Expand Up @@ -416,7 +414,6 @@ void ApplicationSettingsWidget::saveSettings()

config()->set(Config::Security_HidePasswordPreviewPanel, m_secUi->passwordPreviewCleartextCheckBox->isChecked());
config()->set(Config::Security_HideTotpPreviewPanel, m_secUi->hideTotpCheckBox->isChecked());
config()->set(Config::Security_PasswordsRepeatVisible, m_secUi->passwordsRepeatVisibleCheckBox->isChecked());
config()->set(Config::Security_HideNotes, m_secUi->hideNotesCheckBox->isChecked());
config()->set(Config::Security_NoConfirmMoveEntryToRecycleBin,
m_secUi->NoConfirmMoveEntryToRecycleBinCheckBox->isChecked());
Expand Down
8 changes: 0 additions & 8 deletions src/gui/ApplicationSettingsWidgetSecurity.ui
Original file line number Diff line number Diff line change
Expand Up @@ -183,13 +183,6 @@
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="passwordsRepeatVisibleCheckBox">
<property name="text">
<string>Require password repeat when it is visible</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="passwordsHiddenCheckBox">
<property name="text">
Expand Down Expand Up @@ -285,7 +278,6 @@
<tabstop>clearSearchSpinBox</tabstop>
<tabstop>lockDatabaseOnScreenLockCheckBox</tabstop>
<tabstop>lockDatabaseMinimizeCheckBox</tabstop>
<tabstop>passwordsRepeatVisibleCheckBox</tabstop>
<tabstop>passwordsHiddenCheckBox</tabstop>
<tabstop>passwordShowDotsCheckBox</tabstop>
<tabstop>passwordPreviewCleartextCheckBox</tabstop>
Expand Down
12 changes: 4 additions & 8 deletions src/gui/PasswordWidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -178,12 +178,8 @@ void PasswordWidget::setShowPassword(bool show)

if (m_repeatPasswordWidget) {
m_repeatPasswordWidget->setEchoMode(show ? QLineEdit::Normal : QLineEdit::Password);
if (!config()->get(Config::Security_PasswordsRepeatVisible).toBool()) {
m_repeatPasswordWidget->setEnabled(!show);
m_repeatPasswordWidget->setText(text());
} else {
m_repeatPasswordWidget->setEnabled(true);
}
m_repeatPasswordWidget->setEnabled(!show);
m_repeatPasswordWidget->setText(text());
}
}

Expand Down Expand Up @@ -233,8 +229,8 @@ void PasswordWidget::updateRepeatStatus()

void PasswordWidget::autocompletePassword(const QString& password)
{
if (!config()->get(Config::Security_PasswordsRepeatVisible).toBool()
&& m_ui->passwordEdit->echoMode() == QLineEdit::Normal) {
// If the password is visible, always copy it into the repeat field
if (m_ui->passwordEdit->echoMode() == QLineEdit::Normal) {
setText(password);
}
}
Expand Down
1 change: 0 additions & 1 deletion tests/TestConfig.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ void TestConfig::testUpgrade()
Config::createConfigFromFile(tempFile.fileName());

// value of new setting should be opposite the value of deprecated setting
QVERIFY(!config()->get(Config::Security_PasswordsRepeatVisible).toBool());
QVERIFY(!config()->get(Config::Security_PasswordsHidden).toBool());
QVERIFY(config()->get(Config::Security_PasswordEmptyPlaceholder).toBool());

Expand Down

0 comments on commit e775f69

Please sign in to comment.