4 Commits
Author SHA1 Message Date
才明洋 e989257bbd add icon 2018-03-17 18:40:10 +08:00
才明洋 8c186f245a title 2018-03-17 18:33:15 +08:00
才明洋 0defc28d09 details 2018-03-17 18:30:29 +08:00
才明洋 a17975671e 添加开机启动 2018-03-17 18:18:37 +08:00
6 changed files with 43 additions and 8 deletions

No files matched your search

+2
View File
@@ -37,3 +37,5 @@ HEADERS += \
RESOURCES += \
resource.qrc
RC_ICONS = favicon.ico
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 48 KiB

+2
View File
@@ -5,6 +5,8 @@ int main(int argc, char *argv[])
{
QApplication a(argc, argv);
a.setQuitOnLastWindowClosed(false);
a.setApplicationName(QObject::tr("NEU-Monitor"));
a.setWindowIcon(QIcon(QObject::tr(":/icon/favicon.ico")));
MainTray *tray = new MainTray("","");
QObject::connect(tray, MainTray::exit, &a, QApplication::quit);
tray->show();
+33 -6
View File
@@ -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);
@@ -122,15 +133,31 @@ void MainTray::showAbout()
{
QMessageBox *aboutWindow = new QMessageBox();
aboutWindow->setStandardButtons(QMessageBox::Ok);
aboutWindow->setText(tr("<h1>NEU-Dectect</h1>"
aboutWindow->setText(tr("<h1>NEU-Monitor</h1>"
"<p>Based on Qt 5.10.0 (MinGW 5.3.0, 32bit)</p>"
"Source Code: <a href=\"https://github.com/TurnMeOn/NEU-Dectect\">https://github.com/TurnMeOn/NEU-Dectect</a><br/>"
"Source Code: <a href=\"https://github.com/TurnMeOn/NEU-Monitor\">https://github.com/TurnMeOn/NEU-Monitor</a><br/>"
"Email: <address>"
"<a href=\"mailto:cmy1113@yeah.net?subject=SerialAsst Feedback\">TurnMeOn</a>"
"</address>"));
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
View File
@@ -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; //通知持续时间
+2
View File
@@ -2,6 +2,8 @@
OptionsWindow::OptionsWindow(QByteArray id, QByteArray pass, QWidget *parent) : QWidget(parent)
{
setWindowTitle(tr("选项"));
vlayout = new QVBoxLayout(this);
layout = new QFormLayout();
hlayout = new QHBoxLayout();