Commit Graph

3435 Commits

Author SHA1 Message Date
Thierry Crozat
4a3697a21c GUI: Bump theme version
There have been some changes to the theme (adding achievements tab
and renaming some widgets) without updating the version. This made
it possible for ScummVM to use an older theme file and crash.
2020-05-17 21:10:26 +01:00
Lothar Serra Mari
89d74b4784 GUI: Improve error message regarding errors while loading widget positions
Thank you for the suggestion, @trembyle!
2020-05-17 21:53:28 +02:00
mataniko
1b9fc31e2d JANITORIAL: Last remaining RTL references 2020-05-12 10:36:38 +02:00
mataniko
cc7b06d47a JANITORIAL: Update RTL references in themes and menus 2020-05-12 10:36:38 +02:00
mataniko
06242a712b JANITORIAL: Rename EVENT_RTL
Now that ScummVM is adding RTL support, the EVENT_RTL should be disambigious that it is for returning to launcher
2020-05-12 10:36:38 +02:00
Eugene Sandulenko
7a152e9af4 JANITORIAL: #include "engine.h" -> "engines/engine.h" 2020-05-10 23:45:43 +02:00
Henrik "Henke37" Andersson
c5bdd7a1f2 GUI: Use PauseToken in Debugger 2020-05-10 23:39:31 +02:00
Eugene Sandulenko
7759af515d GUI: Fixed warning 2020-05-10 14:03:17 +02:00
Lothar Serra Mari
42a6782851 I18N: Rebuild translations.dat 2020-05-10 11:06:20 +02:00
Eugene Sandulenko
6aacdb1938 GUI: Normalize width/height parameters
The fact that ThemeLayout had them int, and GuiObject as uint, was
leading to number of unexpected overflows.
2020-05-09 21:59:07 +02:00
Zvika Haramaty
1b8f471c69 GUI: Added (partial) BiDI support
Added GNU FriBidi, thus allowing Hebrew (or other future RTL languages)
to be displayed correctly.
It's been implemented for all ScummVM GUI (as far as I have noticed),
and can be further used by the engines as needed.

This work is only partial, because for complete BiDI support we'll need
to mirror the widgets, and support input text areas (which currently
don't even support Hebrew text input at all).

Some changes are required in order to use this:
- Visual Studio:
  -- add FriBidi lib from https://github.com/ShiftMediaProject/fribidi
     (and place the files in the other libs location)
  -- add fribidi.dll to the current directory
  -- add fribidi.lib to VS library list
     (in GUI it's: Project -> scummvm Properties -> Linker ->
                   input -> Additional Dependencies)
  -- Add USE_FRIBIDI define
     either to:
         dists/msvc/ScummVM_Global.props   <PreprocessorDefinitions>
     or in GUI:
         Project -> scummvm Properties ->
         C/C++ -> Preprocessor -> Preprocessor Definitions
- GCC:
  -- install FriBidi
     e.g.,
        Ubuntu: `apt-get install libfribidi-dev`
        CentOS: `yum install fribidi-devel`
  -- rerun `configure`
2020-04-30 10:32:18 +02:00
lolbot-iichan
c09abee01c GUI: Add GUI for per-game achievements tab 2020-04-29 10:31:36 +02:00
lolbot-iichan
8b96a6b719 GUI: Recompile GUI files 2020-04-29 10:31:36 +02:00
lolbot-iichan
11ea016121 GUI: Define achievement tab widget at theme files 2020-04-29 10:31:36 +02:00
lolbot-iichan
73f1da2773 GUI: View checked inactive checkbox as grey, not invisible 2020-04-29 10:31:36 +02:00
Eugene Sandulenko
ac82bb8823 GUI: Sync constructors 2020-04-28 10:04:09 +02:00
Eugene Sandulenko
47a0ab346a GRAPHICS: Fix potential sign extension 2020-04-27 14:54:44 +02:00
Eugene Sandulenko
20334118b9 GUI: Added sanity check to ThemeEngine 2020-04-27 14:51:53 +02:00
Eugene Sandulenko
3a0ddbf667 GUI: Added sanity check 2020-04-27 14:50:58 +02:00
Eugene Sandulenko
86712a3680 GUI: Initialize class variables in ListWidget 2020-04-27 14:46:58 +02:00
Eugene Sandulenko
1b01ecc511 GRAPHICS: Const'ness 2020-04-27 14:42:08 +02:00
Eugene Sandulenko
bc378c6999 GUI: Initialize variable and remove redundant check 2020-04-27 14:38:58 +02:00
Eugene Sandulenko
6fcc39810e GUI: Added sanity check 2020-04-27 14:04:04 +02:00
Thierry Crozat
8b0b9f11c6 OSYSTEM: Add kFeatureNoQuit to remove Quit buttons and replace Quit with RTL
Some platforms should not allow quitting ScummVM. For example the Apple's
HUG for iOS state that we should "Never quit an iOS applications
programmatically". Adding the kFeatureNoQuit allows those backend
that need it to remove the possibility to quit the application.
2020-04-26 16:19:37 +01:00
Eugene Sandulenko
9bea9fd5cf GUI: Sort games by dictionary, ignoring English articles 2020-04-24 10:54:00 +02:00
Eugene Sandulenko
b517525e7d CREDITS: Remove duplicate entry for BS2.5 2020-04-19 00:14:20 +02:00
Thierry Crozat
b32c82e18c CREDITS: Rerun make credits 2020-04-17 22:42:48 +01:00
Bastien Bouclet
f7efd3cd7f GUI: Fix error when renaming a target in the edit game dialog
The OptionsContainerWidget keeps a copy of the name of the game domain
that needs to be updated when the target is renamed.

Ideally, OptionsContainerWidget would simply keep a pointer to the
ConfigurationManager::Domain object, however that's not currently
possible as the ConfigurationManager defaults are global instead of
being per domain. As a result they are not accessible from the Domain
object.

Fixes #11416.
2020-04-11 08:16:21 +02:00
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