summaryrefslogtreecommitdiff
path: root/Source/Core/DolphinQt/Settings.cpp
AgeCommit message (Collapse)Author
2024-09-27DolphinQt: Remove unneeded Win32 coderobxnano
Dolphin already uses QStyleHints::colorScheme to detect dark mode, so this code is now redundant.
2024-07-29GeneralPane: Add BalloonTip to cheats checkboxDentomologist
2024-06-26FrameAdvance: Fix continuous frame advancing while the debug UI is open. ↵TryTwo
Blocks signals from being spammed to update the UI.
2024-06-23DolphinQt: fix two -Wunused-lambda-capture warningsTillmann Karras
Also clean up signals a bit.
2024-06-06Use a stub AchivementManager when USE_RETRO_ACHIEVEMENTS isn't definedJosJuice
This lets us reduce the number of USE_RETRO_ACHIEVEMENTS ifdefs in the code base, reducing visual clutter. In particular, needing an ifdef for each call to IsHardcodeModeActive was annoying to me. This also reduces the risk that someone writes code that accidentally fails to compile with USE_RETRO_ACHIEVEMENTS disabled. We could cut down on ifdefs even further by making HardcodeWarningWidget always exist, but that would result in non-trivial code ending up in the binary even with USE_RETRO_ACHIEVEMENTS disabled, so I'm leaving it out of this PR. It's not a lot of code though, so I might end up revisiting it at some point.
2024-05-31InterfacePane: Add BalloonTip to cursor visible radio buttonsDentomologist
2024-05-31InterfacePane: Add BalloonTip to lock mouse checkboxDentomologist
2024-05-31InterfacePane: Add BalloonTip to top window checkboxDentomologist
2024-05-31InterfacePane: Add BalloonTip to theme comboboxDentomologist
2024-05-02Disabled Hardcore Mode when Achievements disabledLillyJadeKatrin
Bugfix for hardcore-disabled items being disabled when hardcore was true but achievement integration was false, which should mean hardcore is effectively disabled. Now everything checks the IsHardcoreModeActive method in AchievementManager which processes the setting AND the game state to determine if hardcore mode is actually active.
2023-12-16Merge pull request #11497 from vyuuui/debugger_assembler_uiTilka
Built-in assembler for debugger interface
2023-12-13Parser and Assembler implementationsvyuuui
2023-12-02Disable Debug Mode in hardcore modeLillyJadeKatrin
Debug Mode gives players direct read and write access to memory, which could be used to completely manipulate RetroAchievements logic and therefore is not allowed in hardcore mode.
2023-11-05DolphinQt/Settings: Add option to force the light or dark style on Windows.Admiral H. Curtiss
2023-11-05DolphinQt/Settings: Split setting of the user style into two functions.Admiral H. Curtiss
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-08-12DolphinQt: Adjust panel-specific colors and syntax highlighting for dark theme.Admiral H. Curtiss
2023-08-12DolphinQt: Set the application palette to a matching one when the Windows ↵Admiral H. Curtiss
dark theme is in use.
2023-08-12DolphinQt: Switch dark/light theme when Windows theme changes.Admiral H. Curtiss
2023-08-12DolphinQt: Auto-load embedded dark theme on Windows if the user uses a ↵Admiral H. Curtiss
system-wide dark theme.
2023-08-12DolphinQt: On Windows, detect whether the system is using a dark theme.Admiral H. Curtiss
Co-authored-by: FearlessTobi <thm.frey@gmail.com>
2023-06-02Core: Assert that only the Host thread may call PauseAndLock().Admiral H. Curtiss
2023-04-17Only force-show the code widget when first enabling the debuggerPokechu22
Before, any call of Settings::SetDebugModeEnabled(true) would show it. This means that if the debugging UI is enabled, but the user manually closed the code widget, then toggling any option on the interface pane (such as "Pause on Focus Loss") would cause the code widget to reappear. Additionally, closing and reopening dolphin did not call SetDebugModeEnabled, so the code widget did not reappear in that case (it only appeared after touching the interface pane). This is a bit silly, so now only enabling the debugger does it. This also somewhat resolves an inconsistency introduced by the previous commit: prior to it, --debugger would call SetDebugModeEnabled(true) and thus show the code pane; after these commits, it does not, as it acts like a config change. This is a behavior difference, but not a particularly important one.
2023-01-31Cleanup headersScott Mansell
2022-11-06AudioCommon: Pass Core::System to AudioCommon functions.Admiral H. Curtiss
2022-06-27DolphinQt: add warning if graphics mods are not enablediwubcode
2022-06-02qt: unregister Settings' DevicesChanged callback during shutdownShawn Hoffman
fixes a crash on close
2022-05-25Windows: Remove unused Qt 5 code and referencesDentomologist
2022-05-09qt/win: remove hack for tab bar scroll buttonsShawn Hoffman
2022-03-31Qt: Set font size for default debug font.Admiral H. Curtiss
2022-02-20Use config changed callback to detect SD insertion/ejectionJosJuice
This saves the GUI from having to manually call SDIO_EventNotify. With that out of the way, we can let users change the "Insert SD Card" setting on Android while a game is running.
2022-01-06Config: Port WiiKeyboard setting to new config system.Admiral H. Curtiss
2022-01-06Config: Port WiiSDCard setting to new config system.Admiral H. Curtiss
2022-01-01Config: Port remaining General settings to new config system.Admiral H. Curtiss
2021-12-31Config: Port remaining Interface settings to new config system.Admiral H. Curtiss
2021-12-27Config: Port AutoUpdate settings to new config system.Admiral H. Curtiss
2021-11-20ControllerInterface: fix UpdateReferences() deadlockFiloppi
Removed useless locks to DeviceContainer::m_devices_mutex, as they were all already protected by m_devices_population_mutex. We have no interest in blocking other threads that were potentially reading devices at the same time so this seems fine. This simplifies the code, and I've adjusted a few comments which mentioned possible deadlock that should now be totally gone. The deadlock could have happen if a thread directly called EmulatedController::UpdateReferences(), while another another thread also reached EmulatedController::UpdateReferences() within a call to ControllerInterface::UpdateDevices(), as the mentioned function locked both the DeviceContainer::m_devices_mutex and s_get_state_mutex at the same time. The deadlock was frequent on game emulation startup on Android, due to the UpdateReferences() call in InputConfig::LoadConfig() and the UI thread triggering calls to ControllerInterface::UpdateDevices(). It could also have happened on Desktop if a user pressed "Refresh Devices" manually in the UI while the input config was loading. Also brought some UpdateReferences() comments and thread safety fixes from https://github.com/dolphin-emu/dolphin/pull/9489
2021-10-15Port Main.DSP to MainSettingssowens99
While trying to work on adding audiodump support for CLI, I was alerted that it was important to first try moving the DSP configs to the new config before continuing, as that makes it substantially easier to write clean code to add such a feature. This commit aims to allow for Dolphin to only rely on the new config for DSP-related settings.
2021-10-12Add option for Never Hide Mouse Cursorsowens99
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-08-31Merge pull request #10021 from ↵Léo Lam
Dentomologist/make_windows_tabbar_scroll_buttons_opaque DolphinQt: Make Windows tab bar scroll buttons opaque
2021-08-31DolphinQt: Make Windows tab bar scroll buttons opaqueDentomologist
2021-08-11Port Enable Cheats to the new config systemJosJuice
2021-07-05treewide: convert GPLv2+ license info to SPDX tagsPierre Bourdon
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-06-11Merge pull request #9606 from Filoppi/patch-14JosJuice
Qt: avoid queuing ConfigChanged() more than once
2021-06-07Qt: Fix IOWindow keeping a shared ptr to devices even after them being ↵Filoppi
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-05-27Implement Cursor Locking and new input focus checks for itFiloppi
2021-05-20Qt: avoid queuing ConfigChanged() more than onceFilippo Tarpini
2021-05-17Merge pull request #9678 from Filoppi/tooltips_styleJMC47
Make all Qt ToolTips look similar to BalloonTips
2021-05-06Fix FPS counter and Game Window speed % breaking on pause/unpauseFiloppi
-Add pause state to FPSCounter. -Add ability to have more than one "OnStateChanged" callback in core. -Add GetActualEmulationSpeed() to Core. Returns 1 by default. It's used by my input PRs.
2021-04-28Qt: make all tooltips look similar to balloon tips (and share parts of their ↵Filoppi
code)
2020-11-28Add Fallback Region to configuration menuVincent Cunningham
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