Commit Graph

195 Commits

Author SHA1 Message Date
aubymori
7f69f00ed2 Query UI font from system on Windows
Previously, we determined the UI font from a predefined set of fonts
each mapped to a language. This works well if the user doesn't change
their Windows UI font, but if one does, they will get the default UI
font associated with their language instead of the one the set.

This commit replaces ProgSettings::getFontName with
ProgSettings::getUIFont, which uses the SystemParametersInfo API to
query the message font from the system, which will allow users to have a
custom font. It will also not interfere with different languages, as the
message font will be appropriately set by default there.
2026-02-02 19:15:31 -06:00
OBattler
f66e2d5fd7 Fix Ctrl+NumLock processing. 2026-02-01 07:08:53 +01:00
Cacodemon345
75cfe2bc7d Add fast forward option 2026-01-08 18:46:23 +06:00
Cacodemon345
72dac6148b Fix high CPU usage on keyboard status icon updates 2026-01-04 17:14:10 +06:00
Jasmine Iwanek
ca424aed32 clang-format in src/qt 2025-11-07 20:25:29 -05:00
Cacodemon345
22bd6c53b1 Run as many frames as possible without "pinging" the host timers (#6278)
It should improve performance for certain Intel/AMD platforms with botched HPET/TSC implementations
2025-10-04 19:00:30 +02:00
Jasmine Iwanek
8ac8461dd3 Header cleanups (2/2) (#6275) 2025-10-04 03:40:32 +02:00
Cacodemon345
37edcce1fa Call timeBeginPeriod only once on startup (#6273)
Use SetProcessInformation to make the OS better handle our threads on big/small cores
2025-10-03 22:03:11 +02:00
richardg867
e44dfd08f5 Add thread name to the qt event loop thread [skip ci] 2025-10-03 16:34:12 -03:00
Cacodemon345
3ac3945499 Qt: revert native window behaviour for Windows (#6271) 2025-10-03 15:53:59 +02:00
Cacodemon345
d29b0d5183 Set up default surface formats before QApplication creation (#6221) 2025-09-24 13:59:29 +02:00
Cacodemon345
37bb704474 Always use desktop OpenGL implementations 2025-09-21 05:16:26 +06:00
OBattler
ac1f091a62 Remove the excess -mstackrealign and only run the Discord timer if Discord integration is enabled. 2025-09-18 00:30:24 +02:00
Cacodemon345
30524acbbd Reflect language and color scheme changes in global config in manager and all its VMs 2025-08-28 17:56:33 +06:00
Cacodemon345
4f81c12b81 Add ability to switch color scheme from system default on Windows 2025-08-28 14:34:39 +06:00
Alexander Babikov
5de3af3df7 Manager: Fix style not reacting to Windows light/dark mode change
Add a native event filter for dark mode update, move the function
that queries the current theme to qt_util.cpp and make widgets
with custom stylesheets update their style on update
2025-08-23 20:10:41 +05:00
Miran Grča
a5195cac8d Merge pull request #6004 from 86Box/feature/vmm-config-toggle
Enable VM Manager by default
2025-08-21 20:57:38 +02:00
David Hrdlička
eb8ba6a4d8 Little cleanup 2025-08-21 16:51:10 +02:00
Cacodemon345
821134d31e Start manager inside a timer callback 2025-08-21 20:38:36 +06:00
David Hrdlička
979d772ffe Add global config toggle for built-in manager 2025-08-21 15:28:32 +02:00
Alexander Babikov
05120bfb70 Split off ROM set checking from pc_init_modules()
Everything else isn't needed for the manager
2025-08-15 03:35:05 +05:00
Alexander Babikov
4827da23f4 Manager: Update machine configuration on change
(signaled by the VM or upon closing the standalone settings dialog)
2025-08-02 00:38:16 +05:00
Alexander Babikov
5e8064c969 Qt: Re-enable menu keyboard navigation and mnemonics
when "Keyboard requries capture" is enabled and mouse isn't captured
on Windows and Linux
2025-08-01 20:22:46 +05:00
Alexander Babikov
b5ced14d1b Manager: Fix machine status showing as "Running"...
instead of "Paused/Waiting" when opening settings for a stopped machine
by establishing a minimal manager socket connection
2025-08-01 16:24:56 +05:00
Alexander Babikov
7dcf25bf3a Qt: Skip emulator-specific things on startup if starting in manager mode:
- Don't try to read 86box.cfg;
- Don't initialize subsystems that aren't used in manager mode;
- Ignore `-I` or `-X` command-line options;
- Don't block keyboard navigation and mnemonics in menus;
- Don't perform UUID/WinBox/cpu_override checks.
2025-08-01 15:28:47 +05:00
Cacodemon345
00bcf6cbf9 Don't use time-critical priority for VM thread
Fixes some unresponsiveness on Windows
2025-07-30 23:00:46 +06:00
Cacodemon345
038a0236fe Remove extraneous show() calls 2025-07-12 17:24:55 +06:00
Cacodemon345
07c6a8a154 Implement focus-shifting on Windows and waiting status 2025-07-12 16:34:42 +06:00
Cacodemon345
aa4637d5db Add support for Feral Interactive's gamemode on Linux 2025-07-10 17:26:18 +06:00
Cacodemon345
1a18bf58ac Make emulator thread time critical if possible on Windows to reduce fluctuations 2025-07-09 17:07:33 +06:00
Cacodemon345
916533499a Add 10ms interval option (not exposed yet to UI)
Fix percentage counter
2025-07-09 12:59:16 +06:00
Cacodemon345
b45d796218 Allow up to 50 missed CPU frames instead of 500 2025-07-09 02:11:55 +06:00
Cacodemon345
7b6d726c18 Restore 1 ms sleep 2025-07-09 01:14:08 +06:00
Cacodemon345
4680d758a6 1ms 2025-07-08 15:55:50 +06:00
Cacodemon345
1b735084a4 Always load "opengl32.dll" from application directory if it exists 2025-07-07 17:44:47 +06:00
OBattler
7d579fb3f9 Qt: Remove the superfluous second instance of the CPU override warning. 2025-06-30 00:53:21 +02:00
Jasmine Iwanek
9e34464759 Deal with renderer magic numbers 2025-06-28 19:07:59 -04:00
OBattler
c15f6d757c Fixed all the vid_api checks in the QT code. 2025-06-29 00:35:38 +02:00
Alexander Babikov
229899dbfe Merge branch 'master' into vmm 2025-06-22 03:16:00 +05:00
Miran Grča
b19240a168 Windows hook: do not block anything if keyboard requires capture and it is not captured. 2025-06-09 18:22:14 +02:00
cold-brewed
c6da2caff2 vmm preview 2025-05-30 15:20:23 +05:00
Cacodemon345
39fdda6dd9 Fix compilation without extra-cmake-modules 2025-05-07 20:22:38 +06:00
Cacodemon345
572c9e176b Implement keyboard grabbing for Wayland 2025-05-07 17:52:26 +06:00
Cacodemon345
6d2128ab05 Make Qt shortcuts actually work in fullscreen
Also removes hacks related to fullscreen.
2025-04-05 23:59:49 +06:00
Cacodemon345
dd0e626133 Set LC_NUMERIC to "C" in program startup
For whatever fucking reason, glibc's functions dealing with decimal numbers apparently can only accept either commas or dots in strings, but not both. Meanwhile, both Windows and macOS have no apparent issues accepting both.

I will never understand why they decided to even consider such behaviour acceptable, especially since those ARE used for parsing decimal numbers in many programs, but I guess it's their own version of Not Invented Here syndrome that they (or anyone else) can't be bothered to deal with. This is not how good C standard libraries are written, at all.
2025-03-29 01:18:37 +06:00
Cacodemon345
7c4df701cb Add option to inhibit multimedia keys from host on Windows 2025-03-13 19:55:46 +06:00
OBattler
6779a3c1bd Hook Keyboard Input: Ignore the extended flag for scan codes F1 and F2, fixes the passing of the Hanja and Han/Eng keys to the guest. 2025-03-12 23:16:16 +01:00
OBattler
7261a0d74b Hook input: Fix Pause scan code. 2025-03-12 17:53:58 +01:00
OBattler
9e5697126b QT: Fix two strings. 2025-03-11 10:40:40 +01:00
Cacodemon345
dceb13f859 OpenGL error messages are now reported properly 2025-03-10 13:27:29 +06:00