Commit Graph

47 Commits

Author SHA1 Message Date
Admiral H. Curtiss
b10808d815
Merge pull request #8763 from JosJuice/panic-alert-deadlock-gpu
DolphinQt: Fix the panic alert deadlock, dual core edition
2022-05-16 02:21:14 +02:00
spycrab
004e8a80b2 Add support for building against Qt 6 2022-05-02 22:39:33 -07:00
Shawn Hoffman
a546c451b7 windows: wrap all main funcs with utf8 conversions
fixes 12858
2022-03-07 23:24:21 -08:00
JosJuice
d445d2ad36 DolphinQt: Improve the earlier panic alert deadlock fix
If the purpose of calling SetFullscreen using RunAsCPUThread is
to make sure that the GPU thread is paused, the fix in ef77872
is faulty when dual core is used and a panic alert comes from
the CPU thread. This change re-adds synchronization for that case.
2022-01-13 22:19:54 +01:00
JosJuice
3367e5e026 DolphinQt: Fix the panic alert deadlock, GPU thread edition
The fix in ef77872 worked for panic alerts from
the CPU thread, but there were still problems with
panic alerts from the GPU thread in dual core mode.
This change attempts to fix those.
2022-01-13 22:19:54 +01:00
Admiral H. Curtiss
96fa0919be
Config: Port AutoUpdate settings to new config system. 2021-12-27 21:19:28 +01:00
Admiral H. Curtiss
83ad84061e
Core/Boot: Refactor storage of boot-to-savestate data into a separate class. 2021-11-22 00:35:35 +01:00
Pierre Bourdon
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
Filoppi
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
Filoppi
4f53adc331 Qt: make all tooltips look similar to balloon tips (and share parts of their code) 2021-04-28 21:20:39 +03:00
Shawn Hoffman
07fd02f207 rename Core/Analytics to Core/DolphinAnalytics 2021-01-27 14:29:47 -08:00
JosJuice
17e02838b0 DolphinQt: Stop using qtmain 2020-09-21 17:27:10 +02:00
JosJuice
16d2ef1ea9 DolphinQt: Handle non-ASCII characters in Windows cmd arguments
CommandLineParse expects UTF-8 strings. (QApplication, on the
other hand, seems to be designed so that you can pass in the
char** argv untouched on Windows and get proper Unicode handling.)
2020-09-21 17:26:29 +02:00
LC
b350cf043b
Merge pull request #8976 from JosJuice/port-some-settings
Port some settings to the new config system
2020-09-07 22:37:46 -04:00
OatmealDome
5c1693587f DolphinQt: Ignore "-psn" command line option on macOS 2020-08-04 15:55:51 -04:00
JosJuice
b0f9bb9f13 Port some settings to the new config system
Other than the controller settings and JIT debug settings,
these are the only settings which were defined in Java code
but not defined in the new config system in C++. (There are
still a lot of settings that are defined in the new config
system but not yet saveable in the new config system, though.)
2020-08-03 15:07:53 +02:00
iwubcode
cdf5490d56 Core: Add support for specifying a command line option to boot the game into a save-state 2020-05-06 22:10:30 -05:00
JosJuice
ef778723a2 DolphinQt: Fix the panic alert deadlock (a.k.a. "Question" issue) 2020-03-31 21:00:32 +02:00
AlexApps99
d6fb0b44d7 Parse arguments before Qt 2020-03-22 17:49:32 +13:00
nyanpasu64
44f602fe51 Windows GUI: Use QMenu font (Segoe UI) for entire application
On Windows, Qt's default system font (MS Shell Dlg 2) is outdated.

Dolphin previously used over 15 lines of code to compute a font
closer to the proper font, but with an approximately correct font size.
Using the QMenu font directly is both more concise and more elegant
(in my opinion).
2020-02-17 05:37:54 -08:00
tinyredpanda
5dbabef355 Simplify wstring to QString conversion 2019-11-23 13:23:46 +00:00
JosJuice
379f264aa8 Disable render to main when using batch mode
https://bugs.dolphin-emu.org/issues/11888

This also includes another change: DolphinQt will now exit with an
error if you use --batch without specifying a game using any method
(unlike in the past where --batch would be ignored if you didn't
specify a game using --exec, even if you had used --nand-title).
The main reason why I did this was because coding the alternative
(ignoring --batch) would be annoying with render to main involved.
2019-10-29 18:32:43 +01:00
Connor McLaughlin
82fe8f61b6
Merge pull request #8308 from CookiePLMonster/cmdline-headless
Make --batch run Dolphin headless
2019-08-20 12:22:50 +10:00
Silent
b6df0bff93
Make --batch run Dolphin in headless mode, provided --exec is also passed 2019-08-11 20:58:04 +02:00
Silent
3fe8ef4c1c
Make alert messages application modal and not window modal,
so assertions cannot be interrupted by terminating the application
2019-08-01 22:27:36 +02:00
Silent
7045c68327
When clicking "Ignore for this session", make message box handler return true, so asserts can actually be skipped with this option 2019-07-20 21:04:27 +02:00
Silent
6c21811090
Make DolphinAnalytics a true singleton - static local variables are initialized in a thread safe manner since C++11
Also works around a Visual Studio 2017 bug where static inline class fields are destructed multiple times
2019-06-23 21:43:47 +02:00
Lioncash
4f1f55093f Common/MsgHandler: Namespace code within the Common namespace
Closes another gap in the Common library where code isn't being
namespaced under it.
2019-06-19 16:03:55 -04:00
JosJuice
6451496776 DolphinQt: Add support for the --movie parameter
Regression from DolphinWX.
2019-03-27 14:26:17 +01:00
spycrab
70da86f1c3 Qt: Use ModalMessageBox everywhere 2019-03-04 21:53:02 +01:00
spycrab
787f2c6bd7 Qt: Make more messages modal 2019-01-25 16:16:27 +01:00
JosJuice
bd665aad5d Automatic disc change for 2-disc games 2019-01-04 09:24:38 +01:00
JosJuice
e0cb56edb9 Reword some translatable strings
We've decided to use the term "Usage Statistics Reporting"
instead of "Analytics" in user-facing strings.
2018-09-08 15:19:01 +02:00
Lioncash
71de1abd88 Core/BootManager: Remove unnecessary includes
Lessens the amount of files that have to be recompiled if
ConfigManager.h is modified. This also removes an indirect inclusion
within DolphinQt/Main.cpp.
2018-07-14 23:16:23 -04:00
spycrab
074b67706b Qt/Main: Remove redundant version check 2018-07-09 10:03:13 +02:00
spycrab
13ba24c5a6 Move DolphinQt2 to DolphinQt 2018-07-07 00:48:38 +02:00
Anthony Serna
2ee84a20fe [UI] Remove DolphinQt 2016-01-05 19:42:02 -06:00
waddlesplash
4acd90d570 DolphinQt: Get rid of unneeded abbreviation macros. 2015-11-25 23:16:54 -05:00
waddlesplash
831d8ef13f DolphinQt: Properly handle quit events.
* Confirm stopping emulation when the window is closing, not just the "Stop" button
 * Don't resume if we were already paused when we got the quit event
 * Shutdown the core at the end of main() so we don't crash on exit
 * Miscellaneous other logic cleanups related to this
2015-09-13 09:32:09 -04:00
Tillmann Karras
cefcb0ace9 Update license headers to GPLv2+ 2015-05-25 13:22:31 +02:00
Ryan Houdek
db06f058e4 Move user directory detection location to UICommon.
The UI should decide on where it wants the user directory, not our core system.
This is in anticipation of some upcoming work on Android which will need proper user directory setting.
2015-02-25 03:31:59 -06:00
comex
759ea3bce7 Update Main.cpp version checks. 2014-11-25 00:27:13 -05:00
Augustin Cavalier
3d63d22e53 DolphinQt: adapt so that it can boot games. 2014-11-02 13:53:48 -05:00
Augustin Cavalier
5b4b74de6a Fix image loading on Retina and other HiDPI displays. 2014-10-28 14:39:20 -04:00
Augustin Cavalier
8d4068527b DolphinQt: Stub Host_* functions & Resource system. 2014-10-19 15:36:37 -04:00
Shawn Hoffman
ae3a5ce9e3 Qt: Add msvc support 2014-09-15 15:07:33 -07:00
Augustin Cavalier
16c6a19190 DolphinQt: initial commit.
This adds the beginning of the DolphinQt user interface. It doesn't
do anything useful yet and only builds via CMake.
2014-09-15 15:06:05 -07:00