[Scummvm-cvs-logs] scummvm master -> 6c4d65e53f2bd4d61043ed06fcdf61416405bf87

tsoliman tarek at bashasoliman.com
Mon Feb 20 18:02:16 CET 2012


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
6c4d65e53f KEYMAPPER: Change how keymaps are displayed in the remap dialog


Commit: 6c4d65e53f2bd4d61043ed06fcdf61416405bf87
    https://github.com/scummvm/scummvm/commit/6c4d65e53f2bd4d61043ed06fcdf61416405bf87
Author: Tarek Soliman (tsoliman at scummvm.org)
Date: 2012-02-20T08:52:50-08:00

Commit Message:
KEYMAPPER: Change how keymaps are displayed in the remap dialog

This makes it so that there's 2 groups:
1 - The keymap stack
2 - The loaded keymaps

The first group displays which keymaps are active and which keymaps
are completely blocked due to an opaque keymap on top.

The second group displays which loaded keymaps store their mappings
globally and which ones store their mappings per-target.

Changed paths:
    backends/keymapper/remap-dialog.cpp



diff --git a/backends/keymapper/remap-dialog.cpp b/backends/keymapper/remap-dialog.cpp
index eb2d4c5..4ef39a1 100644
--- a/backends/keymapper/remap-dialog.cpp
+++ b/backends/keymapper/remap-dialog.cpp
@@ -57,14 +57,12 @@ RemapDialog::~RemapDialog() {
 }
 
 void RemapDialog::open() {
-	bool divider = false;
 	const Stack<Keymapper::MapRecord> &activeKeymaps = _keymapper->getActiveStack();
 
 	if (activeKeymaps.size() > 0) {
 		if (activeKeymaps.top().keymap->getName() == Common::kGuiKeymapName)
 			_topKeymapIsGui = true;
 		_kmPopUp->appendEntry(activeKeymaps.top().keymap->getName() + _(" (Effective)"));
-		divider = true;
 	}
 
 	Keymapper::Domain *_globalKeymaps = &_keymapper->getGlobalDomain();
@@ -98,35 +96,30 @@ void RemapDialog::open() {
 	uint32 idx = 0;
 
 	if (activeKeymaps.size() > 1) {
-		if (divider)
-			_kmPopUp->appendEntry("");
 		int topIndex = activeKeymaps.size() - 1;
+		bool active = activeKeymaps[topIndex].transparent;
 		for (int i = topIndex - 1; i >= 0; --i) {
 			Keymapper::MapRecord mr = activeKeymaps[i];
-			_kmPopUp->appendEntry(mr.keymap->getName() + _(" (Active)"), idx);
+			_kmPopUp->appendEntry(mr.keymap->getName() + (active ? _(" (Active)") : _(" (Blocked)")), idx);
 			_keymapTable[idx++] = mr.keymap;
+			active &= mr.transparent;
 		}
-		divider = true;
 	}
 
+	_kmPopUp->appendEntry("");
+
 	if (_globalKeymaps) {
-		if (divider)
-			_kmPopUp->appendEntry("");
 		for (it = _globalKeymaps->begin(); it != _globalKeymaps->end(); ++it) {
 			_kmPopUp->appendEntry(it->_value->getName() + _(" (Global)"), idx);
 			_keymapTable[idx++] = it->_value;
 		}
-		divider = true;
 	}
 
 	if (_gameKeymaps) {
-		if (divider)
-			_kmPopUp->appendEntry("");
 		for (it = _gameKeymaps->begin(); it != _gameKeymaps->end(); ++it) {
 			_kmPopUp->appendEntry(it->_value->getName() + _(" (Game)"), idx);
 			_keymapTable[idx++] = it->_value;
 		}
-		divider = true;
 	}
 
 	_changes = false;






More information about the Scummvm-git-logs mailing list