| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- /*
- This file is part of Telegram Desktop,
- the official desktop application for the Telegram messaging service.
- For license and copyright information please follow this link:
- https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
- */
- #pragma once
- #include "platform/platform_tray.h"
- namespace Core {
- class Tray final {
- public:
- Tray();
- void create();
- void updateMenuText();
- void updateIconCounters();
- [[nodiscard]] rpl::producer<> aboutToShowRequests() const;
- [[nodiscard]] rpl::producer<> showFromTrayRequests() const;
- [[nodiscard]] rpl::producer<> hideToTrayRequests() const;
- [[nodiscard]] bool has() const;
- private:
- void rebuildMenu();
- void toggleSoundNotifications();
- Platform::Tray _tray;
- bool _activeForTrayIconAction = false;
- crl::time _lastTrayClickTime = 0;
- rpl::event_stream<> _textUpdates;
- rpl::event_stream<> _minimizeMenuItemClicks;
- };
- } // namespace Core
|