Commit graph

253 commits

Author SHA1 Message Date
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
John Preston
74ab66cfa9 Ignore native state updates for fullscreen. 2023-02-17 20:12:09 +04:00
John Preston
3b69ec499c Allow querying manual rounding radius of RpWindow. 2023-02-17 12:10:00 +04:00
John Preston
eb4d44ecd3 Fix window shadow on Linux for translucent windows. 2023-02-17 10:35:02 +04:00
John Preston
c4838f5899 Fix native pointers staleness in macOS RpWindow. 2023-02-14 19:39:24 +04:00
Ilya Fedin
a56831e8d0 Fix deprecated declarations warnings on macOS 2023-02-13 16:57:35 +04:00
John Preston
a3bcd2fac4 Fix rounding for maximized translucent windows. 2023-02-10 20:32:06 +04:00
John Preston
30dba7a215 Fix system buttons padding on Windows. 2023-02-10 16:42:55 +04:00
John Preston
e053e04607 Always round down point coords inside the window.
Or 3839 rounds to 1920 and the point falls outside of Qt window.
2023-02-06 12:42:57 +04:00
John Preston
30e7657859 Set system window title text on macOS. 2023-02-03 11:27:19 +04:00
John Preston
2404225e09 Allow window to receive WM_DPICHANGED in Qt. 2023-01-13 12:43:50 +04:00
23rd
22ceaae4ed Fixed drawing of long window titles on macOS. 2022-12-04 18:47:00 +03:00
Ilya Fedin
3f28dfa821 Replace custom waitForInterfaceAnnounce with wl_display_roundtrip 2022-11-11 11:39:36 +04:00
Ilya Fedin
95dd2c8465 Fix various spaces on end of lines 2022-09-02 19:26:53 +04:00
Ilya Fedin
f6e875c748 Use new Qt 6.4 API for window extents on Wayland 2022-09-02 19:26:53 +04:00
Ilya Fedin
47268d21ce Get wayland serial with new Qt 6.4 API 2022-09-02 19:26:53 +04:00
John Preston
a76cdf7edf Allow arbitrary paddings around PopupMenu. 2022-08-17 21:03:06 +03:00
Ilya Fedin
180b0bc517 Apply window extents early to avoid window size changes 2022-08-14 09:22:03 +04:00
John Preston
16708fd4f4 Revert "Allow buffer size overrides on Wayland EGL"
This reverts commit 303947c78c.
2022-08-08 09:40:29 +03:00
John Preston
c6727e673d Revert "Fix packaged build"
This reverts commit 4689c896e2.
2022-08-08 09:39:59 +03:00
Ilya Fedin
4689c896e2 Fix packaged build 2022-08-05 16:35:22 +04:00
Ilya Fedin
303947c78c Allow buffer size overrides on Wayland EGL 2022-08-04 10:12:36 +04:00
Ilya Fedin
ba7e3667d6 Adapt for Qt 6.4 device pixel ratio changes
QWidget::devicePixelRatioF represents backing store ratio and it's no more equal to native surface ratio
2022-07-19 19:44:06 +04:00
Ilya Fedin
db2638cf60 Fix painting of bottom left shadow corner 2022-06-25 07:12:42 +04:00
Ilya Fedin
c499a437f8 Fix a crash while updating window extents 2022-06-24 20:59:03 +04:00
Ilya Fedin
3dbf58c45f Make window resize less lagged on Windows 2022-06-24 20:40:52 +04:00
John Preston
f40dc661b3 Revert "Simplify Windows native event filter."
With that commit the window frame on Windows 7 is still bugged :(
2022-06-24 20:40:23 +04:00