#ifndef WINTRAYICONBACKEND_H #define WINTRAYICONBACKEND_H #include "ui/utils/trayIconBackend.h" #include #include #include #include class WinTrayIconBackend final : public TrayIconBackend { public: explicit WinTrayIconBackend(QObject *parent); void setMenu(QMenu *menu) override; void setToolTip(const QString &tooltip) override; void show() override; void applyVisual(const TrayIconVisual &visual) override; void showMessage(const QString &title, const QString &message, const TrayIconVisual &visual, int timerMsec) override; void rebuildMenu() override; void setActivatedHandler(std::function handler) override; private: void reapplyLastVisual(); QSystemTrayIcon m_trayIcon; TrayIconVisual m_lastVisual; QTimer m_reapplyTimerShort; QTimer m_reapplyTimerLong; }; #endif // WINTRAYICONBACKEND_H