aboutsummaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorJohannes Schickel2009-07-13 18:47:32 +0000
committerJohannes Schickel2009-07-13 18:47:32 +0000
commit51a9bfc9e2881aa7c7ddaa9cc6b2709acab5e725 (patch)
tree4bd15f96d8e57b252e55c37d25b4773d6d3a290e /common
parent88e0fc2c43a9f8b1c729bf2f509815601b4d495d (diff)
downloadscummvm-rg350-51a9bfc9e2881aa7c7ddaa9cc6b2709acab5e725.tar.gz
scummvm-rg350-51a9bfc9e2881aa7c7ddaa9cc6b2709acab5e725.tar.bz2
scummvm-rg350-51a9bfc9e2881aa7c7ddaa9cc6b2709acab5e725.zip
Refactor GUI options update into a function in Common: updateGameGUIOptions.
svn-id: r42446
Diffstat (limited to 'common')
-rw-r--r--common/util.cpp9
-rw-r--r--common/util.h7
2 files changed, 16 insertions, 0 deletions
diff --git a/common/util.cpp b/common/util.cpp
index e99bbeb12d..869cec4c48 100644
--- a/common/util.cpp
+++ b/common/util.cpp
@@ -24,6 +24,7 @@
#include "common/util.h"
#include "common/system.h"
+#include "common/config-manager.h"
#include "gui/debugger.h"
#include "engines/engine.h"
@@ -420,6 +421,14 @@ String getGameGUIOptionsDescription(uint32 options) {
return res;
}
+void updateGameGUIOptions(const uint32 options) {
+ if ((options && !ConfMan.hasKey("guioptions")) ||
+ (ConfMan.hasKey("guioptions") && options != parseGameGUIOptions(ConfMan.get("guioptions")))) {
+ ConfMan.set("guioptions", getGameGUIOptionsDescription(options));
+ ConfMan.flushToDisk();
+ }
+}
+
} // End of namespace Common
diff --git a/common/util.h b/common/util.h
index e50dcebff0..aeadcd1483 100644
--- a/common/util.h
+++ b/common/util.h
@@ -284,6 +284,13 @@ bool checkGameGUIOption(GameGUIOption option, const String &str);
uint32 parseGameGUIOptions(const String &str);
String getGameGUIOptionsDescription(uint32 options);
+/**
+ * Updates the GUI options of the current config manager
+ * domain, when they differ to the ones passed as
+ * parameter.
+ */
+void updateGameGUIOptions(const uint32 options);
+
} // End of namespace Common