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.
* Removed automatic password repeat when the password is made visible on changing.
  • Loading branch information
droidmonkey committed Apr 27, 2024
1 parent bb856f8 commit 7ae65dd
Show file tree
Hide file tree
Showing 8 changed files with 3 additions and 37 deletions.
4 changes: 0 additions & 4 deletions share/translations/keepassxc_en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -560,10 +560,6 @@
<source>Lock databases after minimizing the window</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Require password repeat when it is visible</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Hide passwords when editing them</source>
<translation type="unfinished"></translation>
Expand Down
6 changes: 3 additions & 3 deletions src/core/Config.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,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 @@ -332,7 +331,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 @@ -378,7 +377,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 @@ -118,7 +118,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 @@ -318,8 +318,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 @@ -433,7 +431,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 @@ -186,13 +186,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 @@ -288,7 +281,6 @@
<tabstop>clearSearchSpinBox</tabstop>
<tabstop>lockDatabaseOnScreenLockCheckBox</tabstop>
<tabstop>lockDatabaseMinimizeCheckBox</tabstop>
<tabstop>passwordsRepeatVisibleCheckBox</tabstop>
<tabstop>passwordsHiddenCheckBox</tabstop>
<tabstop>passwordShowDotsCheckBox</tabstop>
<tabstop>passwordPreviewCleartextCheckBox</tabstop>
Expand Down
16 changes: 0 additions & 16 deletions src/gui/PasswordWidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -148,8 +148,6 @@ void PasswordWidget::setRepeatPartner(PasswordWidget* repeatPartner)
m_repeatPasswordWidget = repeatPartner;
m_repeatPasswordWidget->setParentPasswordEdit(this);

connect(
m_ui->passwordEdit, SIGNAL(textChanged(QString)), m_repeatPasswordWidget, SLOT(autocompletePassword(QString)));
connect(m_ui->passwordEdit, SIGNAL(textChanged(QString)), m_repeatPasswordWidget, SLOT(updateRepeatStatus()));
}

Expand Down Expand Up @@ -178,12 +176,6 @@ 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);
}
}
}

Expand Down Expand Up @@ -231,14 +223,6 @@ void PasswordWidget::updateRepeatStatus()
}
}

void PasswordWidget::autocompletePassword(const QString& password)
{
if (!config()->get(Config::Security_PasswordsRepeatVisible).toBool()
&& m_ui->passwordEdit->echoMode() == QLineEdit::Normal) {
setText(password);
}
}

bool PasswordWidget::event(QEvent* event)
{
if (isVisible()
Expand Down
1 change: 0 additions & 1 deletion src/gui/PasswordWidget.h
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@ public slots:
bool event(QEvent* event) override;

private slots:
void autocompletePassword(const QString& password);
void popupPasswordGenerator();
void updateRepeatStatus();
void updatePasswordStrength(const QString& 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 7ae65dd

Please sign in to comment.