aboutsummaryrefslogtreecommitdiff
path: root/libsettings/src
diff options
context:
space:
mode:
authorTakSuyu <taksuyu@gmail.com>2013-07-27 12:55:51 -0700
committerTakSuyu <taksuyu@gmail.com>2013-07-27 12:55:51 -0700
commitdc39d093396c9a0ed4f03d81f95fcc8fa5705b65 (patch)
treeb88bf5fa692de82ce3418bdf5c55e9cd9eff37bc /libsettings/src
parent44498f98945b7501486da35c5fdc32f94a2be080 (diff)
parenta7a84d4dbb58565f108cb0886da6cb786e34d10d (diff)
downloadPrismLauncher-dc39d093396c9a0ed4f03d81f95fcc8fa5705b65.tar.gz
PrismLauncher-dc39d093396c9a0ed4f03d81f95fcc8fa5705b65.tar.bz2
PrismLauncher-dc39d093396c9a0ed4f03d81f95fcc8fa5705b65.zip
Merge remote-tracking branch 'upstream/master'
Conflicts: gui/mainwindow.cpp
Diffstat (limited to 'libsettings/src')
-rw-r--r--libsettings/src/inisettingsobject.cpp9
-rw-r--r--libsettings/src/setting.cpp5
-rw-r--r--libsettings/src/settingsobject.cpp20
3 files changed, 33 insertions, 1 deletions
diff --git a/libsettings/src/inisettingsobject.cpp b/libsettings/src/inisettingsobject.cpp
index 17b132a3..854421b6 100644
--- a/libsettings/src/inisettingsobject.cpp
+++ b/libsettings/src/inisettingsobject.cpp
@@ -40,6 +40,15 @@ void INISettingsObject::changeSetting(const Setting &setting, QVariant value)
}
}
+void INISettingsObject::resetSetting ( const Setting& setting )
+{
+ if (contains(setting.id()))
+ {
+ m_ini.remove(setting.configKey());
+ m_ini.saveFile(m_filePath);
+ }
+}
+
QVariant INISettingsObject::retrieveValue(const Setting &setting)
{
if (contains(setting.id()))
diff --git a/libsettings/src/setting.cpp b/libsettings/src/setting.cpp
index 1a4f9e13..8e60af06 100644
--- a/libsettings/src/setting.cpp
+++ b/libsettings/src/setting.cpp
@@ -47,3 +47,8 @@ void Setting::set(QVariant value)
{
emit settingChanged(*this, value);
}
+
+void Setting::reset()
+{
+ emit settingReset(*this);
+}
diff --git a/libsettings/src/settingsobject.cpp b/libsettings/src/settingsobject.cpp
index 98c7b479..bf7b8825 100644
--- a/libsettings/src/settingsobject.cpp
+++ b/libsettings/src/settingsobject.cpp
@@ -49,7 +49,7 @@ bool SettingsObject::registerSetting(Setting *setting)
// Connect signals.
connectSignals(*setting);
- qDebug(QString("Registered setting %1.").arg(setting->id()).toUtf8());
+ // qDebug(QString("Registered setting %1.").arg(setting->id()).toUtf8());
return true;
}
@@ -98,6 +98,14 @@ bool SettingsObject::set(const QString &id, QVariant value)
}
}
+void SettingsObject::reset(const QString &id) const
+{
+ Setting *setting = getSetting(id);
+ if(setting)
+ setting->reset();
+}
+
+
QList<Setting *> SettingsObject::getSettings()
{
return m_settings.values();
@@ -115,6 +123,11 @@ void SettingsObject::connectSignals(const Setting &setting)
SLOT(changeSetting(const Setting &, QVariant)));
connect(&setting, SIGNAL(settingChanged(const Setting &, QVariant)),
SIGNAL(settingChanged(const Setting &, QVariant)));
+
+ connect(&setting, SIGNAL(settingReset(Setting)),
+ SLOT(resetSetting(const Setting &)));
+ connect(&setting, SIGNAL(settingReset(Setting)),
+ SIGNAL(settingReset(const Setting &)));
}
void SettingsObject::disconnectSignals(const Setting &setting)
@@ -123,4 +136,9 @@ void SettingsObject::disconnectSignals(const Setting &setting)
this, SLOT(changeSetting(const Setting &, QVariant)));
setting.disconnect(SIGNAL(settingChanged(const Setting &, QVariant)),
this, SIGNAL(settingChanged(const Setting &, QVariant)));
+
+ setting.disconnect(SIGNAL(settingReset(const Setting &, QVariant)),
+ this, SLOT(resetSetting(const Setting &, QVariant)));
+ setting.disconnect(SIGNAL(settingReset(const Setting &, QVariant)),
+ this, SIGNAL(settingReset(const Setting &, QVariant)));
}