Commit graph

4564 commits

Author SHA1 Message Date
Lothar Serra Mari
bcf0be9a3c GUI: Update translations datafile 2022-07-16 21:34:56 +02:00
Lothar Serra Mari
fc84b1663a GUI: Update translations datafile 2022-07-16 12:54:43 +02:00
Lothar Serra Mari
08f4b5197e GUI: Update translations datafile 2022-07-16 09:45:35 +02:00
Lothar Serra Mari
660e0fa921 GUI: Fix calculating size of previously downloaded icons files 2022-07-10 16:30:46 +02:00
Lothar Serra Mari
1e3ee46f80 GUI: Add option to reset icons cache for grid view 2022-07-10 16:30:41 +02:00
Eugene Sandulenko
925dc26640
CREDITS: Added icons pack credits and regenrated files 2022-07-09 21:41:40 +02:00
Eugene Sandulenko
41d9684983
GUI: Check downloaded icon file sizes. Fixes bug #13566 2022-07-09 13:56:00 +02:00
Thunderforge
27872d79a9
COMMON: Adding default iconspath functionality
It's for macOS only right now.
2022-07-02 22:37:48 +02:00
Thierry Crozat
f4bbbe5786
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:47:12 +02:00
Thierry Crozat
9dd4da4e4d
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:47:12 +02:00
Thierry Crozat
89853f9089
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:47:12 +02:00
Thierry Crozat
0d37dbe93e
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:47:08 +02:00
antoniou79
ac8377286d
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:31 +02:00
Cameron Cawley
a89beff87b GUI: Update the builtin theme 2022-06-30 23:15:48 +01:00
Filippos Karapetis
04a1f7dc47 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:27:58 +03:00
antoniou79
2d0afce13c 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-30 13:17:25 +03:00
Thierry Crozat
4213af2469 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:46 +01:00
Lothar Serra Mari
b15b2f519e I18N: Update GUI translations datafile 2022-06-17 18:57:31 +02:00
Thierry Crozat
4881b8fdec GUI: Add slider for Grid Launcher icon size 2022-06-12 22:15:18 +01:00
antoniou79
a5068eb9b0
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:20 +02:00
Christian Kündig
95c6e3a11f
CREDITS: Add myself to the backend credits 2022-06-12 14:40:47 +02:00
Athanasios Antoniou
63e41ea078 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-11 08:41:00 +03:00
Le Philousophe
ebbc0b09e9
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 11:13:58 +02:00
Eugene Sandulenko
226ab7d8a0
GUI: Fix grid list highlight after editing game. Bug #3960 2022-06-10 11:13:57 +02:00
Le Philousophe
929d60fdcc
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 11:13:57 +02:00
Le Philousophe
77700ab06d
GUI: Implement setSelected in Grid and use it in launcher 2022-06-10 11:13:57 +02:00
Le Philousophe
f9aca7ee31
GUI: Don't store GridItemInfo items twice 2022-06-10 11:13:57 +02:00
Le Philousophe
572d5a2971
GUI: Apply filter even when changing sorting criteria 2022-06-10 11:13:53 +02:00
Eugene Sandulenko
dac4ba3e1d
GUI: Fix editing of colored string in List. Bug #13541 2022-06-09 19:17:28 +02:00
Eugene Sandulenko
0ee20d377d
GUI: Use heuristic for displaying demo names in grid launcher 2022-06-08 23:09:06 +02:00
Eugene Sandulenko
1732d0a5f8
GUI: Extract vanilla game title for using in the grid. Bug #13551 2022-06-08 01:38:10 +02:00
Torbjörn Andersson
1739660368
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:53:03 +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