/* This file is part of Telegram Desktop, the official desktop application for the Telegram messaging service. For license and copyright information please follow this link: https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL */ #pragma once namespace Ui { class RpWidget; } // namespace Ui namespace Data { class Feed; } // namespace Data namespace Window { class Controller; enum class PeerMenuSource { ChatsList, History, Profile, }; using PeerMenuCallback = Fn handler)>; void FillPeerMenu( not_null controller, not_null peer, const PeerMenuCallback &addAction, PeerMenuSource source); void FillFeedMenu( not_null controller, not_null feed, const PeerMenuCallback &addAction, PeerMenuSource source); void PeerMenuAddMuteAction( not_null peer, const PeerMenuCallback &addAction); void PeerMenuExportChat(not_null peer); void PeerMenuDeleteContact(not_null user); void PeerMenuShareContactBox(not_null user); void PeerMenuAddContact(not_null user); void PeerMenuAddChannelMembers(not_null channel); //void PeerMenuUngroupFeed(not_null feed); // #feed void PeerMenuCreatePoll(not_null peer); //void ToggleChannelGrouping(not_null channel, bool group); // #feed Fn ClearHistoryHandler(not_null peer); Fn DeleteAndLeaveHandler(not_null peer); QPointer ShowForwardMessagesBox( MessageIdsList &&items, FnMut &&successCallback = nullptr); } // namespace Window