[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