Commit Graph

918 Commits

Author SHA1 Message Date
John Preston a0d5456a4d PoC content outside of PopupMenu. 2022-09-02 21:14:29 +04:00
John Preston 184ebc865c Fix downloading videos of size > INT_MAX to disk. 2022-08-16 08:56:30 +03: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
John Preston 8bc807dc40 Set name / phone texts on-demand. 2022-08-09 14:12:19 +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
John Preston f8e22210e7 Move Webm sticker to UnwrappedMedia. 2022-08-04 13:35:34 +03:00
John Preston 5472654ac1 Show "You" in out voice messages player. 2022-08-02 16:48:47 +03:00
Ilya Fedin be133fce78 Follow TitleControlsLayout in the PiP 2022-08-01 13:53:50 +04:00
John Preston 289602528c Fix custom emoji pausing in captions. 2022-07-26 20:12:08 +03:00
John Preston 2499955496 Support custom emoji in the message input field. 2022-07-26 20:12:08 +03:00
John Preston 2e6733e433 Proof-of-concept animated custom emoji. 2022-07-26 20:12:08 +03:00
Niklas Haas 6096116526 Use quasi-logarithmic volume controls
This commit significantly improves the usability of the volume controls
for controlling volume in a way that matches intuitively onto human
needs and loudness perception.

Using the third power of the volume is a good approximation of the
quasi-logarithmic psychoacoustic system, while being defined everywhere
and preserving the useful quality of 0% volume mapping onto gain 0.0.
The use of this exact mapping function is a prior art established by
e.g. PulseAudio, among many other programs.

Fixes #24488
2022-07-19 19:32:46 +04:00
Ilya Fedin 45d2baa2c4 Restore missed QWindow::setScreen 2022-06-21 22:19:32 +04:00
Ilya Fedin 984094a7ff Partially revert "Use QWidget::screen/QWidget::mask instead of QWindow ones"
This partially reverts commit e5d8a1aa3c to use QWindow::setScreen.
2022-06-21 00:03:21 +04:00
John Preston 60d998bf36 Fix build on Linux. 2022-06-14 21:27:50 +04:00
23rd fe7cffc509 Improved management of online status from non-primary windows.
– The online status of the user should be checked and updated only
when the previous active window and the current active window both have
different sessions.
– Removed MainWindow::activeChangedHook since windows should not
change online status on their own on activating.
– Renamed Application::maybeActiveSession
to Application::maybePrimarySession.
– Added updating of online status on changing of the current account
since this seems to have been missed.
2022-06-12 16:07:41 +03:00
23rd 1d475ee727 Slightly optimized includes in application.h. 2022-06-12 16:07:41 +03:00
John Preston 333b986098 Remove ToS and Privacy Policy footer. 2022-06-12 16:51:55 +04:00
23rd 6ca167679d Added ability to invoke callback for non-primary window controllers. 2022-06-10 14:57:44 +03:00
23rd 43c0197445 Removed Ui::hideLayer from places that can be in non-primary windows. 2022-06-09 07:06:01 +03:00
23rd cc7a4c2772 Removed Ui::showPeerProfile. 2022-06-09 00:45:04 +03:00
23rd 37f96534ec Fixed opening of shared media in corresponding window from media viewer. 2022-06-09 00:45:04 +03:00
23rd 176f3ea15c Removed simultaneous voice recording. 2022-06-08 11:59:30 +03:00
23rd 99059ab95a Respected setting of disabled animation in save toast from media viewer. 2022-06-06 02:26:52 +03:00
John Preston 705753efb2 Use small userpic video in dialogs list / chat history. 2022-06-03 15:58:02 +04:00
John Preston 88393eb77b Fixed streaming for big files. 2022-05-19 17:27:03 +04:00
John Preston 6dedf7c63e Update API scheme to layer 143. 2022-05-19 17:27:02 +04:00
Ilya Fedin caf2be13b3 Move pipewire stubs initialization to Media::Audio::Start 2022-05-04 14:34:33 +04:00
John Preston 3cdd8558db Beta version 3.7.4: Fix build with GCC. 2022-05-04 11:42:54 +04:00
Ilya Fedin 2f2003c89b Fix media viewer on Unity
This could be a regression for tiling WMs, though...
2022-05-02 16:00:56 +04:00
John Preston acd76fc97b Clear possible crash in media viewer. 2022-04-19 09:39:01 +04:00
23rd d289bbdc5e Added ability to report profile photos.
Fixed #24325.
2022-04-19 09:39:01 +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 261740967d Fix media viewer crop on multi-monitor setup. 2022-04-16 19:56:28 +04:00
23rd f5164fe3e4 Added ability to use previous peer userpics. 2022-04-07 02:14:02 +03:00
John Preston 2aa293f1a5 Re-create texture image on format change. 2022-03-30 17:07:35 +04:00
John Preston 5167eb47ae Add hardware acceleartion video decoding setting. 2022-03-30 15:26:34 +04:00
John Preston dd9e317257 Recover after a streaming error. 2022-03-30 14:08:36 +04:00
John Preston e8748986bf Fix fallback to software decoding in FFmpeg. 2022-03-30 12:22:50 +04:00
John Preston 528a3cdca1 Fix media viewer window. 2022-03-30 12:22:50 +04:00
John Preston 4b328a236c Fix NV12 video rendering in Picture-in-Picture panel. 2022-03-28 17:39:25 +04:00
Ilya Fedin 93e9eedfae Update media viewer window flags
1. FramelessWindowHint seem to be a redudant leftover of BypassWindowManagerHint, media viewer uses fullscreen state now that implies lack of the frame
2. MaximizeUsingFullscreenGeometryHint is useless since media viewer doesn't use maximize
3. Transient parent/window modality dance is replaced with minimum/maximum size just like in other places where tiling shouldn't be done
4. setWindowState(WindowFullScreen) is replaced with showFullScreen that ensures the flag is set on each show
2022-03-24 16:05:32 +04:00
John Preston 41eb223bbf Render NV12 in OpenGL from hwaccel without swscale. 2022-03-23 10:03:43 +04:00
John Preston 0dca556843 Use FFmpeg hardware acceleration in media viewer / PiP. 2022-03-23 10:03:38 +04:00
Ilya Fedin 36282c450e Log media viewer geometry on show 2022-03-23 09:42:51 +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
Ilya Fedin 4e090fcfda Get media viewer screen by checking the screen by active window position
QWindow::screen seem to be buggy on Windows and doesn't always follow window moves
2022-03-16 09:23:43 +04:00