Finalize the instance settings dialog, add setting reset mechanism
This commit is contained in:
@ -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()))
|
||||
|
@ -47,3 +47,8 @@ void Setting::set(QVariant value)
|
||||
{
|
||||
emit settingChanged(*this, value);
|
||||
}
|
||||
|
||||
void Setting::reset()
|
||||
{
|
||||
emit settingReset(*this);
|
||||
}
|
||||
|
@ -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)));
|
||||
}
|
||||
|
Reference in New Issue
Block a user