3393 Commits

Author SHA1 Message Date
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