/* 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 class History; namespace Ui { class RpWidget; class GenericBox; } // namespace Ui namespace Data { class Folder; } // namespace Data namespace Window { class Controller; class SessionController; class SessionNavigation; enum class PeerMenuSource { ChatsList, History, Profile, }; using PeerMenuCallback = Fn handler)>; void FillPeerMenu( not_null controller, not_null peer, const PeerMenuCallback &addAction, PeerMenuSource source); void FillFolderMenu( not_null controller, not_null folder, 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 navigation, not_null user); void PeerMenuAddChannelMembers( not_null navigation, not_null channel); //void PeerMenuUngroupFeed(not_null feed); // #feed void PeerMenuCreatePoll(not_null peer); void PeerMenuBlockUserBox( not_null box, not_null window, not_null user, bool suggestClearChat); void PeerMenuUnblockUserWithBotRestart(not_null user); void ToggleHistoryArchived(not_null history, bool archived); Fn ClearHistoryHandler(not_null peer); Fn DeleteAndLeaveHandler(not_null peer); QPointer ShowForwardMessagesBox( not_null navigation, MessageIdsList &&items, FnMut &&successCallback = nullptr); QPointer ShowSendNowMessagesBox( not_null navigation, not_null history, MessageIdsList &&items, FnMut &&successCallback = nullptr); } // namespace Window