Commit Graph
4563 Commits
Author SHA1 Message Date
Thunderforge fe001b35b5 COMMON: Adding default iconspath functionality
It's for macOS only right now.
2022-07-02 22:34:36 +02:00
Thierry Crozat b248add106 GUI: Improve thread-safety for icons set access
The previous commit was not sufficient as getIconsSet() returns a
reference to the SearchSet and it could then be used after the
mutex had been unlocked and while it was being modified in
initIconsSet() called in another thread.
2022-07-02 21:46:14 +02:00
Thierry Crozat 8cda1fe870 GUI: Change the mechanism to update the grid launcher after upding the icons
The icons download dialog was triggering the grid launcher update after
icons had been downloaded. But that means no update was done if the
dialog had been closed during the download.

Now the GUIManager triggers the update. This fixes the missing update
when hiding the download dialog while downloading an icon set.
2022-07-02 21:46:14 +02:00
Thierry Crozat 42a2aef1c5 GUI: Add mutex for the GuiManager icon set
GuiManager::initIconsSet is called from a callback of the iconset
download dialog, which runs in a separate thread. That means the
iconset can be accessed from two separate thread (the GUI thread,
and the download thread).

This was not an issue until the previous commit as closing the
download dialog while a download was ongoing would crash ScummVM.
But now that the crash is fixed, a race condition was possible.
2022-07-02 21:46:14 +02:00
Thierry Crozat 9936aed687 GUI: Move icon download callbacks to the DialogState
This fixes a crash when hiding the DownloadIconsDialog while
downloading an icons pack.
2022-07-02 21:46:14 +02:00
antoniou79 d7dcce6901 GUI: Fix mouse wheel on grid item tray
When using the mouse wheel (scroll up/down) in the Grid view, item tray for a selected game, ScummVM would exit

I didn't notice any side-effects from the fix, but someone more familiar with the code should confirm.
2022-07-02 12:03:05 +02:00
Cameron Cawley 2c2922d4b3 GUI: Preserve the enabled state of _soundFontClearButton when reflowing the window 2022-07-01 09:06:10 +03:00
Cameron Cawley 831a3a33db GUI: Update the builtin theme 2022-06-30 23:13:37 +01:00
Filippos Karapetis 25401cdf92 GUI: Add missing domain when checking for subtitle config - bug #13629
This disallowed selecting "both" for speech and subtitles, as the
subtitles setting was never saved. A regression from d6dbf721b6.
2022-06-30 17:14:58 +03:00
antoniou79 dc69bd4d67 GUI: Fix infinite loop with mouse wheel over tab
Reported as regression in #13106

Comment link:  https://bugs.scummvm.org/ticket/13106#comment:4
2022-06-29 15:54:06 +03:00
Thierry Crozat 715492b3ca GUI: Fix crash in GridWidget when adding game to grid launcher
The crash was not systematic but occured in the case where adding
the game did not change the indexes for the first and last visible
items. The issue was that in setEntryList() was called it did not
cleat the _visibleEntryList array that still contained dangling
pointers to the old items in the _dataEntryList. In most cases
the _visibleEntryList would be updated with pointers to the new
items when calcVisibleEntries() was called from reflowLayout(),
before being used in assignEntriesToItems() (also called from
reflowLayout()). But if the indexes of the first and last visible
items did not change, _visibleEntryList was not updated and we
got a crash in assignEntriesToItems() when trying to access freed
memory.
2022-06-21 00:33:24 +01:00
Lothar Serra Mari 67798f5519 I18N: Update GUI translations datafile 2022-06-16 06:33:43 +02:00
Lothar Serra Mari d1199aec17 I18N: Update GUI translations datafile 2022-06-13 20:23:15 +02:00
Thierry Crozat 5ea034391b GUI: Add slider for Grid Launcher icon size 2022-06-12 22:08:53 +01:00
antoniou79 07c1e5cc2a GUI: Fix thumbnails for event recorder dialogue
Also prevent segmentation fault cases related to low-res or switching from low-res to hi-res

And fix memory leak related to loading and scaling of the thumbnail image

A lot of the updated logic is borrowed from the saveload-dialog.cpp for the simple list view (with the thumbnail to the right of the list).
2022-06-12 15:08:01 +02:00
Christian Kündig f825c027a7 CREDITS: Add myself to the backend credits 2022-06-12 14:34:13 +02:00
Filippos Karapetis 68ee726d2b GUI: Introduce a maximum dialog width/height for the options dialogs
PR #3976 changed the game and global options dialogs so that they are
inside the ScummVM main window, instead of the game list chooser.

We now limit the option dialog width and size, so that there isn't too
much spacing in large resolutions.
2022-06-12 12:55:53 +03:00
athrxx 54af166305 COMMON: (AD) - further reduce output of mass add detection
Follow-up to the feature that allows skipping certain ADGF flags.

This here now also allows skipping of incomplete file/md5/size matches. It is basically the same behavior as the graylist. For the mass add all files are treated as if they are on the list.
2022-06-12 10:12:39 +02:00
athrxx e01416ef32 COMMON: (AD) - allow mass add to skip targets with certain ADGF flags
I added skipping for the ADGF_WARNING and ADGF_UNSUPPORTED flags.

For me, this is mostly about fixing bug no. 13282. We sometimes have bogus entries which only have the purpose of presenting the error message (reasons for being unsupported) contained in the extra field of the detection entry.
2022-06-12 10:12:39 +02:00
SupSuper 7acc1cd3bc GUI: Enlarge the Options dialog 2022-06-11 13:29:00 +03:00
Athanasios Antoniou 1146f3d72d GUI: Fix iconpath iconspath Confman key discrepancy
Fixes issue with unable to download icons update (from Misc Tab) even though an icons path is set in Paths tab.
2022-06-10 23:10:51 +03:00
Le Philousophe 6a3e97d863 GUI: Fix dangling pointer when _headerEntryList was reallocated
As we know the size of the array in advance we can preallocate it.
2022-06-10 07:52:46 +02:00
Eugene Sandulenko 84a17741b6 GUI: Fix grid list highlight after editing game. Bug #3960 2022-06-10 01:00:07 +02:00
Le Philousophe 507aaae0bd GUI: When resizing grid make sure selected entry is displayed
Without this, at startup, the grid is not scrolled on the selected game.
2022-06-10 00:52:14 +02:00
Le Philousophe b94ad4d8b8 GUI: Implement setSelected in Grid and use it in launcher 2022-06-10 00:52:14 +02:00
Le Philousophe d2f327921c GUI: Don't store GridItemInfo items twice 2022-06-10 00:52:14 +02:00
Le Philousophe ab87383f56 GUI: Apply filter even when changing sorting criteria 2022-06-10 00:52:14 +02:00
Eugene Sandulenko 29f3e570c3 GUI: Fix editing of colored string in List. Bug #13541 2022-06-09 19:16:36 +02:00
Eugene Sandulenko 0e6c0e1167 GUI: Use heuristic for displaying demo names in grid launcher 2022-06-08 23:08:37 +02:00
Eugene Sandulenko beafbca04d GUI: Extract vanilla game title for using in the grid. Bug #13551 2022-06-08 01:37:32 +02:00
Torbjörn Andersson 8b94209d36 GUI: Fix caret position in list widget
Strip formatting from the list widget string before taking the length of
it to calculate the caret position. This can be seen e.g. in the save
dialog when not using the icon view.
2022-06-07 08:52:13 +02:00
Lothar Serra Mari d51f3d2f72 I18N: Update GUI translation datafile 2022-06-05 20:33:46 +02:00
Thierry Crozat cc29c8efc7 GUI: When dropping file, use parent directory for detection
The detection was done on the dropped path, so it worked when
dropping a directory, but not a file. Now we can drop a file
and it will run the detection on the parent directory.
2022-06-05 18:57:20 +01:00
Cameron Cawley 07498687bd GRAPHICS: Add Surface::copyRectToSurfaceWithKey() 2022-06-05 17:28:28 +03:00
SupSuper 9df444abec GUI: Add ScrollContainer to in-game options Game tab
Fixes mousewheel crash and allows scrolling when there's more than 10 options
2022-06-04 08:44:45 +01:00
Cameron Cawley 7fd1cf5315 GUI: Fix selecting theme fonts at low resolutions 2022-06-03 20:39:05 +02:00
Eugene Sandulenko 36beb9cc28 GUI: Added new keys in games.xml 2022-06-03 12:39:04 +02:00
Le Philousophe 293a08df76 GUI: Fix in vs int32 discrepancies 2022-06-02 22:44:11 +02:00
Thierry Crozat 7e69686855 GUI: Fix crash when clicking on item in grid widget
The tray position was not correctly computed and it was most of the
time trying to display it way outside the window (it was using X
instead of Y in one place for the vertical position).

This was a recent regression from a6bc1d587 (GUI: Fixed grid view
for long games list).
2022-06-02 20:49:06 +01:00
Thierry Crozat d3ae365f18 GUI: Fix grid items being twice as small on HiDPI screens with OpenGL mode 2022-06-02 20:34:27 +01:00
Thierry Crozat 7ff1533799 GUI: Fix setting the soundfont in ConfMan
This fixes bug #13531.
The issue was a regression introduced in commit 7dd0c1ddf8.
2022-06-02 20:07:49 +01:00
Eugene Sandulenko e9ed2ab603 GUI: Regenerate default gui-icons.dat 2022-06-02 17:49:24 +02:00
Eugene Sandulenko a6bc1d5876 GUI: Fixed grid view for long games list
We used Common::Rect which uses in16 for its members. Lomger lists
exceeded 32,768 in heights, thus, leading to negative numbers. As a result,
scrollbar was not showing up.
2022-06-02 17:40:42 +02:00
Cameron Cawley 5f35e2008a GUI: Fix line wrapping in the about dialog with small screens 2022-05-30 17:04:52 +01:00
Eugene Sandulenko df0c373120 GUI: Fix game name jumping shortcut. Fixes bug #13525 2022-05-29 22:14:52 +02:00
Eugene Sandulenko 4bd1053236 GUI: Properly reload flags/platforms when resolution is changed 2022-05-29 16:39:35 +02:00
Eugene Sandulenko 598e1d4a6a GUI: Make grid icons smaller for 640xY resolution. Bump theme version 2022-05-29 16:39:35 +02:00
Eugene Sandulenko 8e4e9bab65 JANITORIAL: Fix whitespaces 2022-05-29 16:39:35 +02:00
grisenti 7b53202a9e ALL: add support for --config and refactor code 2022-05-29 13:56:21 +02:00
grisenti d6dbf721b6 ALL: add support for --subtitles 2022-05-29 13:56:21 +02:00