Commit Graph
4489 Commits
Author SHA1 Message Date
Athanasios Antoniou d9088bbffa GUI: Improve behavior of console history
GUI: Improve behavior of console history

Do not persist empty strings, prevent scolling upwards to _historyIndex entry when full, and save to history file in proper order
2022-04-26 21:48:41 +03:00
athrxx eb29aea4b4 TTS: (Windows) - implement better way to disable the option
Currently, the text-to-speech manager will try to update the voices whenever TextToSpeechManager::pushState()/popState() is called. This causes lags of 4 - 5 seconds on Windows. Also, a warning is triggered each time. This commit prevents that from happening if the tts option is not enabled.

This commit currently affects only Windows. Other backends don't make use of the new _enabled setting. I don't know if it would make sense for any of these and I also wouldn't be able to test it.
2022-04-26 21:08:41 +03:00
Lothar Serra Mari efa8ad1036 I18N: Update translations datafile 2022-04-22 18:58:39 +02:00
D G Turner bd1595a074 GUI: Fix Signed vs. Unsigned Compiler Warning in Debugger 2022-04-17 17:00:37 +01:00
Thierry Crozat 046b6a6328 GUI: Improve format of debugger md5 command result 2022-04-17 14:34:59 +03:00
Thierry Crozat 571e11d724 GUI: Add tail md5 option to the md5 and md5mac debugger commands
To compute the tail md5, you need to specify a negative length,
which is consistent with how it is done for the command line
option.
2022-04-17 14:34:59 +03:00
Le Philousophe d308600bcb GUI: Add comment for translators 2022-04-16 15:47:47 +02:00
Donovan Watteau 1e33079b25 GUI: Print compiler name/version in About dialog 2022-04-15 22:43:57 +02:00
Eugene Sandulenko 65b95d90ce GUI: Add missing override keyword 2022-04-15 22:39:47 +02:00
antoniou79 d655a3be1c GUI: Rever fix for not adding empty user input in Console history
This reverts commit 27c95858ba.
2022-04-13 12:32:09 +03:00
antoniou79 27c95858ba GUI: Prevent adding empty user input in Console history 2022-04-13 10:39:51 +03:00
Thierry Crozat 3d3cd083bf GUI: Fix scrolling history in the Console widget
When starting to scroll, the current line is added to the history
so that if we scroll up and then down we get it back. This was
initially implemented correctly, but borken later on in 51dceaf165
when the history was changed to use Common::String.
2022-04-12 22:29:13 +01:00
antoniou79 325260f1ae GUI: Fix scrolling in launcher and GMM tabs
This should address the #13106 issue and similar

It makes widgets, who don't implement handleMouseWheel(), call the handleMouseWheel() of their parent by default
Logic is borrowed from how widgets forward unhandle commands to their parent in handleCommand()
2022-04-11 23:01:30 +03:00
Le Philousophe 8ec10f5892 GRAPHICS: Create a dynamic list of available renderers
This allows us to not offer a renderer which is not available on the
platform.
2022-04-10 18:11:46 +02:00
Le Philousophe 1e4696f6d0 OPENGL: Rework renderer selection code
Add a class to group all renderer related (static) functions.
This allows to have getBestMatchingAvailableType inline in all engines.

The matching code is now shared between all engines but allows
customization for engines needing it (Grim, WME3D).

The new code takes runtime availability of features to select the
best renderer.
It avoid crashes when user choosed OpenGL but GLES2 is used.
2022-04-03 22:17:19 +02:00
SupSuper 22711c9d0d GUI: Show full game description in grid view tooltip 2022-04-02 05:52:06 +01:00
SupSuper 95f8fc1218 GUI: Handle grid fallback icons more gracefully
Always use the full ID as thumbPath
2022-04-01 08:11:03 +01:00
SupSuper 284c3936ed GUI: Fix grid game icons only showing once 2022-03-31 01:06:49 +01:00
SupSuper 10b085ee5f GUI: Render grid thumbnails correctly in different pixel formats 2022-03-29 05:29:13 +01:00
SupSuper dd4d8fc859 GUI: Add engine icon fallbacks to GridWidget thumbnails 2022-03-29 05:29:11 +01:00
Torbjörn Andersson d057880f92 GUI: Fix unpressed state of checkboxes and radio buttons
Clicking on a checkbox (and, presumably, a radio button) would leave it
in the "pressed" state, which would inhibit tooltips for it. Now the
unpressed state is cleared along with _duringPress for both these
classes. There are other widgets that inherit from ButtonWidget, but
they either already did this, or didn't override handleMouseUp(), so
they should be fine.
2022-03-28 11:16:50 +02:00
Roland van Laar 40627f0caf GUI: Debugger: Implement defaultCommandProcessor
A defaultCommandProcessor let's an engine take over the processing of
commands in the debugger. The Director Engine uses the functionality to
implement a repl for the Lingo language.

Example Usage:
    registerDefaultCmd(WRAP_DEFAULTCOMMAND(Debugger, lingoCommandProcessor));

The input will now be handled by lingoCommandProcessor. Other commands
will not work untill control is given back to the debugger.

It's up to the engine to return control to the debugger when done.
To return control, call it with a nullptr:
    registerDefaultCmd(nullptr);
2022-03-22 23:39:54 +01:00
Eugene Sandulenko 1cbc71d0ff GUI: Marked more strings for translation 2022-03-18 13:22:28 +01:00
Eugene Sandulenko 9f37857070 GUI: Made "OK" consistent in various dialogs. We used "Ok" in a few places 2022-03-18 13:21:11 +01:00
antoniou79 8fcfb7e585 GUI: Fix bad EditTextWidget rect at low window widths
Fix bug https://bugs.scummvm.org/ticket/13339

Solution is taken from our ListWidget (gui/widgets/list.cpp) which performs a similar check in its ListWidget::getEditRect()
2022-03-06 09:01:50 +01:00
antoniou79 37e74af914 GUI: Fix missing parentheses causing build failure 2022-03-02 15:19:09 +02:00
Antoniou Athanasios 3ee5a99619 ANDROID: More safeguards against empty path in browser 2022-03-02 14:29:56 +02:00
Thierry Crozat 24cec3cd1b GUI: Fix use after free of surface in GridWidget
This happened after calling scaleGfx if the original surface was
already at the correct size. In such a case scaleGfx returns the
original surface, so it should not be freed.
2022-02-27 20:11:02 +00:00
Lothar Serra Mari 1646ce52e0 I18N: Update translations datafile 2022-02-26 10:35:01 +01:00
Thierry Crozat 66f8104919 GUI: Save launcher grouping mode in config file 2022-02-23 00:22:29 +00:00
Lothar Serra Mari 8e4ec241fb I18N: Update translations datafile 2022-02-22 21:33:52 +01:00
SupSuper 57d0df273e GUI: Scale grid widget icons with filtering 2022-02-22 17:46:21 +00:00
Die4Ever 329fe24abb GUI: rename options buttons (#3681)
* GUI: rename buttons

Rename Edit Game to Game Options and Options to Global Options to make it less confusing.

Remove ellipsis on launcher buttons.

* GUI: put ellipsis back

* GUI: abbreviate options button texts for lowres

* GUI: use 320 width for lowres

* GUI: remove ellipsis from About button
2022-02-16 19:39:41 -06:00
Lothar Serra Mari 0bc67347ff I18N: Update translations datafile 2022-02-15 11:18:34 +01:00
Torbjörn Andersson 5a66eb2f91 GUI: Add ShortOptionsLabel widget to the remaining themes
It was already in the Classic theme. I could have removed it, but it
looks like it's going to be useful to me.
2022-02-12 10:24:26 +01:00
Die4Ever 4886410522 CREDITS: Fix alphabetical order for Groovie 2022-02-11 10:03:24 -06:00
Die4Ever 795d5b7391 CREDITS: Add myself to the Groovie engine credits 2022-02-11 01:12:47 -06:00
Thierry Crozat 57151505ea GUI: Fix theme version
The theme files were modified in c80adc3e, and the theme version was
incremented in the theme files, but not in the ThemeEngine, causing
a discrepency.
2022-02-08 13:04:08 +00:00
Torbjörn Andersson c80adc3e8b SCUMM: Add setting for the Loom Overture tempo on the Engine tab
It's hard to make this appear only on EGA Loom, so the tooltip has to
document the fact that it's only useful there. The setting is made
relative to the default tempo, which I feel is a much more sensible way
of presenting it to the user than the raw ticks value.
2022-02-08 13:31:39 +01:00
Cameron Cawley a8579176d4 GUI: Remove kFeatureOnScreenControl and kFeatureSwapMenuAndBackButtons 2022-02-07 00:53:34 +02:00
Cameron Cawley a1e5349543 GUI: Update the builtin theme 2022-02-06 21:50:44 +00:00
Le Philousophe 9f84198643 ANDROIDSDL: Remove deprecated port 2022-02-06 21:34:08 +01:00
Lothar Serra Mari 1628a55531 I18N: Update translations datafile 2022-02-06 07:51:59 +01:00
neuromancer 53664dfc44 CREDITS: Regenerate 2022-01-31 09:32:27 +01:00
Thunderforge fd129ebc0c JANITORIAL: "Mac OS X" and "OS X" to "macOS" in comments
Apple's desktop operating system was formerly called "Mac OS X" and "OS X", but since 2016 it has been called "macOS" (starting with version 10.12).

Changing across all comments and documentation to use this current terminology, except in cases where the historical versions are explicitly referenced. No code changes are made; we should consider changing those in future PRs.
2022-01-29 14:15:05 +01:00
Thunderforge 79e36e1817 GUI: Changing "About..." button to "About"
The current recommended and de factor behavior from both Microsoft and Apple is to have "About" menus be without trailing ellipses. Therefore, I think we should follow suit.

Traditionally, About menus and buttons had a trailing ellipsis. [This article](https://uxdesign.cc/dot-dot-dot-7ce6170bfc7f) demonstrates this behavior for  both Mac OS 1.0 (technically "System 1.0") and Windows 1.0.

However, current versions of macOS and Windows do not have a trailing ellipsis in About menus. Moreover, their design guidelines recommend not using them. From [Apple](https://developer.apple.com/design/human-interface-guidelines/macos/menus/menu-anatomy/):

> Use an ellipsis whenever choosing a menu item requires additional input from the user. The ellipsis character (…) means a dialog or separate window will open and prompt the user for additional information or to make a choice.

Since no additional input is required from the user for the About menu, it is inappropriate to use an ellipsis according to these guidlelines.

Microsoft [explicitly says](https://docs.microsoft.com/en-us/windows/win32/uxguide/ctrl-command-buttons) that About menus should not have an ellipsis (emphasis mine):

> This doesn't mean you should use an ellipsis whenever an action displays another window only when additional information is required to perform the action. Consequently,** any command button whose implicit verb is to "show another window" doesn't take an ellipsis, such as with the commands About**, Advanced, Help (or any other command linking to a Help topic), Options, Properties, or Settings.

Given all this, I think we should be in line with current best practices and remove it from the menu.
2022-01-27 12:09:55 +00:00
Eugene Sandulenko 43d16746c0 GUI: Add override keywords 2022-01-25 22:16:11 +01:00
Die4Ever b8e4fb7380 GUI: fix RTL clip rect for tabs with scrollbars 2022-01-23 20:28:55 +02:00
Die4Ever 626b86fcce GUI: fix removeTab not writing back _firstWidget 2022-01-23 20:28:55 +02:00
Die4Ever 42a27fda40 GUI: tabs with scrollbars for more pages 2022-01-23 20:28:55 +02:00