From 23e22650f91c80f30c50b73249a67e045baeee29 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Sat, 23 Nov 2024 08:02:44 +0300 Subject: [PATCH] Added ability to choose filters for channel from its profile. --- Telegram/SourceFiles/window/window_peer_menu.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Telegram/SourceFiles/window/window_peer_menu.cpp b/Telegram/SourceFiles/window/window_peer_menu.cpp index b25df4709..25e2ebbc0 100644 --- a/Telegram/SourceFiles/window/window_peer_menu.cpp +++ b/Telegram/SourceFiles/window/window_peer_menu.cpp @@ -276,7 +276,7 @@ private: void addInfo(); void addStoryArchive(); void addNewWindow(); - void addToggleFolder(); + void addToggleFolder(bool onlyForChannels); void addToggleUnreadMark(); void addToggleArchive(); void addClearHistory(); @@ -615,12 +615,16 @@ void Filler::addStoryArchive() { }, &st::menuIconStoriesArchiveSection); } -void Filler::addToggleFolder() { +void Filler::addToggleFolder(bool onlyForChannels) { const auto controller = _controller; const auto history = _request.key.history(); if (_topic || !history || !history->owner().chatsFilters().has()) { return; } + if (onlyForChannels + && (!history->peer->isChannel() || !history->inChatList())) { + return; + } _addAction(PeerMenuCallback::Args{ .text = tr::lng_filters_menu_add(tr::now), .handler = nullptr, @@ -1404,7 +1408,7 @@ void Filler::fillContextMenuActions() { addToggleMuteSubmenu(false); addToggleUnreadMark(); addToggleTopicClosed(); - addToggleFolder(); + addToggleFolder(false); if (const auto user = _peer->asUser()) { if (!user->isContact()) { addBlockUser(); @@ -1452,6 +1456,7 @@ void Filler::fillProfileActions() { addToggleTopicClosed(); addViewDiscussion(); addExportChat(); + addToggleFolder(true); addBlockUser(); addReport(); addLeaveChat();