Paul Gilbert
289c5947ce
ULTIMA8: Redirect keybindings to now use Debugger
2020-02-23 09:52:20 -08:00
Bastien Bouclet
aaa71d53b2
GUI: Don't try drawing widgets with an empty bounding rectangle
...
Fixes the dropdown buttons being incorrectly drawn in the keymaps
dialog with the classic theme when scrolled down.
2020-02-22 13:14:04 +02:00
Bastien Bouclet
9475192e81
ENGINES: Add a keymaps tab in the in-game options dialog
2020-02-22 13:14:04 +02:00
Bastien Bouclet
94344ccf8e
GUI: Allow providing an explicit size for screen_center dialogs
...
Without an explicit size the layout system does not have enough
constraints to produce nice looking dialogs. Up until now the workaround
was to set explicit an size for some of the widget. This worked well
enough except when resizing down the window up until the widget size
constraints could no longer be enforced. At that point, produced layouts
looked too squished.
2020-02-22 13:14:04 +02:00
Lothar Serra Mari
41585cf8fd
I18N: Rebuild translations.dat
2020-02-22 10:47:25 +01:00
Paul Gilbert
1687427e8e
ENGINES: Mark autosave slots as write protected
...
If the autosave slot doesn't yet have any file in it, when the
GMM save dialog is open, the autosave slot will show a default
'Autosave' entry which is write-only, to prevent users
accidentally making a savegame in that slot
2020-02-16 15:44:28 -08:00
Thanasis Antoniou
6e7bfc5b78
GUI: Don't store an invalid browser_lastpath in updateListing()
2020-02-11 00:54:56 +02:00
Thanasis Antoniou
d6bbc67457
GUI: Fix invalid message when browser path was chosen empty
2020-02-11 00:54:12 +02:00
Thanasis Antoniou
34f9015e66
GUI: OPTIONS: Use translated string for None entry in Accessibility tab
2020-02-09 22:23:03 +02:00
Thanasis Antoniou
f971e1e4a8
GUI: OPTIONS: Cloud storage list populated with translated string on addCloudControls()
...
Resolves a bug with displaying the wrong (previous) translation when switch theme language
Previously, a translated string was stored in cloudmanager _storages config items, which would become stale if the theme language was changed.
2020-02-09 22:06:19 +02:00
Zvika Haramaty
f3082a5588
GUI: add optional 'alignment' parameter to 'MessageDialog'
2020-02-09 13:18:37 +02:00
Bastien Bouclet
0f1e1894c1
GUI: Add the arrow keys to the GUI keymap
2020-02-09 07:29:43 +01:00
Bastien Bouclet
a56383e699
TESTBED: Use a dedicated dialog layout for the configuration dialog
...
The testbed configuration dialog was previously re-using the browser
dialog. That dialog is defined to overlay the game list from the launcher
screen. However, while in the testbed engine the dimensions of
the layout of the launcher dialog may have been lost, causing the
configuration dialog to fail to layout.
2020-01-30 07:34:27 +01:00
Bastien Bouclet
f7a934b687
GUI: Use a default size for dialogs when the overlayed dialog has not been sized
...
Some dialogs overlay the launcher's game list. However, the launcher is
not always shown and as such is not always layed out. Laying out the
dependent dialogs would fail. This problem was indroduced with the
dynamic layout system. Previously the dialogs were layed out eagerly on
theme initialization. Which is no longer possible as dialogs now need to
be initialized to be layed out.
2020-01-30 07:34:27 +01:00
Bastien Bouclet
cc15496e9e
KEYMAPPER: Use a dropdown button to save horizontal space
2020-01-29 08:51:30 +01:00
Bastien Bouclet
519b4a57e2
KEYMAPPER: Allow engines to return multiple keymaps
...
The idea is that keymaps may be situational. A keymap may be always
enabled, while another one may be enabled only during combat..
2020-01-29 08:51:29 +01:00
Bastien Bouclet
426867f4bc
KEYMAPPER: Give human readable descriptions to the keymaps
2020-01-29 08:51:29 +01:00
Bastien Bouclet
32174c9067
KEYMAPPER: Actions can now be bound to joystick buttons
2020-01-29 08:51:29 +01:00
Bastien Bouclet
7617723ab5
KEYMAPPER: Allow backends to register multiple keymaps
2020-01-29 08:51:29 +01:00
Bastien Bouclet
14663c4790
KEYMAPPER: Make the keymapper mandatory
2020-01-29 08:51:29 +01:00
Bastien Bouclet
511d138bbc
KEYMAPPER: Move the remap dialog to an option dialog tab
...
The aim is to make it easy to discover, and possible to use without a
keyboard.
2020-01-26 23:09:08 +02:00
Bastien Bouclet
54f57568bc
GUI: Expose the keymap builder function
2020-01-26 23:09:08 +02:00
Bastien Bouclet
19de568e24
KEYMAPPER: Untangle the dependencies between Action and Keymap
2020-01-26 23:09:08 +02:00
Bastien Bouclet
52be1c8c63
EVENTRECORDER: Register as an event observer rather than a mapper
2020-01-26 19:07:53 +01:00
Bastien Bouclet
17791e2f7d
KEYMAPPER: Actions can now have default mappings
2020-01-26 19:07:53 +01:00
Bastien Bouclet
3b5016a62d
KEYMAPPER: Change the remap dialog to use a scrollable container
2020-01-26 19:07:53 +01:00
Bastien Bouclet
9c0bc2b633
KEYMAPPER: Simplify the way keymaps are enabled and disabled
2020-01-26 19:07:53 +01:00
Bastien Bouclet
ac44469558
KEYMAPPER: Remove the domain class
2020-01-26 19:07:53 +01:00
Bastien Bouclet
ada44ca760
GUI: Remove unneeded includes
2020-01-26 19:07:53 +01:00
Bastien Bouclet
7edff01e69
KEYMAPPER: Move the remap event capture logic out of the keymapper
2020-01-26 19:07:53 +01:00
Bastien Bouclet
63142d8090
COMMON: Event observers can't eat poll notifications anymore
...
It did not make much sense, and was unused.
2020-01-26 19:07:53 +01:00
Bastien Bouclet
e197a75829
KEYMAPPER: Action can generate only a single event
2020-01-26 19:07:53 +01:00
Bastien Bouclet
b7a816f1eb
KEYMAPPER: Clean up the classes dependencies
2020-01-26 19:07:53 +01:00
Eugene Sandulenko
86e4752da4
CREDITS: Add Scott Percival in a proper way
2020-01-24 22:03:04 +01:00
Cameron Cawley
c229b9235a
GUI: Regenerate the theme archives
...
Fixes a regression from commit 8c1d277.
2020-01-23 19:44:30 +00:00
Filippos Karapetis
daed2a3a40
GUI: Fix build when dynamic plugins are enabled
2020-01-22 09:19:38 +02:00
Cameron Cawley
8c1d277a77
GUI: Use a ScrollContainer for the Misc tab
...
Fixes Trac #10961
2020-01-22 07:55:42 +02:00
Cameron Cawley
c0aa5b9332
GUI: Split GlobalOptionsDialog::build() into multiple functions
2020-01-22 07:55:42 +02:00
Bastien Bouclet
6e1abf064a
GUI: Use nullptr instead of 0 or NULL where appropriate
2020-01-19 15:08:37 +01:00
Bastien Bouclet
c566d02992
GUI: Add override markers where appropriate
2020-01-19 15:08:37 +01:00
Bastien Bouclet
cf1c092617
GUI: Prevent layouts from giving negative dimensions to widgets
...
When there is not enough room to layout the widgets, dimensions are now
clipped to zero intead of going negative.
2020-01-12 12:29:37 +01:00
Bastien Bouclet
f7770f821d
GUI: Don't draw the checkbox widget text when there is not enough room
...
Fixes a crash in the edit game dialog volume tab with the Greek
translation.
2020-01-12 12:29:37 +01:00
Bastien Bouclet
0aa3d6deb0
GUI: Ignore the padding of imported layouts
...
Fixes the widgets in the volume tab in the edit game dialog having
inconsistent spacing with the other tabs.
2020-01-12 12:29:37 +01:00
Paul Gilbert
a18eae1067
GUI: Fix crash opening edit game dialog for games with no music
2020-01-09 18:37:19 -08:00
D G Turner
1dc24d06fd
GUI: Fix Missing Default Switch Cases in Theme Layout Class
2020-01-08 19:16:21 +00:00
Bastien Bouclet
4182c50a92
GUI: Fix the SaveLoadDialog with the lowres layouts
...
The thumbnail layout element is not available in the lowres layouts.
Issue introduced by c0d8b6d9fc73abc8de4575686e0776e3468d37b2.
Fixes #11304 .
2020-01-05 08:34:24 +01:00
Bastien Bouclet
cb2bb8fac7
GUI: Add clear button for the plugins path
...
The other paths have one.
2020-01-04 17:48:13 +01:00
Bastien Bouclet
2de01a3553
GUI: Bump the theme format version
2020-01-04 10:59:15 +01:00
Bastien Bouclet
eb28c5a092
GUI: Use a dialog theme layout for the unknown game dialog
2020-01-04 10:56:25 +01:00
Bastien Bouclet
346d53b034
GUI: Add finer control over cross-direction alignment for layout items
...
Previously it was only possible to specify whether items where aligned
to the start or centered in the cross direction of the layouts. It is
now additionally possible to align the items to the far end of the cross
direction or to resize them to match the size of the layout.
Terminology and behavior are loosely based on CSS's flexbox containers.
2020-01-04 10:56:25 +01:00