From 83560e3e70d5d3ebdc4fd96e2d353240e9c73531 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=96=D0=BE=D1=80=D0=B0=20=D0=97=D0=BC=D0=B5=D0=B9=D0=BA?= =?UTF-8?q?=D0=B8=D0=BD?= Date: Mon, 25 May 2026 14:44:15 +0300 Subject: [PATCH] Add top player seeking for voice and round video messages This enables the top media player progress slider for voice and round video messages and lets it use the existing seek path. Based on Materialgram commits kukuruzka165/materialgram@76a5c1384f and kukuruzka165/materialgram@7bf0c6abdc. Co-authored-by: kukuruzka <60149954+kukuruzka165@users.noreply.github.com> --- .../SourceFiles/media/player/media_player_widget.cpp | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/Telegram/SourceFiles/media/player/media_player_widget.cpp b/Telegram/SourceFiles/media/player/media_player_widget.cpp index c7036665ab1053..43ba8c31988815 100644 --- a/Telegram/SourceFiles/media/player/media_player_widget.cpp +++ b/Telegram/SourceFiles/media/player/media_player_widget.cpp @@ -109,16 +109,10 @@ Widget::Widget( _playbackSlider->setValue(value); }); _playbackSlider->setChangeProgressCallback([=](float64 value) { - if (_type != AudioMsgId::Type::Song) { - return; // Round video seek is not supported for now :( - } _playbackProgress->setValue(value, false); handleSeekProgress(value); }); _playbackSlider->setChangeFinishedCallback([=](float64 value) { - if (_type != AudioMsgId::Type::Song) { - return; // Round video seek is not supported for now :( - } _playbackProgress->setValue(value, false); handleSeekFinished(value); }); @@ -292,7 +286,7 @@ void Widget::setShadowGeometryToLeft(int x, int y, int w, int h) { void Widget::showShadowAndDropdowns() { _shadow->show(); - _playbackSlider->setVisible(_type == AudioMsgId::Type::Song); + _playbackSlider->show(); if (_volumeHidden) { _volumeHidden = false; _volume->show(); @@ -612,9 +606,6 @@ void Widget::updateControlsVisibility() { _repeatToggle->setVisible(_type == AudioMsgId::Type::Song); _orderToggle->setVisible(_type == AudioMsgId::Type::Song); _speedToggle->setVisible(hasPlaybackSpeedControl()); - if (!_shadow->isHidden()) { - _playbackSlider->setVisible(_type == AudioMsgId::Type::Song); - } updateControlsGeometry(); }