Commit Graph

232 Commits

Author SHA1 Message Date
Silent bfd8fc771a Qt: Clear the status text after gamelist scanning
Improves UI parity with DuckStation.
2023-02-01 09:38:46 +00:00
Stenzek f447aded57 Qt: Better handle VM-requesting-shutdown case
This was a bit wonky in batch mode before. Now all possible exit paths
close the application at the same point.
2023-01-28 13:40:55 +00:00
Silent 21dcda147c Host: Fix a context menu regression from #7960 2023-01-27 18:46:20 +00:00
Silent f73b497b67 Host/VMManager: Remove save state cache invalidation and just populate lists every time
Fixes issues where inexistant save states are listed in dropdowns
2023-01-27 13:52:58 +00:00
Stenzek 4fec896378 Qt: Make behavior between both update checks consistent 2023-01-27 10:37:00 +00:00
Stenzek 88c1f00b62 GS: Add audio capture and custom resolution 2023-01-21 16:56:57 +00:00
Tokman5 d94e861a78 GS: Add video folder and support additional arguments for video dumping 2023-01-19 10:39:22 +00:00
Ty Lamontagne a0000a8547 Debugger: Implement boot and debug
Creates a breakpoint automatically on the ELF entry point
2023-01-15 17:05:35 +00:00
arcum42 2892f629f0 build/QT: Unmute the warnings for deprecation & overloading virtuals. Fix assorted warnings. Mute 'maybe initialized' warnings. Add a policy to take care of LTO warnings in cmake. 2023-01-11 00:55:21 +01:00
RedDevilus b6bcbcac96 Qt: Fix light themes
I've given some love to dark themes, but doesn't mean light themes doesn't deserve it either. Making it better in contrast to make it more legible along with making it a bit more appealing.
2023-01-06 12:43:42 +00:00
lightningterror 3066ab0d06 Qt: Fix Wunused-variable warning. 2023-01-05 15:02:17 +01:00
Stenzek f96ad8ff6e Qt: Return main window info when not running
Needed for DInput.
2023-01-02 08:31:55 +00:00
RedDevilus 26d5ee0c93 Qt: Fix out-of-focus colors + 2 new dark themes
One annoying issue is when you watch the emulator when unfocused especially on light themes such as the blue theme where the button is very light and the text as well.

Re-ordered the themes according to their position in the GUI.

Also added a purple and a more dark calm variant compared to vibrant Scarlet Red and a Blue variant for Ruby.
2022-12-31 23:25:31 +00:00
Stenzek f83fc9ba27 Qt: Fix Host::GetTopLevelWindowInfo() in nogui mode 2022-12-31 23:22:27 +00:00
Ty Lamontagne 2f0b244f48 Debugger: Initial debugger implementation 2022-12-24 07:21:49 +00:00
Connor McLaughlin 699c3d80b7 GS: Add video dumping via ffmpeg 2022-12-22 04:27:30 +00:00
Connor McLaughlin 6df0a315a9 Qt: Ensure game list refresh is cancelled before destroying 2022-12-20 16:14:02 +01:00
Connor McLaughlin fc14b8f0da USB: Move to Qt (with *significant* refactoring) 2022-12-18 03:47:00 +00:00
Connor McLaughlin 9da8e9280f Qt: Add disc path option for ELF game list entries 2022-12-12 13:35:37 +00:00
Connor McLaughlin 77e9938f0f GS: Manually throttle fullscreen UI rendering
Fixes rendering at thousands of FPS when pausing if FSUI is active.

Avoids flickering when recreating swap chain in vulkan on menu open,
because we're no longer doing it.
2022-12-08 09:36:41 +00:00
sonicfind 5cd243f2c1 input-rec: disable the "Reset" option when a recording uses a savestate 2022-11-27 20:02:29 +00:00
Tyler Wilding 844ff5bb04 input-rec: fix running input recording functions from UI thread 2022-11-27 20:02:29 +00:00
Tyler Wilding b4db00b979 input-rec: display recording related information with imgui 2022-11-27 20:02:29 +00:00
Tyler Wilding 8f5458f3ae input-rec: Add very basic file viewer to assist with debugging 2022-11-27 20:02:29 +00:00
Connor McLaughlin f8bd4d7155 Qt: Shuffle some settings around/hide advanced by default 2022-11-24 09:46:49 +00:00
Connor McLaughlin f66797c5cf Qt: Add option to reset play time for games 2022-11-22 17:14:56 +00:00
Connor McLaughlin bd22d29d58 Host: Make OSD message timing consistent
It was all over the place previously.
2022-11-22 17:14:56 +00:00
Connor McLaughlin 0dd766cec8 Qt: Work around theme switching issue in 6.4.0
Starting in dark theme then switching to native/light would not restore
the standard palette.
2022-11-20 17:25:55 +00:00
xujibbs 08a9c052d5
Qt: Add translate tag to shutdown message (#7302) 2022-10-31 12:05:47 +00:00
Connor McLaughlin 0a8547a692 Qt: Fix main window briefly showing when exiting game in FSUI 2022-10-22 23:19:54 +01:00
Connor McLaughlin 5647ca7f08 Qt: Add play time tracking based on serials 2022-10-22 11:08:23 +01:00
Connor McLaughlin fb9c9cb172 Qt: Don't load confirm shutdown/render separate/etc from base 2022-10-22 10:13:40 +01:00
refractionpcsx2 9d29287c02 Qt: Update emuthread settings on blockdump directory change 2022-10-21 12:02:23 +01:00
Connor McLaughlin e8877daca3 Qt: Register for device notifications on Windows
That way we know when a controller is connected/disconnected, and don't
have to poll unconnected XInput controllers.
2022-10-16 14:54:38 +01:00
Connor McLaughlin bcd19dd0f5 Qt: Add Host::GetTopLevelWindowInfo() 2022-10-16 14:54:38 +01:00
Connor McLaughlin 44c8974aba GS: Set vsync based on host decision
Fixes bug where after changing settings in the big picture UI, if you
didn't have a game running, it would turn off vsync, making GPU go brr.

Also cleans up HostDisplay a bit, removing redundant parameters.
2022-10-15 15:17:06 +01:00
Connor McLaughlin c0965f7205 Qt: Remove m3u from open file filter 2022-10-06 10:23:48 +01:00
Connor McLaughlin 4907003d3c Qt: Add Delete Save States to load menu 2022-10-02 21:08:58 +02:00
Connor McLaughlin ea19514b53 Qt: Fix main window hiding with EFS bug 2022-10-01 17:27:46 +01:00
Connor McLaughlin 0419de4baf Qt: Add RetroAchievements implementation 2022-10-01 00:00:02 +01:00
Connor McLaughlin 8b16a7a8c7 Qt: Add cover downloader 2022-09-17 17:51:14 +01:00
Connor McLaughlin 6810a9d593 Qt: Deduplicate interface code and reduce core coupling
This enables more code sharing between interfaces in the future (e.g.
nogui, gsrunner, etc). Eventually I'll move everything in Frontend/ to
its own project.

 - VMManager now no longer depends on anything in Frontend.
 - Moved INISettingsInterface out of Frontend.
 - Log settings can now be overridden per-game (if you really want to)..
 - Hotkeys get their own file.
2022-09-15 11:50:51 +01:00
Connor McLaughlin c96f1d28e6 Qt: Fix fullscreen/window size being enabled in game list 2022-09-15 11:50:40 +01:00
Connor McLaughlin e064e96c96 HostDisplay: Make global pointer instead of function 2022-09-09 21:21:14 +01:00
Connor McLaughlin b667236c92 Qt: Combine EmuThread.cpp and QtHost.cpp
These mostly called back between one another.
2022-09-09 21:21:14 +01:00
Connor McLaughlin e4df563811 Qt: Implement settings reset 2022-09-09 21:21:14 +01:00
Connor McLaughlin 05bed05afe Frontend: Add fullscreen UI implementation 2022-08-29 13:39:09 +01:00
Connor McLaughlin a19045f9d6 Host: Add ConfirmMessage() and OpenURL() 2022-08-29 13:39:09 +01:00
lightningterror 60e6e1f242 Qt: Fix Wunused-but-set-variable warnings. 2022-08-07 03:00:22 +02:00
Connor McLaughlin cc728642ed Qt: Allow changing theme without recreating window 2022-07-24 15:42:29 +01:00
Connor McLaughlin 4040f7afca Qt: Fix game list not resizing after resize+shutdown game 2022-07-24 15:15:27 +01:00
Daisouji dd729ec649 QT: Change Pathing
Formatted MainWindow.cpp code
2022-07-21 11:59:00 +02:00
Daisouji 9ef582bd6f QT: Implements 2 Theming options
Added 2 New Theme options.
2022-07-21 11:59:00 +02:00
kenshen112 639552ae8f CDVD: Change CDVDaccess to CDVDcommon 2022-07-19 22:36:31 +01:00
refractionpcsx2 55db243362 GUI-Qt: Avoid divide by zero on empty gamelist folder. 2022-07-18 08:47:57 +01:00
Connor McLaughlin 06e7d6c3df Qt: Hide system console if enabled in nogui mode 2022-07-17 23:29:48 +01:00
Connor McLaughlin bcde888257 Qt: Restore geometry before going fullscreen
Fixes fullscreen with separate window on another monitor popup switching
the fullscreen monitor case.
2022-07-17 23:29:48 +01:00
Connor McLaughlin b36b4e4ad1 Qt: Hide main window when in fullscreen 2022-07-17 23:29:48 +01:00
Connor McLaughlin f0f23a2c61 Qt: Elide redundant scan progress updates
Fixes UI locking up for ages when switching theme.
2022-07-17 23:29:48 +01:00
Connor McLaughlin 5fc07180dd Qt: Add -nogui command line parameter 2022-07-17 23:29:48 +01:00
Connor McLaughlin 7d71954674 Qt: Add search/filter toolbar 2022-07-17 23:29:48 +01:00
Connor McLaughlin 1cee55bf45 Qt: Fix game list glitching out in X11 2022-07-17 23:29:48 +01:00
Connor McLaughlin a2afbd3080 Qt: Make status bar less confusing 2022-07-05 13:04:40 +01:00
Connor McLaughlin ff0380b456 Qt: Fix drag/drop of GS dumps/ELFs 2022-06-29 11:55:58 +01:00
Connor McLaughlin 1a0b8fb37f Qt: Fix window reopening after close 2022-06-29 09:04:30 +01:00
Connor McLaughlin 131b92e9fe Qt: Implement remove disc 2022-06-28 20:01:42 +01:00
Connor McLaughlin 5391b529b6 Qt: Implement start disc 2022-06-28 20:01:42 +01:00
Connor McLaughlin 16936aa452 Qt: Make UI thread VM valid/paused globally accessible 2022-06-28 20:01:42 +01:00
Connor McLaughlin 63163737c2 Qt: Implement disable window resize 2022-06-28 20:01:42 +01:00
Connor McLaughlin b6f748ad8f Qt: Add option to hide main window when game running 2022-06-28 20:01:42 +01:00
Connor McLaughlin 36d386b451 Qt: Fix hide mouse cursor not working with render-to-main off 2022-06-20 15:14:23 +01:00
Connor McLaughlin 771b1490d2 Qt: Get rid of redundant resume on confirm shutdown 2022-06-20 10:34:28 +01:00
Connor McLaughlin 4bbdbf6332 Qt: Fix crash on confirm shutdown when fullscreen 2022-06-20 10:34:28 +01:00
Ali Mahdavi 90ca83bd96 Qt: Change the word “Save Slot” to “Load Slot” in Load State menu
First off, I must admit, I **HAVE NOT** compiled the project to see if my change breaks the whole thing or not. I just searched the entire repository for `Save Slot` and renamed the one related to `loadSaveStateSlot`.
2022-06-20 09:56:36 +02:00
Connor McLaughlin 3e585c3438 Qt: Add folder settings 2022-06-20 07:28:12 +01:00
Connor McLaughlin a07ef0f5ee Qt: Move logging setup into core
Sharable between frontends this way.
2022-06-20 07:28:12 +01:00
Connor McLaughlin 470365644f Qt: Implement mouse->controller binding
Also implements forwarding mouse events to imgui.
2022-06-19 02:17:42 +01:00
Connor McLaughlin ea1f451d35 Qt: Move flag/star icons to resources 2022-06-04 18:10:46 +01:00
Connor McLaughlin f1702b5693 Qt: Force game list column resize on window show
Fixes a regression from dbfb93a50f where
the game list columns would always be too short on open.
2022-06-04 18:00:06 +01:00
TellowKrinkle f9c2327bf5 Qt: Respond to dark/light mode changes 2022-06-04 14:50:33 +01:00
TellowKrinkle dbfb93a50f Qt: Calculate icon theme from palette instead of name 2022-06-04 14:50:33 +01:00
TellowKrinkle 08089e0654 Qt: Set isMask to true on menu items
Prevents icons from being the wrong color when the Qt theme doesn't match the macOS system theme (or when you use Native theme with dark mode)
2022-06-04 14:50:33 +01:00
Connor McLaughlin ce53b7adb1 Qt: Implement drag/drop to main window 2022-05-27 09:55:02 +01:00
Connor McLaughlin 25fa70fe9e Qt: Fix loading save state from manual file 2022-05-27 09:55:02 +01:00
Connor McLaughlin b5721a92e9 Misc: Fix a bunch of recent warnings from clang 2022-05-25 10:15:48 +01:00
Connor McLaughlin 2c199e7c42 Qt: Add log timestamps 2022-05-25 10:15:48 +01:00
Connor McLaughlin 2a32864856 Qt: Get rid of duplicate base setting query helpers 2022-05-25 10:15:48 +01:00
Connor McLaughlin 08aad5461e Qt: Add block dump options 2022-05-25 10:15:48 +01:00
Connor McLaughlin 0bab9474ae Qt: Add file logging option 2022-05-25 10:15:48 +01:00
Connor McLaughlin f2713462cc Qt: Fix starting after theme change 2022-05-24 11:34:56 +01:00
Connor McLaughlin 74738022da Qt: Use SERIAL_CRC.ini naming for per-game settings 2022-05-23 17:27:11 +01:00
lightningterror 372ee9b6b6 Qt: Allow to load/browse block dump files. 2022-05-23 18:19:14 +02:00
lightningterror 943e21f507 Qt: Fix link/url colours in various themes.
Fixes #6148
2022-05-23 17:11:29 +02:00
lightningterror a92eb4d10a Qt: Disable/remove unused buttons.
Not implemented yet.
2022-05-23 16:32:02 +02:00
Tyler Wilding 2aec91d8c0 input-rec: remove frame-advance and adjust folder structure 2022-05-22 17:24:02 -04:00
Tyler Wilding 2e8076d909 input-rec: begin achieving parity in Qt 2022-05-22 17:24:02 -04:00
Connor McLaughlin ed5aa4a67d Qt: Cancel game list scanning when VM starts
Because of CDVD global state, and the fact that we hijack CDVD for
getting the game details, we have to cancel the scan. Otherwise, the
scanner will clash with the game's CDVD access.
2022-05-22 22:30:02 +02:00
Connor McLaughlin 22bf3549b6 Host: Add game list refresh/cancel calls 2022-05-22 22:30:02 +02:00
Connor McLaughlin ea051c6d5f Everything: Get rid of wx entirely from the Qt build 2022-05-22 13:58:56 +01:00
Connor McLaughlin 893b3c629d Everything: Remove a **lot** of wx, and px nonsense
- common has no wx left except for Path.
 - pcsx2core only has it in a few places (memory cards and path related
   stuff).
2022-05-22 13:58:56 +01:00
Connor McLaughlin df5e175b86 GS: Support creating/replaying dumps in zstandard format 2022-05-16 15:03:29 +01:00
Connor McLaughlin 8c270288de GS: Refactor screenshots/GS dumping triggers
i.e. make it not rubbish and a massive race condition.

Also adds GS dump saving to Qt.
2022-05-16 15:03:29 +01:00
arcum42 e456fb8f88
Qt: Hook up screenshot button. (#6070)
Qt: Implemented hotkey as well.
2022-05-12 14:53:40 -07:00
Connor McLaughlin 41f1ec445f Qt: Add auto updater UI 2022-05-12 15:03:26 +01:00
Connor McLaughlin 17f2fb4471 Qt: Fix nightly builds not showing version in title bar 2022-05-11 13:13:39 +02:00
Connor McLaughlin a93829557b SaveState: Misc refactoring and improvements
- Block until saves are completed when resuming.
 - Save shutdown state asynchronously.
 - Add function to read screenshot out of zip file (useful for
   previous, now we're using zstd).
2022-05-09 10:20:48 +01:00
Connor McLaughlin c21d475bbd Qt: Implement save-state-on-shutdown 2022-05-09 10:20:48 +01:00
Connor McLaughlin 81cd2d9be9 Qt: Add placeholder for when no games are in list 2022-05-07 15:32:59 +01:00
Connor McLaughlin 90707c453d Qt: Rework VM pausing when popup dialogs are opened
Also cleans up fullscreen transitions further.
2022-05-07 15:32:59 +01:00
Connor McLaughlin ec0e9f078c Qt: Confirm disc change type when switching to game list 2022-05-07 15:32:59 +01:00
Connor McLaughlin 98b537575f Qt: Rework display widget swapping 2022-05-07 15:32:59 +01:00
Connor McLaughlin 344c918b65 Qt: Fix possible race when shutting down (Mac) 2022-05-05 09:51:56 +01:00
Connor McLaughlin 378588c67d Qt: Implement more command line arguments 2022-05-05 09:51:56 +01:00
Connor McLaughlin 119b6bdfd5 Qt: Fix not-render-to-main after start fullscreen+toggle 2022-05-05 09:51:56 +01:00
Connor McLaughlin 7194542029 Qt: Fix fullscreening in Wayland 2022-04-17 11:56:37 +01:00
Connor McLaughlin 1993203d26 GS: Add Direct3D 12 renderer 2022-04-15 12:56:41 +01:00
RedDevilus ec787d090d Qt: Add Gzipped
WX supported this, I don't see why not add to Qt. Though no idea why anyone wants to use it above CSO or CHD if you look at filesize.
2022-04-08 08:24:54 +01:00
Connor McLaughlin 821e15f1ee Qt: Add QtHost::RunOnUIThread() 2022-04-06 15:22:39 +01:00
Connor McLaughlin d01ee3163d Qt: Add performance metrics to status bar 2022-04-03 23:59:05 +01:00
TheLastRar 48f7e6c63f DEV9: Add Qt UI 2022-03-25 13:50:25 +00:00
Connor McLaughlin 551d013b63 Qt: Add shutdown hotkey 2022-03-25 12:51:18 +00:00
Connor McLaughlin 1fa6fb0a8c Qt: Add memory card settings 2022-03-25 10:26:09 +00:00
Connor McLaughlin 180d9ae9c9 Qt: Correct EE/IOP console defaults 2022-03-22 13:38:26 +00:00
Connor McLaughlin 6a15d46461 Qt: Improve boot filename autodetection 2022-03-14 15:26:19 +00:00
Connor McLaughlin 4331ae1925 VMManager: Support playing back GS dumps 2022-03-14 15:26:19 +00:00
Connor McLaughlin 2f028c5f40 Qt: Implement CTRL+C and confirm shutdown 2022-03-04 17:41:28 +00:00
Connor McLaughlin 56c8843406 Qt: Add log options to debug menu 2022-03-04 17:41:28 +00:00
Connor McLaughlin 37c4c596b5 Qt: Fix a few warnings on Linux 2022-03-04 17:41:28 +00:00
RedDevilus 3c54593456 Qt: Add themes
Ranging from ColorBlind themes to flashy to pastel. Based on the Fusion factory. 3 Light and 1 Dark extra themes (2 light and 2 dark themes on master) with enough variability and choice.
It's just a placeholder for when other factories are implemented and perhaps even viable for future community-based static or dynamic ones.
2022-02-22 16:13:09 +00:00
Connor McLaughlin b47552c08f Qt: Add per-game settings UI 2022-02-16 17:34:53 +01:00
Connor McLaughlin c74cc9bc12 HostDisplay: Fix vsync getting lost on window changes 2022-02-07 01:42:40 +00:00
Connor McLaughlin 93f9ae8a31 Qt: Add work in progress interface 2022-01-30 14:29:18 +00:00