settings_advanced.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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 "settings/settings_common_session.h"
  9. namespace Main {
  10. class Account;
  11. class Session;
  12. } // namespace Main
  13. namespace Ui {
  14. class GenericBox;
  15. } // namespace Ui
  16. namespace Window {
  17. class Controller;
  18. class SessionController;
  19. } // namespace Window
  20. namespace Settings {
  21. void SetupConnectionType(
  22. not_null<Window::Controller*> controller,
  23. not_null<::Main::Account*> account,
  24. not_null<Ui::VerticalLayout*> container);
  25. bool HasUpdate();
  26. void SetupUpdate(not_null<Ui::VerticalLayout*> container);
  27. void SetupWindowTitleContent(
  28. Window::SessionController *controller,
  29. not_null<Ui::VerticalLayout*> container);
  30. void SetupWindowCloseBehaviorContent(
  31. Window::SessionController *controller,
  32. not_null<Ui::VerticalLayout*> container);
  33. void SetupSystemIntegrationContent(
  34. Window::SessionController *controller,
  35. not_null<Ui::VerticalLayout*> container);
  36. void SetupAnimations(
  37. not_null<Window::Controller*> window,
  38. not_null<Ui::VerticalLayout*> container);
  39. void ArchiveSettingsBox(
  40. not_null<Ui::GenericBox*> box,
  41. not_null<Window::SessionController*> controller);
  42. void PreloadArchiveSettings(not_null<::Main::Session*> session);
  43. class Advanced : public Section<Advanced> {
  44. public:
  45. Advanced(
  46. QWidget *parent,
  47. not_null<Window::SessionController*> controller);
  48. [[nodiscard]] rpl::producer<QString> title() override;
  49. private:
  50. void setupContent(not_null<Window::SessionController*> controller);
  51. };
  52. } // namespace Settings