From b5a412929ea91056fdfafa60137f4c67f71587ea Mon Sep 17 00:00:00 2001 From: John Preston Date: Thu, 3 Nov 2022 12:20:25 +0400 Subject: [PATCH] Display pinned messages bar after topic creation. --- .../view/history_view_replies_section.cpp | 31 ++++++++++++------- .../view/history_view_replies_section.h | 1 + 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/Telegram/SourceFiles/history/view/history_view_replies_section.cpp b/Telegram/SourceFiles/history/view/history_view_replies_section.cpp index c1855fc49..1d20b43eb 100644 --- a/Telegram/SourceFiles/history/view/history_view_replies_section.cpp +++ b/Telegram/SourceFiles/history/view/history_view_replies_section.cpp @@ -483,6 +483,9 @@ void RepliesWidget::setupTopicViewer() { } else { refreshReplies(); refreshTopBarActiveChat(); + if (_topic) { + subscribeToPinnedMessages(); + } } _inner->update(); } @@ -533,23 +536,27 @@ void RepliesWidget::subscribeToTopic() { }, _topicLifetime); if (!_topic->creating()) { - using EntryUpdateFlag = Data::EntryUpdate::Flag; - session().changes().entryUpdates( - EntryUpdateFlag::HasPinnedMessages - ) | rpl::start_with_next([=](const Data::EntryUpdate &update) { - if (_pinnedTracker - && (update.flags & EntryUpdateFlag::HasPinnedMessages) - && (_topic == update.entry.get())) { - checkPinnedBarState(); - } - }, lifetime()); - - setupPinnedTracker(); + subscribeToPinnedMessages(); } _cornerButtons.updateUnreadThingsVisibility(); } +void RepliesWidget::subscribeToPinnedMessages() { + using EntryUpdateFlag = Data::EntryUpdate::Flag; + session().changes().entryUpdates( + EntryUpdateFlag::HasPinnedMessages + ) | rpl::start_with_next([=](const Data::EntryUpdate &update) { + if (_pinnedTracker + && (update.flags & EntryUpdateFlag::HasPinnedMessages) + && (_topic == update.entry.get())) { + checkPinnedBarState(); + } + }, lifetime()); + + setupPinnedTracker(); +} + void RepliesWidget::setTopic(Data::ForumTopic *topic) { if (_topic == topic) { return; diff --git a/Telegram/SourceFiles/history/view/history_view_replies_section.h b/Telegram/SourceFiles/history/view/history_view_replies_section.h index 4d7320544..214cc749f 100644 --- a/Telegram/SourceFiles/history/view/history_view_replies_section.h +++ b/Telegram/SourceFiles/history/view/history_view_replies_section.h @@ -214,6 +214,7 @@ private: void setupRootView(); void setupTopicViewer(); void subscribeToTopic(); + void subscribeToPinnedMessages(); void setTopic(Data::ForumTopic *topic); void setupDragArea(); void setupShortcuts();