summaryrefslogtreecommitdiffstats
path: root/libsettings/src/settingsobject.cpp
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2013-07-16 00:30:32 +0200
committerPetr Mrázek <peterix@gmail.com>2013-07-16 00:30:32 +0200
commite2ee6d6d254285284f07b07cb60409fbda0bf7ad (patch)
tree30810ad496b34ae949aba3a72efb0a0363e8b718 /libsettings/src/settingsobject.cpp
parentb5450042b5f9ddaad7585f644591b7d009aeb5cb (diff)
downloadMultiMC-e2ee6d6d254285284f07b07cb60409fbda0bf7ad.tar
MultiMC-e2ee6d6d254285284f07b07cb60409fbda0bf7ad.tar.gz
MultiMC-e2ee6d6d254285284f07b07cb60409fbda0bf7ad.tar.lz
MultiMC-e2ee6d6d254285284f07b07cb60409fbda0bf7ad.tar.xz
MultiMC-e2ee6d6d254285284f07b07cb60409fbda0bf7ad.zip
Finalize the instance settings dialog, add setting reset mechanism
Diffstat (limited to 'libsettings/src/settingsobject.cpp')
-rw-r--r--libsettings/src/settingsobject.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/libsettings/src/settingsobject.cpp b/libsettings/src/settingsobject.cpp
index f94a6552..bf7b8825 100644
--- a/libsettings/src/settingsobject.cpp
+++ b/libsettings/src/settingsobject.cpp
@@ -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)));
}