Commit graph

229 commits

Author SHA1 Message Date
Ilya Fedin
f317f20ac8 Try to allow native window frame on Wayland for everyone 2023-09-21 12:47:40 +04:00
Ilya Fedin
caff63f284 Get Wayland window menu out of DESKTOP_APP_DISABLE_WAYLAND_INTEGRATION 2023-09-21 09:12:11 +04:00
Ilya Fedin
ba73905c11 Make use of templated XDP::ReadSetting 2023-09-18 19:46:05 +04:00
Ilya Fedin
9bf89715b1 Make use of the new XDP::SettingWatcher constructor 2023-09-18 12:41:17 +04:00
Ilya Fedin
94f9bbefd7 Re-use the Wayland AutoDestroyer's lifetime in WaylandIntegration::Private 2023-09-16 07:21:04 +04:00
Ilya Fedin
8d005bc820 Change #if-ery to be more in line with cmake logic (LINUX = NOT WIN32 AND NOT APPLE) 2023-09-15 17:58:17 +04:00
Ilya Fedin
b2293c86e1 Use brackets include for QtWaylandScanner-generated headers 2023-09-07 23:09:26 +04:00
Ilya Fedin
dce16a3de2 Use not_null for WaylandIntegration::showWindowMenu window handle 2023-09-07 23:09:26 +04:00
Ilya Fedin
9af842571d Don't call xdg-shell code generation just for xdg_toplevel_show_window_menu 2023-09-07 23:09:26 +04:00
Ilya Fedin
bcf88b9065 Fix window extents terminology
Extents is a synonym of size but we're setting not window size.
2023-08-29 07:47:50 +02:00
Ilya Fedin
2dd3add5b3 Move code not really depending on Wayland-specific dependencies out of WaylandIntegration 2023-08-29 07:47:50 +02:00
Ilya Fedin
fd55e9b71b Adapt WindowHelper::updateMargins for Windows 11 native resize 2023-08-14 12:20:27 +04:00
Ilya Fedin
cbb9e0bbde Make WindowHelper::updateMargins multi-screen DPI aware 2023-08-14 12:20:27 +04:00
Ilya Fedin
e66ad9c80c Avoid additional calculations in WindowHelper::updateMargins 2023-08-14 12:20:27 +04:00
Ilya Fedin
92cb6f6809 Remove unused variables from WindowHelper::fixMaximizedWindow 2023-08-14 12:20:27 +04:00
Ilya Fedin
eeb2cbc69c Use QWindow's devicePixelRatio for top resize area 2023-08-11 11:49:00 +04:00
John Preston
2631d64a5f Use smaller top resize area. 2023-08-10 22:14:48 +02:00
Ilya Fedin
4a41346a64 Use native window resize on Windows 11 2023-08-10 20:01:11 +04:00
Ilya Fedin
8e31adc0af Remove unused variable 2023-08-10 20:01:11 +04:00
John Preston
91d43ea4b5 Provide (almost) correct modifiers in DirectManipulation. 2023-07-26 12:00:10 +04:00
Ilya Fedin
0f20eb152a Use string literal instead of const_string for QString constants 2023-07-20 21:33:16 +04:00
John Preston
8f03125ec1 Fix build with Xcode. 2023-07-20 10:19:51 +04:00
John Preston
ae46510920 Cancel system move if didn't start (macOS). 2023-07-20 09:59:54 +04:00
Ilya Fedin
da7f4fe425 Use new glibmm 2.78 API 2023-07-19 22:53:51 +04:00
Ilya Fedin
3e7f1250c5 Mark TitleControlsOnLeft inline 2023-07-19 22:50:07 +04:00
Ilya Fedin
19d044a212 Move TitleControlsLayout from ui_platform_utility to ui_platform_window_title 2023-07-19 14:42:06 +04:00
Ilya Fedin
6419b54383 Extract controls side deduction code 2023-07-19 14:42:06 +04:00
Ilya Fedin
b9aa8a17d4 Allow to pass new title controls layout value to notifier
In case the getter is trivial (has only one implementation)
2023-07-19 14:42:06 +04:00
John Preston
8db6dcf125 Workaround Wayland popup menu bug.
When hiding a child popup first the app receives ApplicationDeactivate
event and in a short time (a couple of ms) ApplicationActivate.

But the first event hides all popups, so the parent popup gets closed too.

Delay handling of ApplicationDeactivate event in this specific case.
2023-07-12 22:05:12 +04:00
Ilya Fedin
6abad69ca6 Cache title controls layout value
So it's not requested on every window width change and etc...
2023-07-04 15:44:46 +04:00
John Preston
08f8054866 Use QWindowSystemInterface::handleWheelEvent. 2023-06-29 20:48:38 +04:00
John Preston
855f8f7b75 Implement custom scrolling using DirectManipulation.
Use it in Ui::RpWindow. This is an experiment.

Thanks Chromium and Firefox.
2023-06-28 18:55:08 +04:00
Ilya Fedin
8a56048801 Ensure Wayland integration instance accessor doesn't leak 2023-06-17 15:05:24 +04:00
Ilya Fedin
1e89c19a03 Make window check in Wayland integration assert
This function was always requiring a window handle but after latest refactor it would fail silently
2023-06-10 17:07:49 +04:00
Ilya Fedin
784dedac4d Send mouse release event after startSystemMove/startSystemResize 2023-06-01 19:49:19 +04:00
Ilya Fedin
cf906f14bd Store xdg-decoration support with std::optional 2023-05-30 19:01:26 +04:00
Ilya Fedin
627abc6728 C++ify wl_registry 2023-05-30 18:15:19 +04:00
Ilya Fedin
bf4cb33fab Use new base_linux_wayland_utilities 2023-05-25 21:07:08 +04:00
Ilya Fedin
1893967b4a Destroy Wayland integration before Wayland disconnection 2023-05-25 21:07:08 +04:00
Ilya Fedin
be0067a8c7 Switch Wayland integration to the new type safe Qt API
This also makes it possible to get a more right seat/serial pair
2023-05-15 12:29:01 +04:00
Ilya Fedin
e8857f5792 Get rid of DESKTOP_APP_DISABLE_DBUS_INTEGRATION 2023-05-14 12:12:19 +04:00
John Preston
bfdd116000 Handle emoji myself in custom macOS title. 2023-04-26 22:50:22 +04:00
Ilya Fedin
f5fb567052 Take advantage of RHI
Use Metal with Qt 6.4+ and macOS 10.14+, OpenGL for Wayland whenever enabled
2023-04-03 16:03:08 +04:00
Ilya Fedin
8b0e9ea7b8 Fix the detection of xdg-decoration removal 2023-03-23 12:50:35 +04:00
John Preston
328b75a311 Some indentation fixes. 2023-03-17 14:21:51 +04:00
John Preston
5173dfa1ca Workaround for emoji selector in popup menu on Windows. 2023-03-17 14:21:42 +04:00
Ilya Fedin
3043ec69ea Make maximized geometry handling less bugged on Windows 2023-03-01 10:45:11 +04:00
John Preston
0b87868b1d Respect real title height in WindowHelper on macOS. 2023-02-28 16:18:17 +04:00
John Preston
85b73e98ec Fix build on macOS. 2023-02-25 17:12:46 +04:00
John Preston
2aa929dc91 Support custom semi-native title buttons on Windows. 2023-02-23 17:06:12 +04:00