Commit graph

110 commits

Author SHA1 Message Date
Ilya Fedin
c261c3367a Fix a PiP crash with Qt 6.9 2025-04-05 06:55:06 +05:00
Ilya Fedin
ec6862d31a Communicate PiP window margins to the OS 2025-02-25 10:15:33 +04:00
Ilya Fedin
b0b37172ce Fix the naming of TitleControlsLayout static methods 2024-12-23 11:01:35 +04:00
Ilya Fedin
bf26de495a Adapt to TitleControlsLayout change 2024-12-19 15:59:25 +04:00
Ilya Fedin
73b3f7e298 Adapt to TitleControlsOnLeft change 2024-12-19 15:59:25 +04:00
John Preston
0971485367 Support quality change in PiP. 2024-11-01 14:15:28 +04:00
John Preston
d6ac883efa Implement adaptive quality selection. 2024-10-31 18:04:17 +04:00
Ilya Fedin
3a9eb8463d Try to always use QWidget::screen 2024-09-19 10:46:10 +02:00
23rd
03790f3da0 Removed include directive for ui_utility from rp_widget header. 2024-08-28 15:15:58 +03:00
Ilya Fedin
8d0d9bb0bd Delay clearing transient parent until the pip window is really exposed 2024-07-06 09:17:04 +04:00
Ilya Fedin
c1bc7e6ab1 Simplify PipPanel::handleWaylandResize 2024-06-22 11:32:36 +04:00
Ilya Fedin
006d6fe2c0 Use RpWidget::screenValue 2024-06-22 11:32:36 +04:00
Ilya Fedin
5180e0ec57 Use QWidget::setScreen with Qt 6 2024-06-22 11:32:36 +04:00
Ilya Fedin
001b055ee8 Let Wayland to use QGuiApplication::screenAt
Looks like it works correctly nowadays
2024-03-28 10:54:34 +04:00
Ilya Fedin
eb1ef6d2a7 Fix getting the screen of viewer/pip
We need to workaround getting the actual screen for the parent by getting its position yet we need to get the setted screen for the widget itself as that's the screen used to compute the geometry
2023-10-22 22:20:52 +04:00
Ilya Fedin
d60d80ba63 Reuse lib_ui's title control side deduction code 2023-07-20 17:58:41 +04:00
John Preston
7d067d4924 Fix build with Xcode. 2023-07-20 10:20:53 +04:00
Ilya Fedin
8352aeb338 Send mouse release event after startSystemMove/startSystemResize 2023-06-01 20:01:46 +04:00
John Preston
0d6e5eda0c Allow larger PiP window size. 2023-04-20 12:55:01 +04:00
John Preston
5ca7b95cdb Implement new voice speed change control design. 2023-03-14 17:30:50 +04:00
John Preston
58b8eb8e96 Implement per-topic shared media. 2022-11-01 19:25:37 +04:00
Ilya Fedin
4832e3b3ab Fix the comment about surface size in media_view_pip
Surface size is buffer size, in fact...
2022-10-30 07:35:33 +04:00
John Preston
749fb52113 Implement animated spoilers. 2022-09-18 16:52:30 +04:00
Ilya Fedin
b48674d302 Avoid unneccesary QPA, again 2022-09-03 08:47:02 +04:00
Ilya Fedin
dfb40dd216 Handle PiP aspect ratio on Wayland synchronously
During testing with Qt 6.4 I now remember why I made a way complicated logic (yes, because the trivial one bugs with Qt 6.4)
This restores it, but uses event filters rather than hardware integration override
2022-09-03 08:41:49 +04:00
John Preston
a0d5456a4d PoC content outside of PopupMenu. 2022-09-02 21:14:29 +04:00
Ilya Fedin
b9181db407 Don't use QWindowSystemInterface in the PiP
It provides no difference, there was a mistake while testing the behavior
2022-08-12 19:51:04 +03:00
Ilya Fedin
8c1bef929e A better way of PiP aspect ratio handling on Wayland 2022-08-08 11:05:52 +04:00
Ilya Fedin
66d2c06eb4 Update minimum & maximum size in the PiP 2022-08-04 21:27:57 +04:00
Ilya Fedin
9e63fc5acd Let PiP have custom buffer size on Wayland 2022-08-04 16:41:25 +04:00
Ilya Fedin
be133fce78 Follow TitleControlsLayout in the PiP 2022-08-01 13:53:50 +04:00
Ilya Fedin
45d2baa2c4 Restore missed QWindow::setScreen 2022-06-21 22:19:32 +04:00
Ilya Fedin
bf4fc2596a Remove unneeded primary screen fallbacks
QWidget::screen automatically fallbacks to primary screen as the last effort, so this is not needed
2022-04-19 09:33:23 +04:00
John Preston
5167eb47ae Add hardware acceleartion video decoding setting. 2022-03-30 15:26:34 +04:00
John Preston
e8748986bf Fix fallback to software decoding in FFmpeg. 2022-03-30 12:22:50 +04:00
John Preston
0dca556843 Use FFmpeg hardware acceleration in media viewer / PiP. 2022-03-23 10:03:38 +04:00
Ilya Fedin
e5d8a1aa3c Use QWidget::screen/QWidget::mask instead of QWindow ones 2022-03-23 09:42:51 +04:00
Ilya Fedin
3967e5d4ff Synchronize PiP's screen detection code with media viewer 2022-03-21 10:15:40 +04:00
John Preston
a29d1816c9 Fix Picture-in-Picture resize on macOS. 2022-03-08 18:20:02 +04:00
John Preston
f918c6bb83 Pass QWindow to PowerSaveBlocker. 2022-02-04 09:43:56 +03:00
John Preston
9c01295521 Create PowerSaveBlocker-s on calls / video / audio. 2022-02-02 12:05:33 +03:00
John Preston
3ff17a8789 Refactor image transformation interfaces. 2022-01-21 15:33:44 +03:00
Ilya Fedin
847c01d605 Add Qt 6 support
Tested only on Linux so far
2021-10-21 13:15:00 +04:00
John Preston
19ce1edc16 Use base::SafeRound instead of std::round.
Previous assertion violations because of NaN from std::round were
in video streaming, see commits 27d58ba07b, 8f5830d520.

Now the crashes happened in the ConvertScale() call from a background
thread when preparing an image from clipboard for sending to a chat.
2021-09-27 12:13:57 +04:00
Ilya Fedin
79cc797aff Fix -Wunused-variable warnings 2021-07-13 21:43:34 +03:00
John Preston
28fe98af80 Add some assertions for a strange crash debugging. 2021-06-24 10:24:52 +04:00
John Preston
f9f98975a1 Implement OpenGL renderer for one-on-one calls. 2021-06-10 17:16:17 +04:00
John Preston
aeb994dd40 Fix radial loading and seek frame in PiP. 2021-06-10 14:05:15 +04:00
John Preston
112c597556 Fix video rotation apply in PiP player. 2021-06-10 11:44:31 +04:00
John Preston
fc94045f41 Fix PiP cursor after drag/resize finished. 2021-06-10 10:39:09 +04:00