From fcc45037919c86e7fd4346a29d4cd5c90715f542 Mon Sep 17 00:00:00 2001 From: John Preston Date: Tue, 18 Oct 2022 16:37:51 +0400 Subject: [PATCH] Add "View as Messages" in forums. --- Telegram/Resources/langs/lang.strings | 1 + Telegram/SourceFiles/window/window_peer_menu.cpp | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/Telegram/Resources/langs/lang.strings b/Telegram/Resources/langs/lang.strings index d70be69c6..3ddd81806 100644 --- a/Telegram/Resources/langs/lang.strings +++ b/Telegram/Resources/langs/lang.strings @@ -3511,6 +3511,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL "lng_forum_no_topics" = "No topics currently created in this forum."; "lng_forum_create_topic" = "Create topic"; "lng_forum_discard_sure" = "Discard sure?"; +"lng_forum_view_as_messages" = "View as Messages"; // Wnd specific diff --git a/Telegram/SourceFiles/window/window_peer_menu.cpp b/Telegram/SourceFiles/window/window_peer_menu.cpp index 6a2ee6fe7..2960f5c4f 100644 --- a/Telegram/SourceFiles/window/window_peer_menu.cpp +++ b/Telegram/SourceFiles/window/window_peer_menu.cpp @@ -237,6 +237,7 @@ private: void addTTLSubmenu(bool addSeparator); void addGiftPremium(); void addCreateTopic(); + void addViewAsMessages(); void addSearchTopics(); not_null _controller; @@ -948,6 +949,18 @@ void Filler::addCreateTopic() { _addAction(PeerMenuCallback::Args{ .isSeparator = true }); } +void Filler::addViewAsMessages() { + if (!_peer || !_peer->isForum()) { + return; + } + const auto peer = _peer; + const auto controller = _controller; + _addAction(tr::lng_forum_view_as_messages(tr::now), [=] { + controller->showPeerHistory(peer->id); + }, &st::menuIconViewReplies); + _addAction(PeerMenuCallback::Args{ .isSeparator = true }); +} + void Filler::addSearchTopics() { _addAction(tr::lng_dlg_filter(tr::now), [=] { @@ -959,6 +972,7 @@ void Filler::fillChatsListActions() { return; } addCreateTopic(); + addViewAsMessages(); addInfo(); addNewMembers(); const auto &all = _peer->forum()->topicsList()->indexed()->all();