396 Commits

Author SHA1 Message Date
Stenzek
42a9d8c353
Qt: Raise updater window if already shown
Too bad it won't work on Wayland. I'm trying to give a good
user experience on a platform that is so developer hostile.
2025-06-18 19:07:37 +10:00
Stenzek
fa7b4ae9f1
Qt: Convert auto updater to window
And remove the application modality.

Fixes fights between the auto updater and achievement relogin window.
2025-06-17 18:44:27 +10:00
Stenzek
4616dd3293
Qt: Avoid heap string copy for each context menu action
QString is copy-on-write.
2025-06-15 13:57:06 +10:00
Stenzek
c32e590808
Qt: Don't hold lock while game list context menu active 2025-06-14 15:08:45 +10:00
Davide Pesavento
2c7d07b245 Qt: Implement reset play time for disc sets 2025-06-14 13:10:57 +10:00
Davide Pesavento
36b869003a Qt: Use standard key sequences for main window shortcuts
Notably, this enables command+R to refresh on macOS, where F5
is not commonly used.
2025-06-11 19:51:12 +10:00
Stenzek
cb2dfabeeb
Qt: Backport undo load state timestamps 2025-06-08 17:08:50 +10:00
Stenzek
d54077e345
Achievements: Add 'Refresh Progress' option
Manually refreshes the all progress database if you have completed
unlocks on other devices/machines.
2025-06-05 19:58:45 +10:00
Stenzek
95e085584c
Qt: Move list/grid setup to subclasses 2025-06-05 19:16:46 +10:00
Stenzek
64dfe003b2
Qt: Update status bar visibility on shutdown
Fixes empty widgets being displayed.
2025-05-24 12:55:44 +10:00
Stenzek
cdadda85b5
Qt: Fix application exiting on fullscreen+lang change 2025-05-23 15:21:49 +10:00
Stenzek
b27e5ac26a
Qt: Fix incorrect lock parent 2025-05-19 23:52:11 +10:00
Stenzek
18c5608f7d
Qt: Work around MacOS disc change menu bug
QActionGroup usage here was incorrect.
2025-05-07 21:29:39 +10:00
Stenzek
4c1aba62fc
System: Remove unused function
And rename instances of "filename" to "path".
2025-04-14 22:20:29 +10:00
Stenzek
fca250257c
Achievements: Initialize RAIntegration in two parts 2025-04-11 22:13:07 +10:00
Stenzek
c1e01af511
Host: Expose RunOnUIThread() to core
I hate this, but sadly needed for RAIntegration...
2025-04-11 22:13:07 +10:00
Stenzek
d286b96c2d
Achievements: Swap RAInterface for RAIntegration via rc_client 2025-04-10 02:16:12 +10:00
Stenzek
1bb1354d4e
Achievements: Use rc_client as source of truth for HC mode 2025-04-10 01:35:10 +10:00
Stenzek
47e941cdc2
Qt: Fix shutdown from Big Picture exiting application 2025-04-05 15:02:32 +10:00
Stenzek
f494cb47c4
Qt: Widen status bar widgets
Linux systems with their thicc fonts...
2025-04-04 21:46:38 +10:00
Stenzek
58bd87666e
Qt: Fix crash when FSUI open and game list activated 2025-03-28 17:25:53 +10:00
Stenzek
9020959511
Qt: Add game list background function 2025-03-23 15:58:56 +10:00
Stenzek
1189f53840
FullscreenUI: Add 'Automatic' theme that syncs with Qt 2025-03-15 00:42:02 +10:00
Stenzek
e25f287d60
Qt: Avoid stuck in temporary render-to-separate mode 2025-03-10 21:54:45 +10:00
Stenzek
a0fef2d5ab
Qt: Merge gamelistmodel.cpp and gamelistwidget.cpp
They're constantly referring to each other.
2025-03-01 18:13:37 +10:00
Stenzek
0c30acb285
Qt: Work around QtWayland bugs
- Render to main no longer screws up the game list/menu bar.
- Toggling render to main no longer breaks the main window.

Positioning still sucks, but the various groups involved would
rather sit around arguing with each other rather than actually
shipping solutions ¯\_(ツ)_/¯.
2025-02-16 22:16:19 +10:00
Stenzek
02234715c5
FullscreenUI: Move UpdateRunIdleState() for system soft-fail to host
That way it's always in the correct state for e.g. memory card shutdown
confirmations.
2025-01-29 20:40:14 +10:00
Stenzek
0e3668a7bb
GameList: Show achievement information in game list 2025-01-26 13:49:08 +10:00
Stenzek
2b7a4f8d19
Qt: Avoid game list refresh on shutdown
We only need to invalidate the entries that have had their play times
changed, not the entire list.
2025-01-25 19:45:42 +10:00
Stenzek
1aa1b5a7ec
Qt: Make main toolbar editable 2025-01-14 16:33:24 +10:00
Stenzek
6785285f31
Qt: Fix game list toolbar/view menu desync 2025-01-11 23:29:40 +10:00
Stenzek
e4c11aa905
Qt: Separate controller settings to global and profiles 2025-01-11 20:25:11 +10:00
Stenzek
dc9cdddd4c
Qt: Add zst/xz GPU dumps to file filter 2025-01-06 21:18:13 +10:00
Stenzek
1765590a6f
Qt: Add 'Disable Window Rounded Corners' option 2025-01-05 16:39:57 +10:00
Stenzek
db14824d61
System: Use task queue for saving states/screenshots/gpudumps
System shutdown no longer needs to block. Gets rid of the slight
hitch when shutting down and saving state with the Big Picture UI.
2025-01-03 20:16:38 +10:00
Stenzek
83b4757788
Qt: Controller Test should be disabled while running 2025-01-02 02:11:50 +10:00
Stenzek
e036318559
Qt: Add 'Controller Test' to tools menu 2025-01-02 00:31:15 +10:00
Stenzek
dcd439e7d8
GTE: Add 'Free Camera' feature 2025-01-01 22:02:55 +10:00
Stenzek
b81c87958f
Qt: Fix F3 getting intercepted when game/FSUI active 2024-12-25 15:11:40 +10:00
Stenzek
2d659fc3eb
GPU: Move backend work off CPU thread 2024-12-19 23:32:15 +10:00
Stenzek
dcaee9b87e
Qt: Add ISO Browser to Tools menu 2024-12-14 14:10:07 +10:00
Stenzek
50fbaf90e6
Qt: Add debug menu options for log sinks/timestamps 2024-12-13 18:08:44 +10:00
Stenzek
5d7cb6c5dc
System: Move state compression/writing to worker thread
Reduce hitches when saving.
2024-12-09 14:16:55 +10:00
Stenzek
541985fb70
Qt: Add ISO Browser 2024-12-05 16:30:21 +10:00
Stenzek
67041d217b
Qt: Improve shortcuts
- CTRL/+, CTRL/- no longer show in menu for zooming, but still activate.
- CTRL+O will open a new disc/game from file.
- F5 will refresh the game list (i.e. scan for new games).
- F3/CTRL+F will send focus to the game list search box.
- Pressing Enter in the search box will send focus to the first game
  list row.
- ALT+ENTER in the game list will open Game Properties.
2024-12-01 14:27:24 +10:00
Stenzek
6d72a48708
Qt: Disable All Enhancements -> Safe Mode in Debug menu 2024-11-29 13:20:50 +10:00
Stenzek
b180b26728
GPU: Rework "All Borders" cropping to be aspect correct
The "All Borders" crop mode was previously creating an aspect ratio that
was completely incorrect when using modes outside of Auto/4:3. We now
scale the aspect ratio relative to the PAL/NTSC aspect ratio to account
for this, regardless of how much of a border the game configures.

Overscan cropping also produced an incorrect aspect ratio outside of 4:3
mode, resulting in minor horizontal stretching. It is now correct,
however, this results in black borders being added in 16:9 for most
games.

To remove these borders, you have two options:

 - Use the "Stretch to Fill" aspect ratio. This will scale the GTE
   aspect ratio to fill the screen.

 - Use the "Only Overscan Area (Aspect Uncorrected)" crop mode. This
   mode retains the "old" behaviour, resulting in a stretched image.
2024-11-25 16:26:16 +10:00
Stenzek
2da7859143
Qt: Fix incorrect parent window for locks
e.g. achievements token expired
2024-11-20 13:44:08 +10:00
Stenzek
e69f0d3cce
OpenGLDevice: Support both XCB and Xlib
Required for NVIDIA+XWayland.
2024-11-11 20:12:26 +10:00
Stenzek
ead9e56c4d
System: Support loading ELF files 2024-11-05 17:54:12 +10:00