summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swift/QtUI/QtSettingsProvider.cpp')
-rw-r--r--Swift/QtUI/QtSettingsProvider.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/Swift/QtUI/QtSettingsProvider.cpp b/Swift/QtUI/QtSettingsProvider.cpp
index 0c4d49b..64e88d4 100644
--- a/Swift/QtUI/QtSettingsProvider.cpp
+++ b/Swift/QtUI/QtSettingsProvider.cpp
@@ -1,55 +1,60 @@
/*
* Copyright (c) 2010-2012 Kevin Smith
* Licensed under the GNU General Public License v3.
* See Documentation/Licenses/GPLv3.txt for more information.
*/
#include <QtSettingsProvider.h>
#include <QStringList>
#include <QFile>
namespace Swift {
QtSettingsProvider::QtSettingsProvider() {
}
QtSettingsProvider::~QtSettingsProvider() {
}
+bool QtSettingsProvider::hasSetting(const std::string& key) {
+ return !settings_.value(key.c_str()).isNull();
+}
+
+
std::string QtSettingsProvider::getSetting(const Setting<std::string>& setting) {
QVariant variant = settings_.value(setting.getKey().c_str());
return variant.isNull() ? setting.getDefaultValue() : std::string(variant.toString().toUtf8());
}
void QtSettingsProvider::storeSetting(const Setting<std::string>& setting, const std::string& settingValue) {
bool changed = false;
if (getSetting(setting) != settingValue) {
changed = true;
}
settings_.setValue(setting.getKey().c_str(), settingValue.c_str());
if (changed) {
onSettingChanged(setting.getKey());
}
updatePermissions();
}
bool QtSettingsProvider::getSetting(const Setting<bool>& setting) {
QVariant variant = settings_.value(setting.getKey().c_str());
return variant.isNull() ? setting.getDefaultValue() : variant.toBool();
}
void QtSettingsProvider::storeSetting(const Setting<bool>& setting, const bool& settingValue) {
bool changed = false;
if (getSetting(setting) != settingValue) {
changed = true;
}
settings_.setValue(setting.getKey().c_str(), settingValue);
if (changed) {
onSettingChanged(setting.getKey());
}
updatePermissions();
}
int QtSettingsProvider::getSetting(const Setting<int>& setting) {