diff --git a/src/core/Config.cpp b/src/core/Config.cpp index c8ccb44f..c0d33032 100644 --- a/src/core/Config.cpp +++ b/src/core/Config.cpp @@ -21,6 +21,11 @@ #include #include +QVariant Config::get(const QString& key) +{ + return m_settings->value(key, m_defaults.value(key)); +} + QVariant Config::get(const QString& key, const QVariant& defaultValue) { return m_settings->value(key, defaultValue); @@ -61,6 +66,9 @@ Config::Config() userPath += "keepassx2.ini"; m_settings.reset(new QSettings(userPath, QSettings::IniFormat)); + + m_defaults.insert("security/clearclipboard", true); + m_defaults.insert("security/clearclipboardtimeout", 10); } Config* config() diff --git a/src/core/Config.h b/src/core/Config.h index 1f9278f4..625a22a8 100644 --- a/src/core/Config.h +++ b/src/core/Config.h @@ -26,13 +26,15 @@ class QSettings; class Config { public: - QVariant get(const QString& key, const QVariant& defaultValue = QVariant()); + QVariant get(const QString& key); + QVariant get(const QString& key, const QVariant& defaultValue); void set(const QString& key, const QVariant& value); private: Config(); QScopedPointer m_settings; + QHash m_defaults; Q_DISABLE_COPY(Config)