diff options
author | Johannes Schickel | 2009-07-13 18:47:32 +0000 |
---|---|---|
committer | Johannes Schickel | 2009-07-13 18:47:32 +0000 |
commit | 51a9bfc9e2881aa7c7ddaa9cc6b2709acab5e725 (patch) | |
tree | 4bd15f96d8e57b252e55c37d25b4773d6d3a290e /common | |
parent | 88e0fc2c43a9f8b1c729bf2f509815601b4d495d (diff) | |
download | scummvm-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.cpp | 9 | ||||
-rw-r--r-- | common/util.h | 7 |
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 |