Allow add to folder from recent / top peers.

This commit is contained in:
John Preston
2025-10-01 15:04:31 +04:00
parent 7ef6d33ea9
commit 6999a1b5e4

View File

@@ -11,6 +11,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "apiwrap.h"
#include "base/unixtime.h"
#include "base/qt/qt_key_modifiers.h"
#include "boxes/choose_filter_box.h"
#include "boxes/peer_list_box.h"
#include "core/application.h"
#include "core/ui_integration.h"
@@ -20,6 +21,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "data/data_changes.h"
#include "data/data_channel.h"
#include "data/data_chat.h"
#include "data/data_chat_filters.h"
#include "data/data_download_manager.h"
#include "data/data_folder.h"
#include "data/data_peer_values.h"
@@ -68,6 +70,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "window/window_separate_id.h"
#include "window/window_session_controller.h"
#include "window/window_peer_menu.h"
#include "styles/style_boxes.h"
#include "styles/style_chat.h"
#include "styles/style_dialogs.h"
#include "styles/style_layers.h"
@@ -179,6 +182,20 @@ void FillEntryMenu(
controller->showPeerHistory(peer);
}, channel ? &st::menuIconChannel : &st::menuIconChatBubble);
const auto history = peer->owner().historyLoaded(peer);
if (history
&& history->owner().chatsFilters().has()
&& history->inChatList()) {
add(Ui::Menu::MenuCallback::Args{
.text = tr::lng_filters_menu_add(tr::now),
.handler = nullptr,
.icon = &st::menuIconAddToFolder,
.fillSubmenu = [&](not_null<Ui::PopupMenu*> menu) {
FillChooseFilterMenu(controller, menu, history);
},
.submenuSt = &st::foldersMenu,
});
}
const auto viewProfileText = group
? tr::lng_context_view_group(tr::now)
: channel