[Scummvm-cvs-logs] SF.net SVN: scummvm:[40427] scummvm/trunk
sev at users.sourceforge.net
sev at users.sourceforge.net
Sun May 10 19:33:31 CEST 2009
Revision: 40427
http://scummvm.svn.sourceforge.net/scummvm/?rev=40427&view=rev
Author: sev
Date: 2009-05-10 17:33:31 +0000 (Sun, 10 May 2009)
Log Message:
-----------
Store global keymaps into a separate section
Modified Paths:
--------------
scummvm/trunk/backends/keymapper/keymapper.cpp
scummvm/trunk/common/config-manager.cpp
scummvm/trunk/common/config-manager.h
Modified: scummvm/trunk/backends/keymapper/keymapper.cpp
===================================================================
--- scummvm/trunk/backends/keymapper/keymapper.cpp 2009-05-10 17:26:46 UTC (rev 40426)
+++ scummvm/trunk/backends/keymapper/keymapper.cpp 2009-05-10 17:33:31 UTC (rev 40427)
@@ -58,7 +58,7 @@
Keymapper::Keymapper(EventManager *evtMgr)
: _eventMan(evtMgr), _enabled(true), _hardwareKeys(0) {
- ConfigManager::Domain *confDom = ConfMan.getDomain(ConfigManager::kApplicationDomain);
+ ConfigManager::Domain *confDom = ConfMan.getDomain(ConfigManager::kKeymapperDomain);
_globalDomain.setConfigDomain(confDom);
}
Modified: scummvm/trunk/common/config-manager.cpp
===================================================================
--- scummvm/trunk/common/config-manager.cpp 2009-05-10 17:26:46 UTC (rev 40426)
+++ scummvm/trunk/common/config-manager.cpp 2009-05-10 17:33:31 UTC (rev 40427)
@@ -45,13 +45,21 @@
const String ConfigManager::kApplicationDomain("scummvm");
const String ConfigManager::kTransientDomain("__TRANSIENT");
+#ifdef ENABLE_KEYMAPPER
+const String ConfigManager::kKeymapperDomain("keymapper");
+#endif
+
#else
const char *ConfigManager::kApplicationDomain = "scummvm";
const char *ConfigManager::kTransientDomain = "__TRANSIENT";
+#ifdef ENABLE_KEYMAPPER
+const char *ConfigManager::kKeymapperDomain = "keymapper";
#endif
+#endif
+
#pragma mark -
@@ -99,6 +107,10 @@
_transientDomain.clear();
_domainSaveOrder.clear();
+#ifdef ENABLE_KEYMAPPER
+ _keymapperDomain.clear();
+#endif
+
// TODO: Detect if a domain occurs multiple times (or likewise, if
// a key occurs multiple times inside one domain).
@@ -135,6 +147,10 @@
// Store domain comment
if (domain == kApplicationDomain) {
_appDomain.setDomainComment(comment);
+#ifdef ENABLE_KEYMAPPER
+ } else if (domain == kKeymapperDomain) {
+ _keymapperDomain.setDomainComment(comment);
+#endif
} else {
_gameDomains[domain].setDomainComment(comment);
}
@@ -177,6 +193,10 @@
// Store comment
if (domain == kApplicationDomain) {
_appDomain.setKVComment(key, comment);
+#ifdef ENABLE_KEYMAPPER
+ } else if (domain == kKeymapperDomain) {
+ _keymapperDomain.setKVComment(key, comment);
+#endif
} else {
_gameDomains[domain].setKVComment(key, comment);
}
@@ -215,6 +235,10 @@
for (i = _domainSaveOrder.begin(); i != _domainSaveOrder.end(); ++i) {
if (kApplicationDomain == *i) {
writeDomain(*stream, *i, _appDomain);
+#ifdef ENABLE_KEYMAPPER
+ } else if (kKeymapperDomain == *i) {
+ writeDomain(*stream, *i, _keymapperDomain);
+#endif
} else if (_gameDomains.contains(*i)) {
writeDomain(*stream, *i, _gameDomains[*i]);
}
@@ -226,6 +250,10 @@
// Now write the domains which haven't been written yet
if (find(_domainSaveOrder.begin(), _domainSaveOrder.end(), kApplicationDomain) == _domainSaveOrder.end())
writeDomain(*stream, kApplicationDomain, _appDomain);
+#ifdef ENABLE_KEYMAPPER
+ if (find(_domainSaveOrder.begin(), _domainSaveOrder.end(), kKeymapperDomain) == _domainSaveOrder.end())
+ writeDomain(*stream, kKeymapperDomain, _keymapperDomain);
+#endif
for (d = _gameDomains.begin(); d != _gameDomains.end(); ++d) {
if (find(_domainSaveOrder.begin(), _domainSaveOrder.end(), d->_key) == _domainSaveOrder.end())
writeDomain(*stream, d->_key, d->_value);
@@ -290,6 +318,10 @@
return &_transientDomain;
if (domName == kApplicationDomain)
return &_appDomain;
+#ifdef ENABLE_KEYMAPPER
+ if (domName == kKeymapperDomain)
+ return &_keymapperDomain;
+#endif
if (_gameDomains.contains(domName))
return &_gameDomains[domName];
@@ -304,6 +336,10 @@
return &_transientDomain;
if (domName == kApplicationDomain)
return &_appDomain;
+#ifdef ENABLE_KEYMAPPER
+ if (domName == kKeymapperDomain)
+ return &_keymapperDomain;
+#endif
if (_gameDomains.contains(domName))
return &_gameDomains[domName];
Modified: scummvm/trunk/common/config-manager.h
===================================================================
--- scummvm/trunk/common/config-manager.h 2009-05-10 17:26:46 UTC (rev 40426)
+++ scummvm/trunk/common/config-manager.h 2009-05-10 17:33:31 UTC (rev 40427)
@@ -74,13 +74,25 @@
/** The transient (pseudo) domain. */
static const String kTransientDomain;
+
+#ifdef ENABLE_KEYMAPPER
+ /** The name of keymapper domain used to store the key maps */
+ static const String kKeymapperDomain;
+#endif
+
#else
static const char *kApplicationDomain;
static const char *kTransientDomain;
const String _emptyString;
+
+#ifdef ENABLE_KEYMAPPER
+ /** The name of keymapper domain used to store the key maps */
+ static const char *kKeymapperDomain;
#endif
+#endif
+
void loadDefaultConfigFile();
void loadConfigFile(const String &filename);
@@ -156,6 +168,10 @@
Domain _appDomain;
Domain _defaultsDomain;
+#ifdef ENABLE_KEYMAPPER
+ Domain _keymapperDomain;
+#endif
+
StringList _domainSaveOrder;
String _activeDomainName;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list