diff --git a/Telegram/Resources/langs/rewrites/en.json b/Telegram/Resources/langs/rewrites/en.json index 0811881ba..22c6cc73e 100644 --- a/Telegram/Resources/langs/rewrites/en.json +++ b/Telegram/Resources/langs/rewrites/en.json @@ -255,6 +255,7 @@ "ktg_disable_chat_themes": "Disable chat themes", "ktg_settings_remember_compress_images": "Remember compress images", "ktg_settings_compress_images_default": "Compress images by default", + "ktg_pip_not_supported": "Sorry, Picture-in-Picture mode is not supported here.", "ktg_forward_quiz_unquoted": "Sorry, quizzes that are currently open and unvoted on cannot be forwarded unquoted.", "ktg_in_app_update_disabled": "In-app updater is disabled.", "ktg_settings_view_profile_on_top": "Show \"View Profile\" first", diff --git a/Telegram/SourceFiles/data/data_document_resolver.cpp b/Telegram/SourceFiles/data/data_document_resolver.cpp index 8a8e9cab1..1a0a38d26 100644 --- a/Telegram/SourceFiles/data/data_document_resolver.cpp +++ b/Telegram/SourceFiles/data/data_document_resolver.cpp @@ -257,10 +257,12 @@ void ResolveDocument( || document->isVoiceMessage() || document->isVideoMessage()) { ::Media::Player::instance()->playPause({ document, msgId }); + /* } else if (item && document->isAnimation() && HistoryView::Gif::CanPlayInline(document)) { document->owner().requestAnimationPlayInline(item); + */ } else { showDocument(); } diff --git a/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp b/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp index ba4fb5871..b3a0358a6 100644 --- a/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp +++ b/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp @@ -7,6 +7,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL */ #include "media/view/media_view_overlay_widget.h" +#include "kotato/kotato_lang.h" #include "apiwrap.h" #include "api/api_attached_stickers.h" #include "api/api_peer_photo.h" @@ -880,7 +881,7 @@ void OverlayWidget::refreshCaptionGeometry() { _groupThumbs = nullptr; _groupThumbsRect = QRect(); } - const auto captionBottom = (_streamed && !videoIsGifOrUserpic()) + const auto captionBottom = (_streamed/* && !videoIsGifOrUserpic()*/) ? (_streamed->controls.y() - st::mediaviewCaptionMargin.height()) : _groupThumbs ? _groupThumbsTop @@ -1136,7 +1137,7 @@ void OverlayWidget::contentSizeChanged() { } void OverlayWidget::resizeContentByScreenSize() { - const auto bottom = (!_streamed || videoIsGifOrUserpic()) + const auto bottom = (!_streamed/* || videoIsGifOrUserpic()*/) ? height() : (_streamed->controls.y() - st::mediaviewCaptionPadding.bottom() @@ -1442,7 +1443,7 @@ void OverlayWidget::hideControls(bool force) { || _menu || _mousePressed || (_fullScreenVideo - && !videoIsGifOrUserpic() + /*&& !videoIsGifOrUserpic()*/ && _streamed->controls.geometry().contains(_lastMouseMovePos))) { return; } @@ -2562,7 +2563,7 @@ void OverlayWidget::displayDocument( } refreshFromLabel(); _blurred = false; - if (_showAsPip && _streamed && !videoIsGifOrUserpic()) { + if (_showAsPip && _streamed/* && !videoIsGifOrUserpic()*/) { switchToPip(); } else { displayFinished(); @@ -2784,12 +2785,12 @@ bool OverlayWidget::createStreamingObjects() { || _document->isVoiceMessage() || _document->isVideoMessage()); - if (videoIsGifOrUserpic()) { - _streamed->controls.hide(); - } else { + // if (videoIsGifOrUserpic()) { + // _streamed->controls.hide(); + // } else { refreshClipControllerGeometry(); _streamed->controls.show(); - } + // } return true; } @@ -2977,7 +2978,7 @@ void OverlayWidget::initThemePreview() { } void OverlayWidget::refreshClipControllerGeometry() { - if (!_streamed || videoIsGifOrUserpic()) { + if (!_streamed/* || videoIsGifOrUserpic()*/) { return; } @@ -3012,9 +3013,9 @@ void OverlayWidget::playbackControlsFromFullScreen() { } void OverlayWidget::playbackControlsToPictureInPicture() { - if (!videoIsGifOrUserpic()) { + //if (!videoIsGifOrUserpic()) { switchToPip(); - } + //} } void OverlayWidget::playbackControlsRotate() { @@ -3169,7 +3170,7 @@ void OverlayWidget::playbackControlsSpeedChanged(float64 speed) { Core::App().settings().setVideoPlaybackSpeed(speed); Core::App().saveSettingsDelayed(); } - if (_streamed && !videoIsGifOrUserpic()) { + if (_streamed/* && !videoIsGifOrUserpic()*/) { DEBUG_LOG(("Media playback speed: %1 to _streamed.").arg(speed)); _streamed->instance.setSpeed(speed); } @@ -3182,8 +3183,11 @@ float64 OverlayWidget::playbackControlsCurrentSpeed() { } void OverlayWidget::switchToPip() { + if (_document == nullptr) { + Ui::Toast::Show(_widget, ktr("ktg_pip_not_supported")); + return; + } Expects(_streamed != nullptr); - Expects(_document != nullptr); const auto document = _document; const auto message = _message; @@ -3217,7 +3221,7 @@ void OverlayWidget::switchToPip() { void OverlayWidget::playbackToggleFullScreen() { Expects(_streamed != nullptr); - if (!videoShown() || (videoIsGifOrUserpic() && !_fullScreenVideo)) { + if (!videoShown()/* || (videoIsGifOrUserpic() && !_fullScreenVideo)*/) { return; } _fullScreenVideo = !_fullScreenVideo; @@ -3271,9 +3275,11 @@ void OverlayWidget::playbackPauseMusic() { void OverlayWidget::updatePlaybackState() { Expects(_streamed != nullptr); + /* if (videoIsGifOrUserpic()) { return; } + */ const auto state = _streamed->instance.player().prepareLegacyState(); if (state.position != kTimeUnknown && state.length != kTimeUnknown) { _streamed->controls.updatePlayback(state);