Commit Graph

3407 Commits

Author SHA1 Message Date
aryanrawlani28
345520b8cb GUI: improve predictive dialog in agi 2020-03-28 12:34:00 +01:00
Bastien Bouclet
bcfb7145fa GUI: Allow engines to define a fully custom tab in the edit game dialog
By implementing MetaEngine::buildEngineOptionsWidget, engines can
instantiate a container widget that will be shown in the Engine tab of
the edit game dialog. The default implementation retains the existing
behavior and shows the extra GUI options.
2020-03-28 07:38:39 +01:00
Bastien Bouclet
c8f2d8a1d3 GUI: Introduce OptionsContainerWidget, a container for settings widgets
OptionsContainerWidget is a GUI widgets container that is meant to be
used for configuration dialogs tabs. It provides an interface subclasses
can implement for loading and saving settings from a configuration domain.
2020-03-28 07:38:39 +01:00
Bastien Bouclet
8ae288c52f GUI: Allow defining layouts programmatically with a chaining syntax 2020-03-28 07:38:39 +01:00
Bastien Bouclet
9bd6d9ee08 GUI: Do not reflow layout attached widgets in the constructor
The parent widget they are attached to may not have been layed-out at the
moment of their construction.
2020-03-28 07:38:39 +01:00
Eugene Sandulenko
86ac3aeafc GUI: Disable tab scroll buttons instead of making them invisible 2020-03-27 22:28:17 +01:00
aryanrawlani28
bd688cfbc1 GUI: properly display scrollbuttons at edge 2020-03-27 22:21:40 +01:00
Lothar Serra Mari
0f02c16283 I18N: Rebuild translations data file 2020-03-24 22:55:13 +01:00
Lothar Serra Mari
99c2e23b13 I18N: Rebuild translations.dat 2020-03-21 09:04:29 +01:00
Bastien Bouclet
9cc2fee887 SDL: Enable joystick input by default
Game controller input is now enabled whenever a compatible device is
connected. The keymapper's keymaps are refreshed when a joystick is added
or removed.

Fixes #10366.
2020-03-16 18:41:27 +01:00
Cameron Cawley
f2db412ba5 GUI: Store the shader name in the config file instead of the ID 2020-03-09 18:01:14 -05:00
Cameron Cawley
7488e17c0a GUI: Allow shaders to be selected for individual targets 2020-03-09 18:01:14 -05:00
Eugene Sandulenko
3ccf5439df DOCS: Update credits 2020-03-08 23:49:26 +01:00
Lothar Serra Mari
ccd043a096 I18N: Rebuild translations data file 2020-02-26 22:12:10 +01:00
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