From a43a5ce6c5b8bc6a65eaabea044ecb8d9dc37453 Mon Sep 17 00:00:00 2001 From: John Preston Date: Thu, 14 Sep 2023 19:56:01 +0400 Subject: [PATCH] Improve reaction selector position. --- .../SourceFiles/media/stories/media_stories_reactions.cpp | 4 ++++ .../media/stories/media_stories_recent_views.cpp | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/Telegram/SourceFiles/media/stories/media_stories_reactions.cpp b/Telegram/SourceFiles/media/stories/media_stories_reactions.cpp index 82daa7b89..03803f669 100644 --- a/Telegram/SourceFiles/media/stories/media_stories_reactions.cpp +++ b/Telegram/SourceFiles/media/stories/media_stories_reactions.cpp @@ -686,6 +686,8 @@ void Reactions::Panel::create() { _controller->layoutValue(), _shownValue.value() ) | rpl::start_with_next([=](const Layout &layout, float64 shown) { + const auto story = _controller->story(); + const auto viewsReactionsMode = story && story->peer()->isChannel(); const auto width = margins.left() + _selector->countAppearedWidth(shown) + margins.right(); @@ -693,6 +695,8 @@ void Reactions::Panel::create() { const auto shift = (width / 2); const auto right = (mode == Mode::Message) ? (layout.reactions.x() + layout.reactions.width() / 2 + shift) + : viewsReactionsMode + ? (layout.content.x() + layout.content.width()) : (layout.controlsBottomPosition.x() + layout.controlsWidth - st::storiesLikeReactionsPosition.x()); diff --git a/Telegram/SourceFiles/media/stories/media_stories_recent_views.cpp b/Telegram/SourceFiles/media/stories/media_stories_recent_views.cpp index 3098dea67..e2be66e08 100644 --- a/Telegram/SourceFiles/media/stories/media_stories_recent_views.cpp +++ b/Telegram/SourceFiles/media/stories/media_stories_recent_views.cpp @@ -286,7 +286,11 @@ void RecentViews::setupViewsReactions() { _controller->layoutValue( ) | rpl::start_with_next([=](const Layout &layout) { - _outer = layout.views; + _outer = QRect( + layout.content.x(), + layout.views.y(), + layout.content.width(), + layout.views.height()); updateViewsReactionsGeometry(); }, _likeWrap->lifetime());