-
Notifications
You must be signed in to change notification settings - Fork 10
/
traymenu.h
73 lines (59 loc) · 1.45 KB
/
traymenu.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#ifndef TRAYMENU_H
#define TRAYMENU_H
#include <QSystemTrayIcon>
#include <QDialog>
#include <QAction>
#include <QMenu>
#include "menucontroller.h"
#include "aboutdialog.h"
#include "updater.h"
enum TrayMenuStatus {
Unauthorized,
Authorized,
Connected,
};
class TrayMenu : public QDialog
{
Q_OBJECT
public:
explicit TrayMenu();
virtual ~TrayMenu();
private slots:
void iconActivated(QSystemTrayIcon::ActivationReason reason);
void showAboutDialog();
void dashboard();
void showMessage(QString title, QString msg);
void connected();
void disconnected();
void updateStatus(QString statusMsg);
void updateEmail(QString mail);
signals:
void loginSignal(QString idtoken);
void logoutSignal();
void connectSNSignal();
void disconnectSNSignal();
private:
void createActions();
void createMenu(bool loginStatus);
QMenu* submenu;
QAction *statusAction;
QAction *statusSeperator;
QAction *virtualnetworksAction;
QAction *disconnectAction;
QMenu *devicesMenu;
QAction *connectionSeperator;
QAction *dashboardAction;
QAction *loginAction;
QAction *logoutAction;
QAction *webSeperator;
QAction *aboutAction;
QAction *updateAction;
QAction *quitAction;
QSystemTrayIcon *trayIcon;
QMenu *trayIconMenu;
MenuController* controller;
Updater* updater;
AboutDialog *aboutDlg;
QMap<QString, QAction*> deviceActionList;
};
#endif