Commit Graph

395 Commits

Author SHA1 Message Date
Le Philousophe
9af7ecdd15 GUI: Do hide GridItemWidgets when nothing is to be shown 2022-08-24 22:46:55 +02:00
BLooperZ
b67b88e6d9 GUI: Support unicode and BiDi in editable widget 2022-08-02 22:04:54 +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
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
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
Thierry Crozat
5ea034391b GUI: Add slider for Grid Launcher icon size 2022-06-12 22:08:53 +01: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
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
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
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
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
d26ced00c9
GUI: Regenerate attribute list in GridList on list replacement. Fixes bug #13413 2022-05-29 01:11:53 +02:00
Eugene Sandulenko
829c600a02
GUI: Remove remains of the old color lists in *ListWidget 2022-05-29 00:39:35 +02:00
D G Turner
c99f548212 GUI: Fix Set But Unused Variable Compiler Warnings in List Widgets 2022-05-28 16:33:00 +01:00
Eugene Sandulenko
828192db59
GUI: Reduced code duplication in GroupedListWidget 2022-05-28 10:46:37 +02:00
Eugene Sandulenko
1edab21c6e
GUI: Use color information from the strings in *ListWidget 2022-05-28 10:46:34 +02:00
Eugene Sandulenko
3727b3e16e
GUI: Initial code for embedding formatting info into *ListWidget strings 2022-05-26 10:31:45 +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
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
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
SupSuper
57d0df273e GUI: Scale grid widget icons with filtering 2022-02-22 17:46:21 +00: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
Eugene Sandulenko
43d16746c0
GUI: Add override keywords 2022-01-25 22:16:11 +01: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
Die4Ever
4ef38a9255 GUI: tabs with scrollbars 2022-01-23 20:28:55 +02:00
Die4Ever
30a8d927a1 GUI: tabs with scrollbars 2022-01-23 20:28:55 +02:00
Le Philousophe
0802db2a4e GUI: Initialize language and platform even if unused 2022-01-06 19:39:05 +02:00
Le Philousophe
1b3ac06f69 GUI: Fix various memory leaks related to grid widget 2022-01-06 19:36:23 +02:00
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Torbjörn Andersson
934567a87c GUI: Fix grid memory leaks
Clearing a HashMap doesn't delete the objects stored inside it, so do
that explicitly.
2021-11-16 13:34:17 +01:00
Torbjörn Andersson
c420983634 GUI: Don't leak tray dialogs
Since the dialog isn't used outside of the function, I've also made the
variables local.
2021-11-15 09:46:01 +01:00
Eugene Sandulenko
ed5f0c1924
GUI: Properly initialize GridWidget 2021-11-13 22:06:35 +01:00
D G Turner
2a5429f947 GUI: Fix GCC Fall Through Warning 2021-11-13 05:56:51 +00:00
Eugene Sandulenko
04a43695e7
GUI: Use filtered search in GroupedList 2021-11-12 15:38:21 +01:00
Eugene Sandulenko
6f773e2d01 GUI: Draw Grouped List with bold font 2021-11-12 14:46:34 +01:00