summaryrefslogtreecommitdiffstats
path: root/logic/settings/INISettingsObject.h
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2015-05-23 16:07:47 +0200
committerPetr Mrázek <peterix@gmail.com>2015-05-23 16:07:47 +0200
commitce99fabe1396ed2956dc7ecb468760ef88f98765 (patch)
tree603f7c6f1a0f27805b21843ec3f829354ad0ff77 /logic/settings/INISettingsObject.h
parent0e0ddf5494ab4a264b0dc18c4b94809844300dc0 (diff)
downloadMultiMC-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.h9
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;
};