diff options
author | TakSuyu <taksuyu@gmail.com> | 2013-07-27 12:55:51 -0700 |
---|---|---|
committer | TakSuyu <taksuyu@gmail.com> | 2013-07-27 12:55:51 -0700 |
commit | dc39d093396c9a0ed4f03d81f95fcc8fa5705b65 (patch) | |
tree | b88bf5fa692de82ce3418bdf5c55e9cd9eff37bc /libsettings/src | |
parent | 44498f98945b7501486da35c5fdc32f94a2be080 (diff) | |
parent | a7a84d4dbb58565f108cb0886da6cb786e34d10d (diff) | |
download | PrismLauncher-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.cpp | 9 | ||||
-rw-r--r-- | libsettings/src/setting.cpp | 5 | ||||
-rw-r--r-- | libsettings/src/settingsobject.cpp | 20 |
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))); } |