hyperion.ng
systray.h
1 #pragma once
2 
3 #include <QSystemTrayIcon>
4 #include <QMenu>
5 #include <QWidget>
6 #include <QColorDialog>
7 #include <QCloseEvent>
8 
9 #include <hyperion/Hyperion.h>
10 
11 class HyperionDaemon;
12 
13 class SysTray : public QWidget
14 {
15  Q_OBJECT
16 
17 public:
18  SysTray(HyperionDaemon *hyperiond);
19  ~SysTray();
20 
21 
22 public slots:
23  void showColorDialog();
24  void setColor(const QColor & color);
25  void closeEvent(QCloseEvent *event);
26  void settings();
27  void setEffect();
28  void clearEfxColor();
29 
30 private slots:
31  void iconActivated(QSystemTrayIcon::ActivationReason reason);
32 
36  void webserverPortChanged(const quint16& port) { _webPort = port; };
37 
38 private:
39  void createTrayIcon();
40 
41  QAction *quitAction;
42  QAction *startAction;
43  QAction *stopAction;
44  QAction *colorAction;
45  QAction *settingsAction;
46  QAction *clearAction;
47 
48  QSystemTrayIcon *_trayIcon;
49  QMenu *_trayIconMenu;
50  QMenu *_trayIconEfxMenu;
51  QColorDialog _colorDlg;
52  HyperionDaemon *_hyperiond;
53  Hyperion *_hyperion;
54  quint16 _webPort;
55 };
The main class of Hyperion.
Definition: Hyperion.h:57
Provide util methods to work with SettingsManager class.
Definition: settings.h:8
Definition: systray.h:13
Definition: hyperiond.h:67