diff --git a/src/gui/databasekey/PasswordEditWidget.cpp b/src/gui/databasekey/PasswordEditWidget.cpp index e2c34be07f..e04f6e0b13 100644 --- a/src/gui/databasekey/PasswordEditWidget.cpp +++ b/src/gui/databasekey/PasswordEditWidget.cpp @@ -62,7 +62,7 @@ bool PasswordEditWidget::isPasswordVisible() const bool PasswordEditWidget::isEmpty() const { - return visiblePage() != Page::Edit || m_compUi->enterPasswordEdit->text().isEmpty(); + return m_compUi->enterPasswordEdit->text().isEmpty(); } PasswordHealth::Quality PasswordEditWidget::getPasswordQuality() const diff --git a/src/gui/dbsettings/DatabaseSettingsWidgetDatabaseKey.cpp b/src/gui/dbsettings/DatabaseSettingsWidgetDatabaseKey.cpp index 18d35af4e3..ebd5f04022 100644 --- a/src/gui/dbsettings/DatabaseSettingsWidgetDatabaseKey.cpp +++ b/src/gui/dbsettings/DatabaseSettingsWidgetDatabaseKey.cpp @@ -160,7 +160,9 @@ bool DatabaseSettingsWidgetDatabaseKey::saveSettings() } // Show warning if database password has not been set - if (m_passwordEditWidget->visiblePage() == KeyComponentWidget::Page::AddNew || m_passwordEditWidget->isEmpty()) { + if (m_passwordEditWidget->visiblePage() == KeyComponentWidget::Page::AddNew + || (m_passwordEditWidget->visiblePage() == KeyComponentWidget::Page::Edit && m_passwordEditWidget->isEmpty())) { + QScopedPointer msgBox(new QMessageBox(this)); msgBox->setIcon(QMessageBox::Warning); msgBox->setWindowTitle(tr("No password set")); @@ -179,7 +181,7 @@ bool DatabaseSettingsWidgetDatabaseKey::saveSettings() return false; } - if (!m_passwordEditWidget->isEmpty()) { + if (m_passwordEditWidget->visiblePage() == KeyComponentWidget::Page::Edit && !m_passwordEditWidget->isEmpty()) { // Prevent setting password with a quality less than the minimum required auto minQuality = qBound(0, config()->get(Config::Security_DatabasePasswordMinimumQuality).toInt(), 4); if (m_passwordEditWidget->getPasswordQuality() < static_cast(minQuality)) {