/* 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 PeerData; using Participants = std::vector>; namespace Ui { class Checkbox; class VerticalLayout; struct ExpandablePeerListController final { struct Data final { rpl::producer> messagesCounts = nullptr; Participants participants; std::vector checked; bool skipSingle = false; bool hideRightButton = false; bool checkTopOnAllInner = false; bool bold = true; }; ExpandablePeerListController(Data &&data) : data(std::move(data)) { } const Data data; rpl::event_stream toggleRequestsFromTop; rpl::event_stream toggleRequestsFromInner; rpl::event_stream checkAllRequests; Fn collectRequests; }; void AddExpandablePeerList( not_null checkbox, not_null controller, not_null inner); } // namespace Ui