#ifndef MAINTRAY_H #define MAINTRAY_H #include #include #include #include #include #include #include #include #include #include class MainTray: public QSystemTrayIcon { Q_OBJECT public: MainTray(QByteArray username, QByteArray password, QObject *parent = Q_NULLPTR); ~MainTray(); private: QMenu *menu, *infoMenu, *settingsMenu; QAction *loginAction, *logoutAction, *autoLogin, *optionsAction, *aboutAction, *quitAction; QAction *mbAction, *timeAction, *balanceAction, *ipAction, *bootAction, *muteAction; NetController *netctrl; QSettings settings; OptionsWindow opWindow; QTimer *autoLoginTimer; //自动重连定时器 bool isForceLogout = false; //自动重连flag NetController::State currentState = NetController::Unknown; //当前状态 void showToolTip(NetController::State state); void handleActivated(QSystemTrayIcon::ActivationReason reason);//处理左键单击、双击 void showOptions(); //显示选项窗口 void showAbout(); //显示关于窗口 void setAutoStart(bool set); QByteArray user, passwd; int msgDur = 1000; //通知持续时间 int checkInterval = 1000; //查询状态定时器周期 signals: void exit(); private slots: void updateUserInfo(QByteArray id, QByteArray pass); void handleInfo(QString mb, QString sec, QString balance, QString ip); }; #endif // MAINTRAY_H