添加开机启动
This commit is contained in:
+31
-4
@@ -1,7 +1,7 @@
|
||||
#include "maintray.h"
|
||||
|
||||
MainTray::MainTray(QByteArray username, QByteArray password, QObject *parent): QSystemTrayIcon(parent),
|
||||
menu(new QMenu()),infoMenu(new QMenu()), settings("TurnMeOn", "NEU-Dectect"),
|
||||
menu(new QMenu()),infoMenu(new QMenu()), settingsMenu(new QMenu()), settings("TurnMeOn", "NEU-Dectect"),
|
||||
opWindow(settings.value("id",0).toByteArray(), settings.value("password", 0).toByteArray()),
|
||||
user(username),passwd(password)
|
||||
{
|
||||
@@ -36,7 +36,8 @@ MainTray::MainTray(QByteArray username, QByteArray password, QObject *parent): Q
|
||||
loginAction = new QAction(tr("连接网络"),this);
|
||||
logoutAction = new QAction(tr("断开网络"),this);
|
||||
autoLogin = new QAction(tr("自动重连"), this);
|
||||
optionsAction = new QAction(tr("设置"), this);
|
||||
optionsAction = new QAction(tr("选项"), this);
|
||||
bootAction = new QAction(tr("开机启动"), this);
|
||||
aboutAction = new QAction(tr("关于"), this);
|
||||
quitAction = new QAction(tr("退出"), this);
|
||||
|
||||
@@ -46,6 +47,7 @@ MainTray::MainTray(QByteArray username, QByteArray password, QObject *parent): Q
|
||||
ipAction = new QAction(tr("IP地址: "),this);
|
||||
|
||||
autoLogin->setCheckable(true);
|
||||
bootAction->setCheckable(true);
|
||||
|
||||
connect(loginAction, QAction::triggered, this,[this](){
|
||||
netctrl->sendLoginRequest();
|
||||
@@ -59,13 +61,22 @@ MainTray::MainTray(QByteArray username, QByteArray password, QObject *parent): Q
|
||||
isAutoLogin = set;
|
||||
settings.setValue("isAutoLogin", set);
|
||||
});
|
||||
connect(bootAction, QAction::toggled, this, [this](bool set){
|
||||
settings.setValue("isOnBoot", set);
|
||||
setAutoStart(set);
|
||||
});
|
||||
connect(optionsAction, QAction::triggered, this, [this](){showOptions();});
|
||||
connect(aboutAction, QAction::triggered, this, showAbout);
|
||||
connect(quitAction, QAction::triggered, this,[this](){emit exit();});
|
||||
|
||||
autoLogin->setChecked(settings.value("isAutoLogin", true).toBool());
|
||||
bootAction->setChecked(settings.value("isOnBoot", false).toBool());
|
||||
|
||||
infoMenu->setTitle("账户信息");
|
||||
settingsMenu->setTitle(tr("设置"));
|
||||
settingsMenu->addAction(optionsAction);
|
||||
settingsMenu->addAction(bootAction);
|
||||
|
||||
infoMenu->setTitle(tr("账户信息"));
|
||||
infoMenu->addAction(mbAction);
|
||||
infoMenu->addAction(timeAction);
|
||||
infoMenu->addAction(balanceAction);
|
||||
@@ -75,7 +86,7 @@ MainTray::MainTray(QByteArray username, QByteArray password, QObject *parent): Q
|
||||
menu->addAction(logoutAction);
|
||||
menu->addAction(autoLogin);
|
||||
menu->addMenu(infoMenu);
|
||||
menu->addAction(optionsAction);
|
||||
menu->addMenu(settingsMenu);
|
||||
menu->addAction(aboutAction);
|
||||
menu->addAction(quitAction);
|
||||
|
||||
@@ -131,6 +142,22 @@ void MainTray::showAbout()
|
||||
aboutWindow->show();
|
||||
}
|
||||
|
||||
void MainTray::setAutoStart(bool set)
|
||||
{
|
||||
QString application_name = QApplication::applicationName();
|
||||
QSettings *settings = new QSettings("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run", QSettings::NativeFormat);
|
||||
if(set)
|
||||
{
|
||||
QString application_path = QApplication::applicationFilePath();
|
||||
settings->setValue(application_name, application_path.replace("/", "\\"));
|
||||
}
|
||||
else
|
||||
{
|
||||
settings->remove(application_name);
|
||||
}
|
||||
delete settings;
|
||||
}
|
||||
|
||||
void MainTray::updataUserInfo(QByteArray id, QByteArray pass)
|
||||
{
|
||||
netctrl->setUsername(id);
|
||||
|
||||
+4
-2
@@ -10,6 +10,7 @@
|
||||
#include <QSettings>
|
||||
#include <QMessageBox>
|
||||
#include <QTimer>
|
||||
#include <QApplication>
|
||||
|
||||
class MainTray: public QSystemTrayIcon
|
||||
{
|
||||
@@ -20,9 +21,9 @@ public:
|
||||
enum Status {Unknown, Offline, Online, Disconnected};
|
||||
|
||||
private:
|
||||
QMenu *menu, *infoMenu;
|
||||
QMenu *menu, *infoMenu, *settingsMenu;
|
||||
QAction *loginAction, *logoutAction, *autoLogin, *optionsAction, *aboutAction, *quitAction;
|
||||
QAction *mbAction, *timeAction, *balanceAction, *ipAction;
|
||||
QAction *mbAction, *timeAction, *balanceAction, *ipAction, *bootAction;
|
||||
NetController *netctrl;
|
||||
QSettings settings;
|
||||
OptionsWindow opWindow;
|
||||
@@ -34,6 +35,7 @@ private:
|
||||
void handleActivated(QSystemTrayIcon::ActivationReason reason);//处理左键单击
|
||||
void showOptions(); //显示选项窗口
|
||||
void showAbout(); //显示关于窗口
|
||||
void setAutoStart(bool set);
|
||||
|
||||
QByteArray user, passwd;
|
||||
int msgDur = 1000; //通知持续时间
|
||||
|
||||
Reference in New Issue
Block a user