diff options
author | Petr Mrázek <peterix@gmail.com> | 2015-05-23 16:07:47 +0200 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2015-05-23 16:07:47 +0200 |
commit | ce99fabe1396ed2956dc7ecb468760ef88f98765 (patch) | |
tree | 603f7c6f1a0f27805b21843ec3f829354ad0ff77 /logic/settings/INISettingsObject.h | |
parent | 0e0ddf5494ab4a264b0dc18c4b94809844300dc0 (diff) | |
download | MultiMC-ce99fabe1396ed2956dc7ecb468760ef88f98765.tar MultiMC-ce99fabe1396ed2956dc7ecb468760ef88f98765.tar.gz MultiMC-ce99fabe1396ed2956dc7ecb468760ef88f98765.tar.lz MultiMC-ce99fabe1396ed2956dc7ecb468760ef88f98765.tar.xz MultiMC-ce99fabe1396ed2956dc7ecb468760ef88f98765.zip |
GH-992 Add a transaction/locking mechanism to settings objects
This can cut the FTB loading by ~66% - worth it, but not ideal.
Real solution will have to be implemented later.
Diffstat (limited to 'logic/settings/INISettingsObject.h')
-rw-r--r-- | logic/settings/INISettingsObject.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/logic/settings/INISettingsObject.h b/logic/settings/INISettingsObject.h index 4d26ddf1..a93eea78 100644 --- a/logic/settings/INISettingsObject.h +++ b/logic/settings/INISettingsObject.h @@ -47,15 +47,18 @@ public: bool reload() override; -protected -slots: + void suspendSave(); + void resumeSave(); + +protected slots: virtual void changeSetting(const Setting &setting, QVariant value); virtual void resetSetting(const Setting &setting); protected: virtual QVariant retrieveValue(const Setting &setting); + void doSave(); +protected: INIFile m_ini; - QString m_filePath; }; |