[Scummvm-cvs-logs] SF.net SVN: scummvm:[33850] scummvm/branches/gsoc2008-vkeybd/backends
kenny-d at users.sourceforge.net
kenny-d at users.sourceforge.net
Thu Aug 14 00:20:19 CEST 2008
Revision: 33850
http://scummvm.svn.sourceforge.net/scummvm/?rev=33850&view=rev
Author: kenny-d
Date: 2008-08-13 22:20:18 +0000 (Wed, 13 Aug 2008)
Log Message:
-----------
Keymapper: support for saving to config file enabled
Modified Paths:
--------------
scummvm/branches/gsoc2008-vkeybd/backends/keymapper/action.h
scummvm/branches/gsoc2008-vkeybd/backends/keymapper/keymap-manager.cpp
scummvm/branches/gsoc2008-vkeybd/backends/keymapper/keymap.h
scummvm/branches/gsoc2008-vkeybd/backends/keymapper/remap-dialog.cpp
scummvm/branches/gsoc2008-vkeybd/backends/keymapper/remap-dialog.h
scummvm/branches/gsoc2008-vkeybd/backends/vkeybd/vkeybd.zip
Modified: scummvm/branches/gsoc2008-vkeybd/backends/keymapper/action.h
===================================================================
--- scummvm/branches/gsoc2008-vkeybd/backends/keymapper/action.h 2008-08-13 21:37:02 UTC (rev 33849)
+++ scummvm/branches/gsoc2008-vkeybd/backends/keymapper/action.h 2008-08-13 22:20:18 UTC (rev 33850)
@@ -96,6 +96,7 @@
void addEvent(const Event &evt) { events.push_back(evt); }
void setParent(Keymap *parent);
+ Keymap *getParent() { return _parent; }
void mapKey(const HardwareKey *key);
const HardwareKey *getMappedKey() const;
Modified: scummvm/branches/gsoc2008-vkeybd/backends/keymapper/keymap-manager.cpp
===================================================================
--- scummvm/branches/gsoc2008-vkeybd/backends/keymapper/keymap-manager.cpp 2008-08-13 21:37:02 UTC (rev 33849)
+++ scummvm/branches/gsoc2008-vkeybd/backends/keymapper/keymap-manager.cpp 2008-08-13 22:20:18 UTC (rev 33850)
@@ -37,10 +37,8 @@
void KeymapManager::Domain::deleteAllKeyMaps() {
KeymapMap::iterator it;
- for (it = _keymaps.begin(); it != _keymaps.end(); it++) {
- //it->_value->saveMappings(_configDomain, it->_key);
+ for (it = _keymaps.begin(); it != _keymaps.end(); it++)
delete it->_value;
- }
_keymaps.clear();
}
@@ -88,8 +86,11 @@
void KeymapManager::initKeymap(ConfigManager::Domain *domain,
Keymap *map) {
map->loadMappings(domain, _hardwareKeys);
- if (map->isComplete(_hardwareKeys) == false)
+ if (map->isComplete(_hardwareKeys) == false) {
automaticMap(map);
+ map->saveMappings(domain);
+ ConfMan.flushToDisk();
+ }
}
// TODO:
@@ -202,7 +203,7 @@
act->mapKey(*selectedKey);
keys.erase(selectedKey);
} else {// no match = no keys left
- return;
+ break;
}
}
}
Modified: scummvm/branches/gsoc2008-vkeybd/backends/keymapper/keymap.h
===================================================================
--- scummvm/branches/gsoc2008-vkeybd/backends/keymapper/keymap.h 2008-08-13 21:37:02 UTC (rev 33849)
+++ scummvm/branches/gsoc2008-vkeybd/backends/keymapper/keymap.h 2008-08-13 22:20:18 UTC (rev 33850)
@@ -91,6 +91,7 @@
/**
* Save this keymap's mappings to the given config domain
* @param domain config domain to save keymap to
+ * @note Changes are *not* flushed to disk, to do so call ConfMan.flushToDisk()
*/
void saveMappings(ConfigManager::Domain *domain);
Modified: scummvm/branches/gsoc2008-vkeybd/backends/keymapper/remap-dialog.cpp
===================================================================
--- scummvm/branches/gsoc2008-vkeybd/backends/keymapper/remap-dialog.cpp 2008-08-13 21:37:02 UTC (rev 33849)
+++ scummvm/branches/gsoc2008-vkeybd/backends/keymapper/remap-dialog.cpp 2008-08-13 22:20:18 UTC (rev 33850)
@@ -37,9 +37,6 @@
RemapDialog::RemapDialog()
: Dialog("remap"), _keymapTable(0), _activeRemapAction(0), _topAction(0), _remapTimeout(0) {
- const int screenW = g_system->getOverlayWidth();
- const int screenH = g_system->getOverlayHeight();
-
_keymapper = g_system->getEventManager()->getKeymapper();
assert(_keymapper);
@@ -95,10 +92,11 @@
}
}
- Dialog::open();
-
+ _changes = false;
_kmPopUp->setSelected(0);
loadKeymap();
+
+ Dialog::open();
}
void RemapDialog::close() {
@@ -107,6 +105,7 @@
free(_keymapTable);
_keymapTable = 0;
}
+ if (_changes) ConfMan.flushToDisk();
Dialog::close();
}
@@ -203,6 +202,8 @@
const HardwareKey *hwkey = _keymapper->getHardwareKey(state);
if (hwkey) {
_activeRemapAction->mapKey(hwkey);
+ // TODO: _activeRemapAction->getParent()->saveMappings();
+ _changes = true;
stopRemapping();
}
} else {
@@ -285,7 +286,6 @@
//_container->draw();
_scrollBar->draw();
- uint widgetI = 0;
uint actionI = _topAction;
for (uint widgetI = 0; widgetI < _keymapWidgets.size(); widgetI++) {
ActionWidgets& widg = _keymapWidgets[widgetI];
Modified: scummvm/branches/gsoc2008-vkeybd/backends/keymapper/remap-dialog.h
===================================================================
--- scummvm/branches/gsoc2008-vkeybd/backends/keymapper/remap-dialog.h 2008-08-13 21:37:02 UTC (rev 33849)
+++ scummvm/branches/gsoc2008-vkeybd/backends/keymapper/remap-dialog.h 2008-08-13 22:20:18 UTC (rev 33850)
@@ -83,6 +83,8 @@
uint32 _remapTimeout;
static const uint32 kRemapTimeoutDelay = 3000;
+ bool _changes;
+
};
} // end of namespace Common
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