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/core/Config.cpp')
-rw-r--r--src/core/Config.cpp27
1 files changed, 23 insertions, 4 deletions
diff --git a/src/core/Config.cpp b/src/core/Config.cpp
index 052db34bb..461ab1f74 100644
--- a/src/core/Config.cpp
+++ b/src/core/Config.cpp
@@ -21,8 +21,8 @@
#include <QCoreApplication>
#include <QDir>
#include <QSettings>
-#include <QStandardPaths>
#include <QTemporaryFile>
+#include <QStandardPaths>
Config* Config::m_instance(nullptr);
@@ -51,6 +51,18 @@ void Config::set(const QString& key, const QVariant& value)
m_settings->setValue(key, value);
}
+/**
+ * Sync configuration with persistent storage.
+ *
+ * Usually, you don't need to call this method manually, but if you are writing
+ * configurations after an emitted \link QCoreApplication::aboutToQuit() signal,
+ * use it to guarantee your config values are persisted.
+ */
+void Config::sync()
+{
+ m_settings->sync();
+}
+
Config::Config(const QString& fileName, QObject* parent)
: QObject(parent)
{
@@ -106,19 +118,22 @@ Config::~Config()
void Config::init(const QString& fileName)
{
m_settings.reset(new QSettings(fileName, QSettings::IniFormat));
+ connect(qApp, &QCoreApplication::aboutToQuit, this, &Config::sync);
m_defaults.insert("SingleInstance", true);
m_defaults.insert("RememberLastDatabases", true);
m_defaults.insert("RememberLastKeyFiles", true);
m_defaults.insert("OpenPreviousDatabasesOnStartup", true);
- m_defaults.insert("AutoSaveAfterEveryChange", false);
+ m_defaults.insert("AutoSaveAfterEveryChange", true);
m_defaults.insert("AutoReloadOnChange", true);
m_defaults.insert("AutoSaveOnExit", false);
- m_defaults.insert("ShowToolbar", true);
+ m_defaults.insert("BackupBeforeSave", false);
+ m_defaults.insert("UseAtomicSaves", true);
m_defaults.insert("SearchLimitGroup", false);
m_defaults.insert("MinimizeOnCopy", false);
m_defaults.insert("UseGroupIconOnEntryCreation", false);
m_defaults.insert("AutoTypeEntryTitleMatch", true);
+ m_defaults.insert("AutoTypeEntryURLMatch", true);
m_defaults.insert("AutoTypeDelay", 25);
m_defaults.insert("UseGroupIconOnEntryCreation", true);
m_defaults.insert("IgnoreGroupExpansion", true);
@@ -130,12 +145,16 @@ void Config::init(const QString& fileName)
m_defaults.insert("security/lockdatabasescreenlock", true);
m_defaults.insert("security/passwordsrepeat", false);
m_defaults.insert("security/passwordscleartext", false);
+ m_defaults.insert("security/hidepassworddetails", true);
m_defaults.insert("security/autotypeask", true);
m_defaults.insert("security/IconDownloadFallbackToGoogle", false);
m_defaults.insert("GUI/Language", "system");
m_defaults.insert("GUI/ShowTrayIcon", false);
+ m_defaults.insert("GUI/DarkTrayIcon", false);
m_defaults.insert("GUI/MinimizeToTray", false);
m_defaults.insert("GUI/MinimizeOnClose", false);
+ m_defaults.insert("GUI/HideUsernames", false);
+ m_defaults.insert("GUI/HidePasswords", true);
}
Config* Config::instance()
@@ -156,7 +175,7 @@ void Config::createConfigFromFile(const QString& file)
void Config::createTempFileInstance()
{
Q_ASSERT(!m_instance);
- QTemporaryFile* tmpFile = new QTemporaryFile();
+ auto* tmpFile = new QTemporaryFile();
bool openResult = tmpFile->open();
Q_ASSERT(openResult);
Q_UNUSED(openResult);