Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/keepassxreboot/keepassxc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/ApplicationSettingsWidget.cpp')
-rw-r--r--src/gui/ApplicationSettingsWidget.cpp24
1 files changed, 17 insertions, 7 deletions
diff --git a/src/gui/ApplicationSettingsWidget.cpp b/src/gui/ApplicationSettingsWidget.cpp
index 691115368..cf09df39b 100644
--- a/src/gui/ApplicationSettingsWidget.cpp
+++ b/src/gui/ApplicationSettingsWidget.cpp
@@ -27,6 +27,7 @@
#include "core/Global.h"
#include "core/Resources.h"
#include "core/Translator.h"
+#include "gui/MainWindow.h"
#include "gui/osutils/OSUtils.h"
#include "MessageBox.h"
@@ -125,6 +126,7 @@ ApplicationSettingsWidget::ApplicationSettingsWidget(QWidget* parent)
m_generalUi->faviconTimeoutSpinBox->installEventFilter(mouseWheelFilter);
m_generalUi->toolButtonStyleComboBox->installEventFilter(mouseWheelFilter);
m_generalUi->languageComboBox->installEventFilter(mouseWheelFilter);
+ m_generalUi->trayIconAppearance->installEventFilter(mouseWheelFilter);
#ifdef WITH_XC_UPDATECHECK
connect(m_generalUi->checkForUpdatesOnStartupCheckBox, SIGNAL(toggled(bool)), SLOT(checkUpdatesToggled(bool)));
@@ -182,6 +184,7 @@ void ApplicationSettingsWidget::loadSettings()
config()->get(Config::OpenPreviousDatabasesOnStartup).toBool());
m_generalUi->autoSaveAfterEveryChangeCheckBox->setChecked(config()->get(Config::AutoSaveAfterEveryChange).toBool());
m_generalUi->autoSaveOnExitCheckBox->setChecked(config()->get(Config::AutoSaveOnExit).toBool());
+ m_generalUi->autoSaveNonDataChangesCheckBox->setChecked(config()->get(Config::AutoSaveNonDataChanges).toBool());
m_generalUi->backupBeforeSaveCheckBox->setChecked(config()->get(Config::BackupBeforeSave).toBool());
m_generalUi->useAtomicSavesCheckBox->setChecked(config()->get(Config::UseAtomicSaves).toBool());
m_generalUi->autoReloadOnChangeCheckBox->setChecked(config()->get(Config::AutoReloadOnChange).toBool());
@@ -195,7 +198,6 @@ void ApplicationSettingsWidget::loadSettings()
config()->get(Config::UseGroupIconOnEntryCreation).toBool());
m_generalUi->autoTypeEntryTitleMatchCheckBox->setChecked(config()->get(Config::AutoTypeEntryTitleMatch).toBool());
m_generalUi->autoTypeEntryURLMatchCheckBox->setChecked(config()->get(Config::AutoTypeEntryURLMatch).toBool());
- m_generalUi->trackNonDataChangesCheckBox->setChecked(config()->get(Config::TrackNonDataChanges).toBool());
m_generalUi->faviconTimeoutSpinBox->setValue(config()->get(Config::FaviconDownloadTimeout).toInt());
m_generalUi->languageComboBox->clear();
@@ -310,6 +312,7 @@ void ApplicationSettingsWidget::saveSettings()
m_generalUi->openPreviousDatabasesOnStartupCheckBox->isChecked());
config()->set(Config::AutoSaveAfterEveryChange, m_generalUi->autoSaveAfterEveryChangeCheckBox->isChecked());
config()->set(Config::AutoSaveOnExit, m_generalUi->autoSaveOnExitCheckBox->isChecked());
+ config()->set(Config::AutoSaveNonDataChanges, m_generalUi->autoSaveNonDataChangesCheckBox->isChecked());
config()->set(Config::BackupBeforeSave, m_generalUi->backupBeforeSaveCheckBox->isChecked());
config()->set(Config::UseAtomicSaves, m_generalUi->useAtomicSavesCheckBox->isChecked());
config()->set(Config::AutoReloadOnChange, m_generalUi->autoReloadOnChangeCheckBox->isChecked());
@@ -319,12 +322,19 @@ void ApplicationSettingsWidget::saveSettings()
config()->set(Config::MinimizeOnCopy, m_generalUi->minimizeOnCopyRadioButton->isChecked());
config()->set(Config::DropToBackgroundOnCopy, m_generalUi->dropToBackgroundOnCopyRadioButton->isChecked());
config()->set(Config::UseGroupIconOnEntryCreation, m_generalUi->useGroupIconOnEntryCreationCheckBox->isChecked());
- config()->set(Config::TrackNonDataChanges, m_generalUi->trackNonDataChangesCheckBox->isChecked());
config()->set(Config::AutoTypeEntryTitleMatch, m_generalUi->autoTypeEntryTitleMatchCheckBox->isChecked());
config()->set(Config::AutoTypeEntryURLMatch, m_generalUi->autoTypeEntryURLMatchCheckBox->isChecked());
config()->set(Config::FaviconDownloadTimeout, m_generalUi->faviconTimeoutSpinBox->value());
- config()->set(Config::GUI_Language, m_generalUi->languageComboBox->currentData().toString());
+ auto language = m_generalUi->languageComboBox->currentData().toString();
+ if (config()->get(Config::GUI_Language) != language) {
+ QTimer::singleShot(200, [] {
+ getMainWindow()->restartApp(
+ tr("You must restart the application to set the new language. Would you like to restart now?"));
+ });
+ }
+ config()->set(Config::GUI_Language, language);
+
config()->set(Config::GUI_MovableToolbar, m_generalUi->toolbarMovableCheckBox->isChecked());
config()->set(Config::GUI_MonospaceNotes, m_generalUi->monospaceNotesCheckBox->isChecked());
@@ -375,7 +385,6 @@ void ApplicationSettingsWidget::saveSettings()
// Security: clear storage if related settings are disabled
if (!config()->get(Config::RememberLastDatabases).toBool()) {
config()->remove(Config::LastDatabases);
- config()->remove(Config::OpenPreviousDatabasesOnStartup);
config()->remove(Config::LastActiveDatabase);
config()->remove(Config::LastAttachmentDir);
}
@@ -415,7 +424,6 @@ void ApplicationSettingsWidget::resetSettings()
// Clear recently used data
config()->remove(Config::LastDatabases);
- config()->remove(Config::OpenPreviousDatabasesOnStartup);
config()->remove(Config::LastActiveDatabase);
config()->remove(Config::LastAttachmentDir);
config()->remove(Config::LastKeyFiles);
@@ -443,11 +451,13 @@ void ApplicationSettingsWidget::reject()
void ApplicationSettingsWidget::autoSaveToggled(bool checked)
{
- // Explicitly enable auto-save on exit if it wasn't already
- if (checked && !m_generalUi->autoSaveOnExitCheckBox->isChecked()) {
+ // Explicitly enable other auto-save options
+ if (checked) {
m_generalUi->autoSaveOnExitCheckBox->setChecked(true);
+ m_generalUi->autoSaveNonDataChangesCheckBox->setChecked(true);
}
m_generalUi->autoSaveOnExitCheckBox->setEnabled(!checked);
+ m_generalUi->autoSaveNonDataChangesCheckBox->setEnabled(!checked);
}
void ApplicationSettingsWidget::hideWindowOnCopyCheckBoxToggled(bool checked)