premium_limits_box.h 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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 "ui/layers/generic_box.h"
  9. namespace style {
  10. struct PremiumLimits;
  11. } // namespace style
  12. namespace Data {
  13. class Forum;
  14. } // namespace Data
  15. namespace Main {
  16. class Session;
  17. } // namespace Main
  18. namespace Window {
  19. class SessionNavigation;
  20. } // namespace Window
  21. void ChannelsLimitBox(
  22. not_null<Ui::GenericBox*> box,
  23. not_null<Main::Session*> session);
  24. void PublicLinksLimitBox(
  25. not_null<Ui::GenericBox*> box,
  26. not_null<Window::SessionNavigation*> navigation,
  27. Fn<void()> retry);
  28. void FilterChatsLimitBox(
  29. not_null<Ui::GenericBox*> box,
  30. not_null<Main::Session*> session,
  31. int currentCount,
  32. bool include);
  33. void FilterLinksLimitBox(
  34. not_null<Ui::GenericBox*> box,
  35. not_null<Main::Session*> session);
  36. void FiltersLimitBox(
  37. not_null<Ui::GenericBox*> box,
  38. not_null<Main::Session*> session,
  39. std::optional<int> filtersCountOverride);
  40. void ShareableFiltersLimitBox(
  41. not_null<Ui::GenericBox*> box,
  42. not_null<Main::Session*> session);
  43. void FilterPinsLimitBox(
  44. not_null<Ui::GenericBox*> box,
  45. not_null<Main::Session*> session,
  46. FilterId filterId);
  47. void FolderPinsLimitBox(
  48. not_null<Ui::GenericBox*> box,
  49. not_null<Main::Session*> session);
  50. void PinsLimitBox(
  51. not_null<Ui::GenericBox*> box,
  52. not_null<Main::Session*> session);
  53. void ForumPinsLimitBox(
  54. not_null<Ui::GenericBox*> box,
  55. not_null<Data::Forum*> forum);
  56. void SublistsPinsLimitBox(
  57. not_null<Ui::GenericBox*> box,
  58. not_null<Main::Session*> session);
  59. void CaptionLimitBox(
  60. not_null<Ui::GenericBox*> box,
  61. not_null<Main::Session*> session,
  62. int remove,
  63. const style::PremiumLimits *stOverride = nullptr);
  64. void CaptionLimitReachedBox(
  65. not_null<Ui::GenericBox*> box,
  66. not_null<Main::Session*> session,
  67. int remove,
  68. const style::PremiumLimits *stOverride = nullptr);
  69. void FileSizeLimitBox(
  70. not_null<Ui::GenericBox*> box,
  71. not_null<Main::Session*> session,
  72. uint64 fileSizeBytes,
  73. const style::PremiumLimits *stOverride = nullptr);
  74. void AccountsLimitBox(
  75. not_null<Ui::GenericBox*> box,
  76. not_null<Main::Session*> session);
  77. [[nodiscard]] QString LimitsPremiumRef(const QString &addition);