info_profile_actions.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. /*
  2. This file is part of Telegram Desktop,
  3. the official desktop application for the Telegram messaging service.
  4. For license and copyright information please follow this link:
  5. https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
  6. */
  7. #pragma once
  8. #include "base/object_ptr.h"
  9. namespace Ui {
  10. class RpWidget;
  11. class VerticalLayout;
  12. } // namespace Ui
  13. namespace Data {
  14. class ForumTopic;
  15. } // namespace Data
  16. namespace Info {
  17. class Controller;
  18. } // namespace Info
  19. namespace Info::Profile {
  20. extern const char kOptionShowPeerIdBelowAbout[];
  21. class Cover;
  22. struct Origin;
  23. object_ptr<Ui::RpWidget> SetupDetails(
  24. not_null<Controller*> controller,
  25. not_null<Ui::RpWidget*> parent,
  26. not_null<PeerData*> peer,
  27. Origin origin);
  28. object_ptr<Ui::RpWidget> SetupDetails(
  29. not_null<Controller*> controller,
  30. not_null<Ui::RpWidget*> parent,
  31. not_null<Data::ForumTopic*> topic);
  32. object_ptr<Ui::RpWidget> SetupActions(
  33. not_null<Controller*> controller,
  34. not_null<Ui::RpWidget*> parent,
  35. not_null<PeerData*> peer);
  36. object_ptr<Ui::RpWidget> SetupChannelMembersAndManage(
  37. not_null<Controller*> controller,
  38. not_null<Ui::RpWidget*> parent,
  39. not_null<PeerData*> peer);
  40. Cover *AddCover(
  41. not_null<Ui::VerticalLayout*> container,
  42. not_null<Controller*> controller,
  43. not_null<PeerData*> peer,
  44. Data::ForumTopic *topic);
  45. void AddDetails(
  46. not_null<Ui::VerticalLayout*> container,
  47. not_null<Controller*> controller,
  48. not_null<PeerData*> peer,
  49. Data::ForumTopic *topic,
  50. Origin origin);
  51. } // namespace Info::Profile