Commit Graph

49 Commits

Author SHA1 Message Date
5e8f5afb52 DolphinQt: Remove unneeded Win32 code
Dolphin already uses QStyleHints::colorScheme to detect dark mode,
so this code is now redundant.
2024-09-27 10:41:01 +01:00
d9336a5de0 GeneralPane: Add BalloonTip to cheats checkbox 2024-07-29 14:00:46 -07:00
1fb4dbcea4 Merge pull request #12784 from TryTwo/PR_Frame_Advance_Fix
Frame Advance:  Fix UI update spam when continuously advancing.
2024-07-04 20:07:03 +02:00
f29fe15d77 FrameAdvance: Fix continuous frame advancing while the debug UI is open. Blocks signals from being spammed to update the UI. 2024-06-26 16:19:03 -07:00
c536754ffe Merge pull request #12878 from LillyJadeKatrin/retroachievements-hardcore-state-changed
Decouple Hardcore from EmulationStateChanged
2024-06-23 18:13:56 -04:00
0f659508ea DolphinQt: fix two -Wunused-lambda-capture warnings
Also clean up signals a bit.
2024-06-23 00:13:58 +01:00
29f1b82f5e Decouple Hardcore from EmulationStateChanged
Rerendering the entire Achievements dialog every EmulationStateChanged signal is far too often when it turns out that signal fires multiple times to confirm game close, for example. This change results in only the settings changing on EmulationStateChanged, and having the Hardcore mode toggle (which DOES require redrawing the entire dialog) emit its own signal alongside EmulationStateChanged.
2024-06-20 07:59:59 -04:00
33b64d6c91 InterfacePane: Add BalloonTip to cursor visible radio buttons 2024-05-31 19:09:00 +02:00
a581fa2bfa InterfacePane: Add BalloonTip to lock mouse checkbox 2024-05-31 19:07:33 +02:00
55aaa323ec InterfacePane: Add BalloonTip to theme combobox 2024-05-31 18:52:13 +02:00
ae5da02cde DolphinQt Settings: Signal Debug Font By Const Reference 2024-03-22 07:52:52 -07:00
38c15df464 Parser and Assembler implementations 2023-12-13 05:32:20 -08:00
8f55c28472 DolphinQt/Settings: Add option to force the light or dark style on Windows. 2023-11-05 12:59:32 +01:00
6d585b6eb6 DolphinQt/Settings: Split setting of the user style into two functions.
This makes it so that if you just want to reload the current style (eg. on program start, or in response to a system event), you don't need to know the name of the currently selected user style. It's also more consistent with the way the 'userstyle/enabled' flag works.
2023-11-05 12:58:11 +01:00
24012cfc7f DolphinQt: Adjust panel-specific colors and syntax highlighting for dark theme. 2023-08-12 19:43:12 +02:00
d725aaa5bc DolphinQt: Set the application palette to a matching one when the Windows dark theme is in use. 2023-08-12 16:54:54 +02:00
250d5f55de DolphinQt: Switch dark/light theme when Windows theme changes. 2023-08-12 16:54:54 +02:00
5d33f2abd1 DolphinQt: On Windows, detect whether the system is using a dark theme.
Co-authored-by: FearlessTobi <thm.frey@gmail.com>
2023-08-12 16:54:53 +02:00
8aef0015fd DolphinQt: add warning if graphics mods are not enabled 2022-06-27 18:28:28 -05:00
27dd2c4aa4 qt: unregister Settings' DevicesChanged callback during shutdown
fixes a crash on close
2022-06-02 23:32:21 -07:00
d6331c1e71 Config: Port remaining Interface settings to new config system. 2021-12-31 17:40:04 +01:00
2aa400e72f Add option for Never Hide Mouse Cursor
Instead of having a single GUI checkbox for "Always Hide Mouse Cursor",
I have instead opted to use radio buttons so the user can swap between
different states of mouse visibility. "Movement" is the default
behavior, "Never" will hide the mouse cursor the entire time the game is
running, and "Always" will keep the mouse cursor always visible.
2021-10-12 21:04:27 -04:00
e149ad4f0a treewide: convert GPLv2+ license info to SPDX tags
SPDX standardizes how source code conveys its copyright and licensing
information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX
tags are adopted in many large projects, including things like the Linux
kernel.
2021-07-05 04:35:56 +02:00
83ea16f402 Qt: Fix IOWindow keeping a shared ptr to devices even after them being removed by the ControllerInterface
this prevented some devices from being recreated correctly, as they were exclusive (e.g. DInput Joysticks)

This is achieved by calling Settings::ReleaseDevices(), which releases all the UI devices shared ptrs.
If we are the host (Qt) thread, DevicesChanged() is now called in line, to avoid devices being hanged onto by the UI.
For this, I had to add a method to check whether we are the Host Thread to Qt.

Avoid calling ControllerInterface::RefreshDevices() from the CPU thread if the emulation is running
and we manually refresh devices from Qt, as that is not necessary anymore.

Refactored the way IOWindow lists devices to make it clearer and hold onto disconnected devices.
There were so many issues with the previous code:
-Devices changes would not be reflected until the window was re-opened
-If there was no default device, it would fail to select the device at index 0
-It could have crashed if we had 0 devices
-The default device was not highlighted as such
2021-06-07 11:48:30 +03:00
3c7c2dfaa1 Implement Cursor Locking and new input focus checks for it 2021-05-27 10:31:12 +03:00
4f53adc331 Qt: make all tooltips look similar to balloon tips (and share parts of their code) 2021-04-28 21:20:39 +03:00
db5aec019c Add Fallback Region to configuration menu
Fallback Region
A user-selected fallback to use instead of the default PAL

This is used for unknown region or region free titles to give them
the ability to force region to use. This replaces the current fallback region
of PAL. This can be useful if a user is trying to play a region free
tilte that is originally NTSC and expects to be run at NTSC speeds. This
may be done when a user attempts to dump a WAD of their own without
understanding the settings they have chosen, or could be an intentional
decision by a developer of a ROM hack that can be injected into a
Virtual Console WAD.

Remove using System Menu region being checked in GetFallbackRegion

Use DiscIO::Region instead of std::String for fallback

Add explanation text for Fallback Region
2020-11-28 15:40:21 -05:00
ee13e6ec80 Improved responsiveness when refreshing game list. 2020-10-01 22:10:16 +02:00
0d02e70d4a Removed all references to GameListModel from the Settings component. 2020-10-01 22:09:45 +02:00
39d34e133f Debugger: Add a Thread widget
DebugInterface: Add GetThreads

WatchWidget: Update widget on AddWatch
2020-05-03 20:48:30 +04:00
aab694e6b5 DolphinQt: Store name of user style, not path
This makes user styles not break when for instance
moving a portable.txt install between different folders.
2020-05-02 02:13:01 +02:00
5e33cd48da Debugger: Add a Network widget
Display socket table, SSL context and options
2020-04-27 21:47:00 +04:00
913cb08066 Merge pull request #8456 from jordan-woyak/input-gate-race-fix
InputCommon: Make the "input gate" not racy.
2019-11-11 10:59:49 +10:00
85ceb37ccd InputCommon: Make the "input gate" not racey. 2019-11-06 16:31:02 -06:00
68694e0039 Add signals to enable/disable Refresh button
Makes it impossible to spam Refresh button and looks better overall.
2019-10-19 23:15:38 +02:00
e24789b4fb Add a hotkey for inserting/ejecting the SD card 2019-07-03 22:44:51 +02:00
8396ad541b DolphinQt: clean up includes 2019-02-25 20:15:12 +00:00
77ebd721e3 Qt: Fix widgets being visible when they shouldn't be 2018-08-20 00:39:57 +02:00
e3f36b74c5 Hotkeys: Add "Toggle USB Keyboard" hotkey 2018-08-02 12:55:30 +02:00
2a776bf2b6 Merge pull request #7258 from Techjar/netplay-fix-segfaults
Fix more segfaults on NetPlay quit
2018-07-30 11:52:38 +02:00
8fb3085b07 Revert "Revert "Qt/GameList: Add option to show covers in grid mode"" 2018-07-30 03:16:37 +02:00
9b94c76f81 Revert "Qt/GameList: Add option to show covers in grid mode" 2018-07-28 03:03:21 +02:00
5ade5f4fe7 Qt/GameList: Add option to show covers in grid mode 2018-07-27 11:14:24 +02:00
cfeffdcf42 Fix more segfaults on NetPlay quit
Basically everything here was race conditions in Qt callbacks, so I changed the client/server instances to std::shared_ptr and added null checks. It checks that the object exists in the callback, and the shared_ptr ensures it doesn't get destroyed until we're done with it.

MD5 check would also cause a segfault if you quit without cancelling it first, which was pretty silly.
2018-07-21 00:04:14 -04:00
c7ff141606 Merge pull request #7219 from ligfx/mappingwindow_hotplug
Qt/MappingWindow: update devices combo box when hotplugging devices
2018-07-11 10:58:26 +02:00
b4d91cc612 DolphinQt/Settings: Replace includes with forward declarations
Avoids dragging in netplay-related headers where they aren't explicitly
necessary.
2018-07-09 00:53:13 -04:00
b689a195ff Qt: add Settings::DevicesChanged signal 2018-07-06 17:15:29 -07:00
675260b0f7 Core: Namespace NetPlay utilities under the NetPlay namespace
Previously there was only one function under the NetPlay namespace,
which is kind of silly considering we have all of these other types
and functions existing outside of the namespace.

This moves the rest of them into the namespace.

This gets some general names, like Player, for example, out of the global namespace.
2018-07-06 19:53:23 -04:00
13ba24c5a6 Move DolphinQt2 to DolphinQt 2018-07-07 00:48:38 +02:00