diff --git a/src/gui/DatabaseOpenWidget.cpp b/src/gui/DatabaseOpenWidget.cpp index d1ae5278..67af3ff1 100644 --- a/src/gui/DatabaseOpenWidget.cpp +++ b/src/gui/DatabaseOpenWidget.cpp @@ -184,7 +184,9 @@ void DatabaseOpenWidget::openDatabase() return; } - m_ui->editPassword->setShowPassword(false); + if (!m_ui->editPassword->isPasswordVisible()) { + m_ui->editPassword->setShowPassword(false); + } QCoreApplication::processEvents(); QFile file(m_filename); diff --git a/src/gui/PasswordEdit.cpp b/src/gui/PasswordEdit.cpp index 94125acf..33d02217 100644 --- a/src/gui/PasswordEdit.cpp +++ b/src/gui/PasswordEdit.cpp @@ -71,6 +71,10 @@ void PasswordEdit::setShowPassword(bool show) emit showPasswordChanged(show); } +bool PasswordEdit::isPasswordVisible() const { + return isEnabled(); +} + bool PasswordEdit::passwordsEqual() const { return text() == m_basePasswordEdit->text(); diff --git a/src/gui/PasswordEdit.h b/src/gui/PasswordEdit.h index d5439f1a..5976347e 100644 --- a/src/gui/PasswordEdit.h +++ b/src/gui/PasswordEdit.h @@ -31,6 +31,7 @@ public: explicit PasswordEdit(QWidget* parent = nullptr); void enableVerifyMode(PasswordEdit* baseEdit); + bool isPasswordVisible() const; public slots: void setShowPassword(bool show);