Commit Graph
108 Commits
Author SHA1 Message Date
Bastien Bouclet 5878c618c9 GUI: Remove Dialog::markAsDirty to expose full GUI redraws 2018-01-27 18:12:34 +01:00
Bastien Bouclet 0496ede62f GUI: Implement dirty-checking for widget redraws 2018-01-27 18:12:34 +01:00
Eugene Sandulenko 9b8b737fad KEYMAPPER: Fix off-by-one error with keymapper action names 2014-10-26 22:20:57 +01:00
Matthew Hoops 5159996cec KEYMAPPER: Have clicking on another remap button disable remapping
Prevents the remapping code from being activated twice (throwing an assertion)
2014-02-20 01:06:50 -05:00
Johannes Schickel 594aaad38f KEYMAPPER: Make GPL headers consistent in themselves. 2014-02-18 02:39:35 +01:00
Willem Jan Palenstijn c9f0e8149d ALL: Fix typo (succesful -> successful)
Thanks to 'onlyjob' on pull request #337 for pointing out an instance of this.
2013-06-06 16:45:59 +02:00
Tarek Soliman c0a215282d KEYMAPPER: Add delays for *UP events coming from non-keys
Delayed entries are in a queue where each entry stores how
many milliseconds should pass based on the last entry.
2012-03-02 20:48:50 -06:00
Tarek Soliman d12f21b31d KEYMAPPER: Map non-key custom input events
This also makes the keymapper be in charge of keymapping logic
2012-03-02 20:48:50 -06:00
Tarek Soliman 4ee1a3acea KEYMAPPER: Add non-key inputs to HardwareInput 2012-03-02 20:48:50 -06:00
Tarek Soliman 477c1b9a87 KEYMAPPER: HardwareInputSet now has defaults
Ports can add additional special keys.
SDL no longer carries the static tables.
Default behavior unchanged: HardwareInputSet() still gives an empty one.
2012-02-28 06:45:35 -06:00
Tarek Soliman 4d1e6c3d54 KEYMAPPER: Move HardwareInputSet implementation out of header file 2012-02-28 06:34:19 -06:00
Tarek Soliman 6afac4e01e KEYMAPPER: Rename HardwareKey to HardwareInput 2012-02-27 13:00:56 -06:00
Tarek Soliman dbdfc13819 KEYMAPPER: Fix a signed/unsigned comparison warning 2012-02-22 15:16:52 -06:00
Tarek Soliman 92aabb6868 KEYMAPPER: Change HardwareKey id to Common::String 2012-02-22 07:44:59 -06:00
Tarek Soliman e1e9bd5c0e KEYMAPPER: Clean up more dead code
More automapper related dead code
2012-02-21 13:39:05 -06:00
Tarek Soliman aa42d78658 KEYMAPPER: Remove automapping dead code 2012-02-21 08:20:40 -06:00
Tarek Soliman 56e517fdad KEYMAPPER: Add some comments 2012-02-20 12:26:25 -06:00
Tarek Soliman 6c4d65e53f 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.
2012-02-20 10:52:50 -06:00
Tarek Soliman a0ba4eb569 KEYMAPPER: Rewrite the EventMapper API 2012-02-20 06:49:22 -06:00
Tarek Soliman e7ade8ae05 KEYMAPPER: EventMapper must now eat all events 2012-02-20 06:49:21 -06:00
Tarek Soliman cce5be67dc KEYMAPPER: Allow ports to define default Keymap Action bindings 2012-02-15 17:07:52 -06:00
Tarek Soliman a4798602d7 JANITORIAL: Fix missing whitespace in pointer cast
find -name '*.h' -or -name '*.cpp' | xargs sed -r -i 's@\(([A-Za-z0-9]+)\*\)@(\1 *)@g'

This seems to have caught some params as well which is not undesirable IMO.
It also caught some strings containing this which is undesirable so I
excluded them manually. (engines/sci/engine/kernel_tables.h)
2012-02-15 10:07:10 -06:00
Tarek Soliman 921f602ab8 JANITORIAL: Fix whitespace in pointer template arg 2012-02-15 10:07:08 -06:00
Tarek Soliman dbcd177606 KEYMAPPER: Make some parameters const 2012-02-15 10:07:08 -06:00
Tarek Soliman 705761011d KEYMAPPER: Allow ports to define their own global keymap 2012-02-12 13:28:13 -06:00
Tarek Soliman 52da780fbc KEYMAPPER: Refactor HardwareKeySet generation 2012-02-12 13:28:13 -06:00
Tarek Soliman 06b5299461 KEYMAPPER: Fix re-selecting the top keymap
Re-selecting the top entry would always populate the actions
from the GUI keymap since it is the active keymap (the remap
dialog itself is GUI)

The top keymap was correct during RemapDialog::open() because
the gui keymap had not been pushed to the stack yet.
2012-02-09 02:49:21 -06:00
Tarek Soliman 38dea529e8 KEYMAPPER: Display active keymap stack in remap dialog popup list
This should make it clear what keymaps are on the stack and in
what order.

Also renamed the label of the top "special" entry in the list to
"(Effective)" since it displays the top keymap's action and also
displays reachable mapped actions from other active keymaps.
2012-02-09 02:15:35 -06:00
Tarek Soliman 9de279b2ab KEYMAPPER: Fix active keymap name displayed in remap dialog
This workaround no longer applies and is in fact causing a bug
in the name of active keymap
2012-02-05 19:01:51 -06:00
Tarek Soliman 07f1d33ef7 KEYMAPPER: Fix annoying debug message 2012-02-04 20:47:12 -06:00
Tarek Soliman a488556dcd KEYMAPPER: Handle EVENT_MAINMENU directly 2012-02-02 19:10:01 -06:00
Tarek Soliman 70d94bdd2c KEYMAPPER: Allow simple events to be added to an Action
This also simplifies the Action code a little bit
2012-02-02 19:05:05 -06:00
Tarek Soliman 37d77253cf KEYMAPPER: Add failsafe code for popping into Keymapper itself
Thanks LordHoto
2012-01-07 22:08:57 -06:00
Tarek Soliman d143872be6 KEYMAPPER: Constantify global keymap name 2012-01-07 21:20:29 -06:00
Tarek Soliman 82e0900678 KEYMAPPER: Rename inherit flag to transparent
Less confusing
2012-01-07 21:10:05 -06:00
Tarek Soliman b89bc000d9 KEYMAPPER: Remap dialog shows buttons before labels 2011-12-30 15:52:40 -06:00
Tarek Soliman 16d529cdc3 KEYMAPPER: Use single column in remap dialog
This is to allow for long labels like in the eob keymap
2011-12-30 15:52:40 -06:00
Tarek Soliman 0e0eddbab3 KEYMAPPER: Fix clear button behavior in remap dialog
This is a regression from 1b11139dc5
2011-12-30 13:13:41 -06:00
Tarek Soliman 366a942a3a KEYMAPPER: Simplify calling getKeymap 2011-12-30 13:03:39 -06:00
Filippos Karapetis a473934abd COMMON: Perform some keymapper-related changes to the KeyState struct
The == operator in KeyState should not be checking for sticky modifier
keys. This allows the keymapper's defined actions to function correctly
in desktop platforms, when sticky modifier keys such as caps lock and
num lock are turned on. Also, added some sanity checks to hasFlags()
and enums for sticky and non-sticky keys
2011-12-30 13:59:55 +02:00
Filippos Karapetis d55ce36268 KEYMAPPER: Use hasFlags() in findHardwareKey() 2011-12-30 01:15:06 +02:00
Filippos Karapetis 1d3ff35373 KEYMAPPER: Disable the (accidentally reenabled automatic mapper again 2011-12-30 00:12:45 +02:00
Filippos Karapetis 410c9e0b30 KEYMAPPER: Fix broken implementation of findHardwareKey()
This fixes the keymapper dialog (at least on desktop platforms), but the
keymapper itself is still not working (tested with LoL)
2011-12-30 00:09:10 +02:00
Tarek Soliman 1b11139dc5 KEYMAPPER: Switch to using addClearButton() 2011-12-13 08:37:19 -06:00
Tarek Soliman feb04d2164 KEYMAPPER: Add Common::KeyActionEntry for making simple keymap tables 2011-12-12 20:18:40 -06:00
Tarek Soliman b708d6de79 Revert "KEYMAPPER: Make global keymap that is always active"
This reverts commit ac85d134b3.
2011-11-02 10:16:16 -05:00
Tarek Soliman 57bc9a21cc KEYMAPPER: Improved clear button
It uses the fancy new kImageEraser now
2011-10-28 22:53:30 -05:00
Tarek Soliman 07f1c2032a KEYMAPPER: Add tooltip text for clear buttons 2011-10-28 22:51:53 -05:00
Tarek Soliman b8ef739d14 KEYMAPPER: Only skip the top GUI keymap when populating the active keymap
This is because the top GUI keymap is for the keymapper dialog itself.
If all GUI keymaps are skipped then when inside a game with the GMM displayed
and the keymapper dialog invoked, the game keymap is displayed even though it
is not the active one.
2011-10-27 10:46:23 -05:00
Tarek Soliman a5082ffa5d KEYMAPPER: Skip GUI keymap when displaying active keymap in keymapper dialog
This fixes a problem where opening the keymapper dialog would cause the current game
keymap to be displayed as the active keymap but then changing the keymap selection
back to it would cause the GUI keymap to be displayed as the active one. The GUI keymap
was indeed at the top of the stack but that's not the desired effect.

Also move the pushing and popping of the keymap to Dialog::Open/Close
Also constantify the GUI keymap name
2011-10-27 10:46:22 -05:00