From f67c3bbf65fea2aced1f7012d7ff49bffd00c343 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Thu, 21 Apr 2022 01:24:26 +0300 Subject: [PATCH] Added placeholders for platform dependent implementations of tray. --- .../SourceFiles/platform/linux/tray_linux.h | 20 +++++++++++++++++++ Telegram/SourceFiles/platform/mac/tray_mac.h | 20 +++++++++++++++++++ Telegram/SourceFiles/platform/win/tray_win.h | 20 +++++++++++++++++++ 3 files changed, 60 insertions(+) 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: };