Commit Graph

180 Commits

Author SHA1 Message Date
Pierre Bourdon da0de12cce dqt2: lazy-initialize GraphicsWindow
Initializing GraphicsWindow layout & children requires cooperation from
the graphics stack: on my system, for example, it causes a Vulkan
context to get created in order to get driver info. This is a slow
operation, and right now it is taking about 60-70% of the Dolphin
startup time on my system.

Move instead to a lazy-initialization model where the constructor
does nothing, instead offloading work to a separate Initialize() method
called before the window is shown.

I would expect this should be done for other larger parts of the UI,
especially the ones where creating widgets ends up triggering large IO
subsystems (I suspect controller configuration might be doing that).

(I'm not super happy with how this is implemented, but right now it's a
one-off, and it's a major complaint users have with the new UI. I
prioritized getting something working quickly...)
2018-07-03 03:48:32 +02:00
spycrab b5141ca6ce Qt/Hotkeys: Show OSD message when selecting slots 2018-07-01 16:30:12 +02:00
spycrab 32382438be Qt/Hotkeys: Implement "Load from File" / "Save from File" hotkeys 2018-07-01 16:14:29 +02:00
Pierre Bourdon 2cfdf89898
Merge pull request #6983 from yourWaifu/add-discord-rpc-support
Add Discord Rich Presence support
2018-06-25 00:06:27 +02:00
Lioncash 25e3ec23f8 BTEmu: Rename AccessWiiMote to AccessWiimote
Everywhere else throughout the codebase we use "Wiimote" when referring
to the Wii Remote as a shorthand. This makes the casing consistent.
2018-06-21 11:36:02 -04:00
Lioncash 7eb86cdb67 BTEmu: Add helper function for accessing WiimoteDevice instances by index
This makes it much more straightforward to access WiimoteDevice
instances and also keeps the implementation details of accessing those
instances in one spot.

Given as all external accesses to the WiimoteDevice instances go through
this function, we can make the other two private.
2018-06-20 17:05:54 -04:00
spycrab 0273cae3a2 Qt: Restore fullscreen resolution when regaining focus 2018-06-08 20:47:15 +02:00
spycrab 6c19b5947b Qt: Fix exclusive fullscreen not being entered on startup 2018-06-08 19:59:41 +02:00
spycrab 23394164de Qt: Implement "Refresh Game List" hotkey 2018-06-06 18:30:46 +02:00
spycrab c6704b1323 Qt/MainWindow: Remember last directory in "Open" prompt 2018-06-05 18:56:21 +02:00
spycrab 4415417deb Qt: Add Refresh button 2018-06-04 23:44:53 +02:00
Léo Lam 2a89ad9c39
Merge pull request #7066 from spycrab/qt_fs_exit
Qt: Always return to windowed when confirming exit
2018-06-04 20:48:22 +02:00
spycrab 53ed455d76 Qt: Always return to windowed when confirming exit
If we don't do this the prompt *may* appear behind the fullscreened window
and thus cause confusion. This happens both with exclusive fullscreen and
borderless fullscreen (e.g. for OpenGL).
2018-06-04 20:32:36 +02:00
spycrab b13cf2e16e Qt: Fix emulation still not being paused when confirming exit 2018-06-04 18:13:05 +02:00
Sleepy Flower Girl d9351a5b45 Added INI setting for Discord Rich Presence 2018-06-03 15:29:21 -04:00
Sleepy Flower Girl d5303ddf0b Add Discord Rich Presence support 2018-06-03 15:27:20 -04:00
spycrab 3b59ebb226 Qt: Exit exclusive fullscreen on confirmation prompt 2018-06-01 17:40:07 +02:00
spycrab 75e87a8a0d
Merge pull request #6945 from spycrab/qt_sighandler
Qt/Unix: Implement signal handler
2018-05-28 22:05:52 +02:00
spycrab 112a174ae1 Qt/Unix: Implement signal handler 2018-05-28 21:47:46 +02:00
spycrab fc928ddfc8 Qt: Show exit confirmation prompt on main window 2018-05-25 03:53:40 +02:00
spycrab 7931d2d00d Qt: Fix game not getting paused when exit prompt is open 2018-05-25 03:53:05 +02:00
spycrab 94e97d47a0 Qt/FIFOPlayer: Implement Analyzer 2018-05-22 23:51:01 +02:00
riking 268b424843 QtUtils/RunOnObject: Make safe under object destruction
Co-Authored-By: cancel <cancel@cancel.fm>
2018-05-21 15:49:19 -07:00
spycrab eef2092854 Qt/D3D: Fix render widget size not being restored properly 2018-05-18 09:27:56 +02:00
spycrab f25213139d Qt/HotkeyScheduler: Fix state loading 2018-05-17 20:27:14 +02:00
aldelaro5 3d9d516bd3
Qt: do not toggle the screensaver when pausing or playing
This fixes 2 crashes with the pause function.  One is when spamming the pause hotkey and the other is to press pause and step hotkeys at the same time.  It does disable the screensaver getting disabled when the emulator is running, but paused, though, a better solution would have to be done without introducing these crashes.
2018-05-17 07:14:44 -04:00
aldelaro5 6f2d8fad8f
Qt: allow to resize the render widget however wanted on render to main 2018-05-14 00:43:31 -04:00
spycrab b9ae157835 Qt/RenderWidget: Fix render-to-main focus 2018-05-13 21:08:34 +02:00
spycrab fa77e09239 Qt: Fix render widget not being on top when using -n / -e 2018-05-13 17:32:29 +02:00
Léo Lam 99dff10d43
Merge pull request #6837 from spycrab/qt_position
Qt/RenderWidget: Save position and size using QSettings
2018-05-13 11:47:04 +02:00
spycrab 760a0be28a Qt/RenderWidget: Save position and size using QSettings 2018-05-13 01:27:56 +02:00
Léo Lam 66c1b909c2
Merge pull request #6765 from aldelaro5/Qt-debugger-fixes
Qt/debugger: fix a bunch of things
2018-05-13 01:20:11 +02:00
aldelaro5 5c688b2d2b
Qt/debugger: Don't update the symbols list unnecessarily
It only needs to be updated when we changes the symbols, not every time the code widget updates and it does take a while to update them so this fixes some delay when updating the code window.
2018-05-12 19:15:26 -04:00
aldelaro5 09792fde70
Qt/debugger: recenter the code widget when selecting a breakpoint 2018-05-12 19:04:37 -04:00
aldelaro5 f9a6f97dca
Make the dock widgets (logger and debugger) be on the left by default
Like they were in Wx.
2018-05-12 15:47:16 -04:00
spycrab bf0ee9f702
Merge pull request #6822 from spycrab/qt_fix_defaults
Qt: Fix mapping defaults
2018-05-12 19:22:53 +02:00
Léo Lam e78235943e
Merge pull request #6823 from spycrab/qt_reset_hotkey
Qt: Implement "Reset" hotkey
2018-05-12 13:12:24 +02:00
Léo Lam a712cfe339
Merge pull request #6624 from spycrab/qt_dbg_jit
Qt/Debugger: Implement "JIT" widget
2018-05-12 13:02:47 +02:00
spycrab 226b6888d6 Qt: Implement "Reset" hotkey 2018-05-12 03:56:10 +02:00
spycrab c118af73c2 Qt: Fix mapping defaults 2018-05-12 01:31:42 +02:00
spycrab 1dfcffcce2 Qt/Debugger: Implement "JIT" widget 2018-05-11 18:10:35 +02:00
Neui f6d5896bc7 Qt: Save and restore main window size and position 2018-05-10 18:19:17 +02:00
spycrab e380df2e59 Qt/MainWindow: Call Config::Save last before destruction 2018-05-10 12:05:58 +02:00
spycrab ce32447726 Qt: Implement missing hotkeys 2018-05-09 08:27:04 +02:00
spycrab 2852959811 Qt: Restore render widget size and position 2018-05-08 16:03:13 +02:00
Anthony 8212b6e9cf
Merge pull request #6769 from spycrab/qt_fix_netplay
Qt/NetPlay: Fix crashes on start
2018-05-07 09:57:02 -07:00
spycrab 8f9bc2f3e4 Qt: Implement custom fullscreen resolution support 2018-05-07 18:38:59 +02:00
spycrab e184dc55b2 Qt/NetPlay: Fix crashes on start 2018-05-06 19:00:17 +02:00
spycrab 7d762fd632 Qt/RenderWidget: Restore size when exiting fullscreen 2018-05-05 17:05:32 +02:00
spycrab 2a837a82d4 Qt: Implement Batch flag (-b) 2018-04-29 19:13:40 +02:00