diff options
author | Petr Mrázek <peterix@gmail.com> | 2014-03-09 23:46:46 +0100 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2014-03-09 23:46:46 +0100 |
commit | 7fd56a30bd9fba9e0a05f7267e0982be39f00616 (patch) | |
tree | 940f03e6c1ebeaf14844d9b24b7fbcd2fa987709 /depends | |
parent | b2c803a378695026f12aabc3729eb2139bee1b2c (diff) | |
parent | f1dc4568020d222803d54fdcece324a14c9266c7 (diff) | |
download | MultiMC-7fd56a30bd9fba9e0a05f7267e0982be39f00616.tar MultiMC-7fd56a30bd9fba9e0a05f7267e0982be39f00616.tar.gz MultiMC-7fd56a30bd9fba9e0a05f7267e0982be39f00616.tar.lz MultiMC-7fd56a30bd9fba9e0a05f7267e0982be39f00616.tar.xz MultiMC-7fd56a30bd9fba9e0a05f7267e0982be39f00616.zip |
Merge remote-tracking branch 'origin/feature_commands' into integration_butchery
Diffstat (limited to 'depends')
-rw-r--r-- | depends/settings/inisettingsobject.cpp | 5 | ||||
-rw-r--r-- | depends/settings/inisettingsobject.h | 2 | ||||
-rw-r--r-- | depends/settings/settingsobject.cpp | 9 | ||||
-rw-r--r-- | depends/settings/settingsobject.h | 6 |
4 files changed, 22 insertions, 0 deletions
diff --git a/depends/settings/inisettingsobject.cpp b/depends/settings/inisettingsobject.cpp index 5e52a56f..2cee8e3c 100644 --- a/depends/settings/inisettingsobject.cpp +++ b/depends/settings/inisettingsobject.cpp @@ -28,6 +28,11 @@ void INISettingsObject::setFilePath(const QString &filePath) m_filePath = filePath; } +bool INISettingsObject::reload() +{ + return m_ini.loadFile(m_filePath) && SettingsObject::reload(); +} + void INISettingsObject::changeSetting(const Setting &setting, QVariant value) { if (contains(setting.id())) diff --git a/depends/settings/inisettingsobject.h b/depends/settings/inisettingsobject.h index 8badc0c6..12370896 100644 --- a/depends/settings/inisettingsobject.h +++ b/depends/settings/inisettingsobject.h @@ -47,6 +47,8 @@ public: */ virtual void setFilePath(const QString &filePath); + bool reload() override; + protected slots: virtual void changeSetting(const Setting &setting, QVariant value); diff --git a/depends/settings/settingsobject.cpp b/depends/settings/settingsobject.cpp index 43fc989a..0e3030df 100644 --- a/depends/settings/settingsobject.cpp +++ b/depends/settings/settingsobject.cpp @@ -126,6 +126,15 @@ bool SettingsObject::contains(const QString &id) return m_settings.contains(id); } +bool SettingsObject::reload() +{ + for (auto setting : m_settings.values()) + { + setting->set(setting->get()); + } + return true; +} + void SettingsObject::connectSignals(const Setting &setting) { connect(&setting, SIGNAL(settingChanged(const Setting &, QVariant)), diff --git a/depends/settings/settingsobject.h b/depends/settings/settingsobject.h index 27746f2d..b1b26b09 100644 --- a/depends/settings/settingsobject.h +++ b/depends/settings/settingsobject.h @@ -113,6 +113,12 @@ public: */ bool contains(const QString &id); + /*! + * \brief Reloads the settings and emit signals for changed settings + * \return True if reloading was successful + */ + virtual bool reload(); + signals: /*! * \brief Signal emitted when one of this SettingsObject object's settings changes. |