choose_send_as.h 914 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  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. #include "ui/layers/generic_box.h"
  10. class PeerData;
  11. namespace Main {
  12. struct SendAsPeer;
  13. } // namespace Main
  14. namespace Window {
  15. class SessionController;
  16. } // namespace Window
  17. namespace Ui {
  18. class SendAsButton;
  19. void ChooseSendAsBox(
  20. not_null<GenericBox*> box,
  21. std::vector<Main::SendAsPeer> list,
  22. not_null<PeerData*> chosen,
  23. Fn<bool(not_null<PeerData*>)> done);
  24. void SetupSendAsButton(
  25. not_null<SendAsButton*> button,
  26. rpl::producer<PeerData*> active,
  27. not_null<Window::SessionController*> window);
  28. void SetupSendAsButton(
  29. not_null<SendAsButton*> button,
  30. not_null<Window::SessionController*> window);
  31. } // namespace Ui