Commit Graph

104 Commits

Author SHA1 Message Date
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
John Preston 2a8055c513 Fix action invocation after dragging PiP window.
Regression was introduced in d752aa3481.
2021-06-10 10:31:47 +04:00
John Preston fba116f0d5 Implement custom OpenGL renderer for PiP. 2021-06-10 10:12:37 +04:00
John Preston c5a46d9d1b For surface with parent backend should be fixed. 2021-06-09 09:19:29 +04:00
Alexander Bushnev d752aa3481 Add volume controls to the PiP window
Add volume toggle and volume level controls to the PiP window.
2021-06-09 08:17:32 +03:00
John Preston 513c8d1a65 Fix PiP drag pausing the video. 2021-05-26 23:49:33 +04:00
John Preston c64e953174 Choose OpenGL / Raster in media viewer. 2021-05-24 22:45:15 +04:00