Commit Graph

954 Commits

Author SHA1 Message Date
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
23rd c9ebec1cf0 Removed base/observer.h from main pch.
Removed unused inheritances from base::Subscriber.
2022-03-15 18:02:30 +03:00
John Preston a29d1816c9 Fix Picture-in-Picture resize on macOS. 2022-03-08 18:20:02 +04:00
John Preston 98f2f6d4c0 Always try to save original photo bytes to disk. 2022-03-07 11:09:14 +04:00
23rd f469cab7b0 Added disable-autoplay-next option. 2022-03-05 12:40:49 +03:00
John Preston 0192edbe84 Handle documentLoadProgress instead of itemRepaintRequest. 2022-03-01 17:32:39 +03:00
John Preston b9685ec711 Correctly destroy Media::Capture::Inner. 2022-03-01 14:27:42 +03:00
Nicholas Guriev 436622ad7c Fix build against FFmpeg v5.0
It has been released on January 17th. This patch keeps source compatibility
with older versions.
2022-02-28 20:22:18 +03:00
Ilya Fedin b9519dd5b9 Try to react to move events in media viewer, again
This time with a weaker geometry check
2022-02-28 20:20:25 +03:00
23rd 5718789d53 Replaced Ui::InformBox and Ui::ConfirmBox with GenericBox. 2022-02-28 09:08:01 +03:00
John Preston dde4868540 Add phrases to lang.string. 2022-02-27 20:26:52 +03:00
23rd 4f6776eeaa Provided video start position to OverlayWidget. 2022-02-25 19:41:16 +03:00
John Preston 91c46dbc85 Allow Info::Media::ListWidget use different data providers. 2022-02-25 19:41:15 +03:00
John Preston 7718764294 Save original bytes of a photo on "Save to disk". 2022-02-25 14:14:43 +03:00
John Preston 95e806cb89 Play webm stickers only once if looping is disabled. 2022-02-10 19:11:21 +03: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 4bef1e9f59 Use unreliable video duration if open with audio. 2022-02-01 16:51:51 +03:00
John Preston 91c84d63de Force libvpx_vp9 decoder for VP9 videos.
Webm stickers depend on decoder support for alpha channel.
2022-01-28 19:10:07 +03:00
John Preston 8e749173de Render webm stickers in StickersListWidget. 2022-01-28 19:10:07 +03:00
John Preston 20dbf18106 Init webm player for sticker set thumbnails. 2022-01-28 19:10:07 +03:00
John Preston 589673e420 Fix non-sticker Webm in media viewer. 2022-01-28 19:10:07 +03:00
John Preston 2f9c39fe53 Support selecting Webm stickers. 2022-01-28 19:10:07 +03:00
John Preston 044c7f3ce9 Generate opaque good thumbnails for non-sticker Webm. 2022-01-28 19:10:07 +03:00
John Preston d18e28978a Cache good thumbnail in Webp for Webm stickers. 2022-01-28 19:10:07 +03:00
John Preston 846cabeda5 Premultiply YUVA alpha in FFMpegReaderImplementation. 2022-01-28 19:10:07 +03:00
John Preston 079772a399 Correctly preserve first frame alpha in video streaming. 2022-01-28 19:10:07 +03:00
John Preston 2e39befd7c Don't trust AVFormatContext duration in Webm video.
It reports some strange numbers like 1000, which is 1ms.
2022-01-28 19:10:07 +03:00
John Preston 8b7d2c880e Support rendering Webm videos with alpha. 2022-01-28 19:10:07 +03:00
John Preston 28f2c213f7 Remove app module. Support delayed quit by Cmd+Q on macOS. 2022-01-27 15:54:20 +03:00
23rd 0143d22a21 Split qt_adapters to separated files. 2022-01-26 10:33:28 +03:00
John Preston 3ff17a8789 Refactor image transformation interfaces. 2022-01-21 15:33:44 +03:00
23rd 8b56676c23 Fixed formatting of some internal links. 2022-01-16 14:13:12 +03:00
John Preston c313cfb4ec Don't show empty context menu. 2022-01-03 14:47:05 +03:00
John Preston 611be90880 Rewrite sponsored to use fake sender names. 2021-12-31 16:07:36 +03:00
John Preston 3623fb1f9a Disable saveAs in media viewer if restricted. 2021-12-30 14:58:34 +03:00
John Preston b773bb6e70 Add icons to the media viewer menus. 2021-12-29 21:22:33 +03:00
Ilya Fedin ffe4208595 Implement loop status/shuffle for MPRIS 2021-12-29 00:56:46 +04:00
John Preston 5e7e7eaa83 FullMsgId rely on PeerId instead of ChannelId. 2021-12-22 10:11:57 +00:00
John Preston 2eb64e051b Don't start animations from QEvent::Enter.
The enter/leave events may be sent from ~QWidget() and if we start
animating something with grabbing of widgets it crashes sometimes.
2021-11-29 15:56:50 +04:00
John Preston 3c0f80719e Don't show playlist with mouse over controls. 2021-11-29 11:11:38 +04:00
John Preston c153cdc70e Change volume by wheel events on volume icon. 2021-11-29 11:11:16 +04:00
John Preston 07dfe88d62 Fix player controls with animations disabled. 2021-11-29 10:25:55 +04:00
Ilya Fedin 4e63346877 Use AL_REMIX_UNMATCHED_SOFT enum value instead of hard-coded value
This makes the feature require version 1.21.0, previously was 1.20.1
2021-11-26 18:48:35 +04:00
Ilya Fedin f69d0823a9 Get rid of oal-soft specific alext.h include 2021-11-26 18:48:35 +04:00
John Preston 0f443da758 Track noforwards flag in specific messages. 2021-11-26 18:00:22 +04:00
John Preston 5cb5e3cc22 Use similar dropdown for playback speed. 2021-11-26 18:00:22 +04:00
John Preston c947586091 Add reverse / shuffle options dropdown. 2021-11-26 18:00:22 +04:00
John Preston 551e1f787c Move volume dropdown management to audio player. 2021-11-26 18:00:21 +04:00
John Preston cdf09e0519 Use composition for playbackSpeed button. 2021-11-26 18:00:21 +04:00
John Preston 4b489ee7d2 Fade out controls in a narrow player. 2021-11-26 18:00:21 +04:00
John Preston ca61b80fe5 Update audio player icons. 2021-11-26 18:00:21 +04:00
John Preston 38367dc1c7 Allow repeat all in shuffle mode. 2021-11-26 18:00:21 +04:00
John Preston 433169626b Fix restarting shuffled playlist. 2021-11-26 18:00:21 +04:00
John Preston 5cd339332c Implement shuffled playlist. 2021-11-26 18:00:20 +04:00
John Preston 7d89952541 Edit noforwards in group / channel type. 2021-11-26 18:00:20 +04:00
John Preston 0309eb023e Cycle through repeat modes by repeat toggle button. 2021-11-26 18:00:20 +04:00
John Preston ecb4d1d9ba Support repeat all in the audio player. 2021-11-26 18:00:20 +04:00
John Preston 68378cf8e5 Support reversed order in the playlist. 2021-11-26 18:00:20 +04:00
John Preston 74cfaff100 Migrate Media::Player::Instance to rpl. 2021-11-26 18:00:20 +04:00
John Preston 92e2b91f81 Add repeat / order controls to the audio player. 2021-11-26 18:00:20 +04:00
John Preston 395100584f Add a second dropdown with playback mode controls. 2021-11-26 18:00:20 +04:00
John Preston c849d17667 Remove corner download if noforwards. 2021-11-26 18:00:18 +04:00
John Preston 96c910190b Restrict saving files as if noforwards. 2021-11-26 18:00:18 +04:00
John Preston 487e8a9009 Disable copy to clipboard if noforwards. 2021-11-26 18:00:18 +04:00