diff --git a/Telegram/SourceFiles/platform/linux/tray_linux.h b/Telegram/SourceFiles/platform/linux/tray_linux.h index d0a89b285..c2345faa7 100644 --- a/Telegram/SourceFiles/platform/linux/tray_linux.h +++ b/Telegram/SourceFiles/platform/linux/tray_linux.h @@ -15,6 +15,26 @@ class Tray final { public: Tray(); + [[nodiscard]] rpl::producer<> aboutToShowRequests() const; + [[nodiscard]] rpl::producer<> showFromTrayRequests() const; + [[nodiscard]] rpl::producer<> hideToTrayRequests() const; + [[nodiscard]] rpl::producer<> iconClicks() const; + + void createIcon(); + void destroyIcon(); + + void updateIcon(); + + void createMenu(); + void destroyMenu(); + + void addAction(rpl::producer text, Fn &&callback); + + void showTrayMessage() const; + [[nodiscard]] bool hasTrayMessageSupport() const; + + [[nodiscard]] rpl::lifetime &lifetime(); + private: }; diff --git a/Telegram/SourceFiles/platform/mac/tray_mac.h b/Telegram/SourceFiles/platform/mac/tray_mac.h index d0a89b285..c2345faa7 100644 --- a/Telegram/SourceFiles/platform/mac/tray_mac.h +++ b/Telegram/SourceFiles/platform/mac/tray_mac.h @@ -15,6 +15,26 @@ class Tray final { public: Tray(); + [[nodiscard]] rpl::producer<> aboutToShowRequests() const; + [[nodiscard]] rpl::producer<> showFromTrayRequests() const; + [[nodiscard]] rpl::producer<> hideToTrayRequests() const; + [[nodiscard]] rpl::producer<> iconClicks() const; + + void createIcon(); + void destroyIcon(); + + void updateIcon(); + + void createMenu(); + void destroyMenu(); + + void addAction(rpl::producer text, Fn &&callback); + + void showTrayMessage() const; + [[nodiscard]] bool hasTrayMessageSupport() const; + + [[nodiscard]] rpl::lifetime &lifetime(); + private: }; diff --git a/Telegram/SourceFiles/platform/win/tray_win.h b/Telegram/SourceFiles/platform/win/tray_win.h index d0a89b285..c2345faa7 100644 --- a/Telegram/SourceFiles/platform/win/tray_win.h +++ b/Telegram/SourceFiles/platform/win/tray_win.h @@ -15,6 +15,26 @@ class Tray final { public: Tray(); + [[nodiscard]] rpl::producer<> aboutToShowRequests() const; + [[nodiscard]] rpl::producer<> showFromTrayRequests() const; + [[nodiscard]] rpl::producer<> hideToTrayRequests() const; + [[nodiscard]] rpl::producer<> iconClicks() const; + + void createIcon(); + void destroyIcon(); + + void updateIcon(); + + void createMenu(); + void destroyMenu(); + + void addAction(rpl::producer text, Fn &&callback); + + void showTrayMessage() const; + [[nodiscard]] bool hasTrayMessageSupport() const; + + [[nodiscard]] rpl::lifetime &lifetime(); + private: };