From 84518e0f541c32527454788a0f944fbc83b21977 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=89=8D=E6=98=8E=E6=B4=8B?= Date: Fri, 16 Mar 2018 23:55:46 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=AF=E4=BB=A5=E4=BF=9D=E5=AD=98=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- maintray.cpp | 8 +++++++- maintray.h | 3 +++ netcontroller.cpp | 2 +- netcontroller.h | 1 - optionswindow.cpp | 4 +++- optionswindow.h | 3 ++- 6 files changed, 16 insertions(+), 5 deletions(-) diff --git a/maintray.cpp b/maintray.cpp index c0c5bd4..c00f844 100644 --- a/maintray.cpp +++ b/maintray.cpp @@ -1,12 +1,16 @@ #include "maintray.h" -MainTray::MainTray(QByteArray username, QByteArray password, QObject *parent): QSystemTrayIcon(parent), menu(new QMenu()), +MainTray::MainTray(QByteArray username, QByteArray password, QObject *parent): QSystemTrayIcon(parent), + menu(new QMenu()), settings("TurnMeOn", "NEU-Dectect"), + opWindow(settings.value("id",0).toByteArray(), settings.value("password", 0).toByteArray()), user(username),passwd(password) { opWindow.hide(); setIcon(QIcon(tr(":/icon/favicon.ico"))); netctrl = new NetController(user,passwd,this); + netctrl->setUsername(settings.value("id",0).toByteArray()); + netctrl->setPassword(settings.value("password", 0).toByteArray()); connect(&opWindow, OptionsWindow::saveSettings, this, updataUserInfo); //发送通知 @@ -75,5 +79,7 @@ void MainTray::updataUserInfo(QByteArray id, QByteArray pass) netctrl->setPassword(pass); opWindow.hide(); netctrl->sendLoginRequest(); + settings.setValue("id", id); + settings.setValue("password", pass); } diff --git a/maintray.h b/maintray.h index bfd89b6..a9cbb07 100644 --- a/maintray.h +++ b/maintray.h @@ -7,6 +7,7 @@ #include #include #include +#include class MainTray: public QSystemTrayIcon { @@ -18,7 +19,9 @@ private: QMenu *menu; QAction *loginAction, *logoutAction, *autoLogin, *optionsAction, *quitAction; NetController *netctrl; + QSettings settings; OptionsWindow opWindow; + bool isAutoLogin = true; void handleActivated(QSystemTrayIcon::ActivationReason reason); void showOptions(); diff --git a/netcontroller.cpp b/netcontroller.cpp index 9262815..4833186 100644 --- a/netcontroller.cpp +++ b/netcontroller.cpp @@ -2,7 +2,7 @@ NetController::NetController(QByteArray id, QByteArray passwd, QObject *parent) : QObject(parent), username(id), password(passwd), flag(Disconnected), manager(this), checkTimer(new QTimer(this)) -{ +{ checkParam.append("action=get_online_info"); request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded"); diff --git a/netcontroller.h b/netcontroller.h index b792e09..9be5fad 100644 --- a/netcontroller.h +++ b/netcontroller.h @@ -32,7 +32,6 @@ private: QNetworkAccessManager manager; QNetworkRequest request; QTimer *checkTimer; - signals: void getOnline(); void getOffline(); diff --git a/optionswindow.cpp b/optionswindow.cpp index bf3741d..fb39746 100644 --- a/optionswindow.cpp +++ b/optionswindow.cpp @@ -1,14 +1,16 @@ #include "optionswindow.h" -OptionsWindow::OptionsWindow(QWidget *parent) : QWidget(parent) +OptionsWindow::OptionsWindow(QByteArray id, QByteArray pass, QWidget *parent) : QWidget(parent) { vlayout = new QVBoxLayout(this); layout = new QFormLayout(); hlayout = new QHBoxLayout(); idEdit = new QLineEdit(this); + idEdit->setText(id); passwordEdit = new QLineEdit(this); passwordEdit->setEchoMode(QLineEdit::Password); + passwordEdit->setText(pass); layout->addRow(tr("用户名"), idEdit); layout->addRow(tr("密码"), passwordEdit); diff --git a/optionswindow.h b/optionswindow.h index 7d8cc65..f9be93c 100644 --- a/optionswindow.h +++ b/optionswindow.h @@ -6,12 +6,13 @@ #include #include #include +#include class OptionsWindow : public QWidget { Q_OBJECT public: - explicit OptionsWindow(QWidget *parent = nullptr); + explicit OptionsWindow(QByteArray id, QByteArray pass, QWidget *parent = nullptr); private: QLineEdit *idEdit, *passwordEdit;