Compare commits
3
Commits
v1.3
..
v1.4-beta.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b99d28fbf8 | ||
|
|
2352f79460 | ||
|
|
3f4219c929 |
No files matched your search
+22
-1
@@ -6,7 +6,7 @@ MainTray::MainTray(QByteArray username, QByteArray password, QObject *parent): Q
|
||||
infoMenu(new QMenu()),
|
||||
settingsMenu(new QMenu()),
|
||||
//初始化settings
|
||||
settings(QSettings::IniFormat, QSettings::UserScope, "TurnMeOn", "NEU-Dectect"),
|
||||
settings(QSettings::IniFormat, QSettings::UserScope, "Cai.MY", "NEU-Monitor"),
|
||||
//初始化optionswindow
|
||||
opWindow(settings.value("id", "").toByteArray(), settings.value("password", "").toByteArray()),
|
||||
user(username),
|
||||
@@ -47,6 +47,16 @@ MainTray::MainTray(QByteArray username, QByteArray password, QObject *parent): Q
|
||||
loginAction->setDisabled(true);
|
||||
logoutAction->setDisabled(true);
|
||||
break;
|
||||
case NetController::WrongPass:
|
||||
setIcon(QIcon(tr(":/icon/offline.ico")));
|
||||
if(!muteAction->isChecked())
|
||||
showMessage(tr("登陆失败"),tr("密码错误"), this->icon(), msgDur);
|
||||
break;
|
||||
case NetController::Owed:
|
||||
setIcon(QIcon(tr(":/icon/offline.ico")));
|
||||
if(!muteAction->isChecked())
|
||||
showMessage(tr("登陆失败"),tr("已欠费"), this->icon(), msgDur);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -54,6 +64,12 @@ MainTray::MainTray(QByteArray username, QByteArray password, QObject *parent): Q
|
||||
showToolTip(state);
|
||||
});
|
||||
|
||||
|
||||
connect(this, QSystemTrayIcon::messageClicked, this, [this](){
|
||||
if(currentState == NetController::WrongPass)
|
||||
opWindow.show();
|
||||
});
|
||||
|
||||
connect(netctrl, NetController::sendInfo, this, handleInfo);
|
||||
|
||||
//菜单Action
|
||||
@@ -142,6 +158,11 @@ MainTray::MainTray(QByteArray username, QByteArray password, QObject *parent): Q
|
||||
loginAction->trigger();
|
||||
}
|
||||
});
|
||||
|
||||
if(settings.value("id").isNull()||settings.value("password").isNull())
|
||||
{
|
||||
opWindow.show();
|
||||
}
|
||||
}
|
||||
|
||||
MainTray::~MainTray()
|
||||
|
||||
+35
-7
@@ -24,21 +24,30 @@ NetController::NetController(QByteArray id, QByteArray passwd, QObject *parent)
|
||||
void NetController::checkState()
|
||||
{
|
||||
sendCheckRequest();
|
||||
if(NEUState == Offline && lastState != Offline && offlineCount++ > 1)
|
||||
if(NEUState == Offline && lastState != Offline/* && offlineCount++ > 1*/)
|
||||
{
|
||||
offlineCount = 0;
|
||||
lastState = Offline;
|
||||
emit stateChanged(lastState);
|
||||
emit stateChanged(NEUState);
|
||||
}
|
||||
else if(NEUState == Online && lastState != Online)
|
||||
{
|
||||
lastState = Online;
|
||||
emit stateChanged(lastState);
|
||||
emit stateChanged(NEUState);
|
||||
}
|
||||
else if(NEUState == Disconnected && lastState != Disconnected)
|
||||
{
|
||||
lastState = Disconnected;
|
||||
emit stateChanged(lastState);
|
||||
emit stateChanged(NEUState);
|
||||
}
|
||||
else if(NEUState == WrongPass && lastState != WrongPass)
|
||||
{
|
||||
lastState = WrongPass;
|
||||
emit stateChanged(NEUState);
|
||||
}
|
||||
else if(NEUState == Owed && lastState != Owed)
|
||||
{
|
||||
lastState = Owed;
|
||||
emit stateChanged(NEUState);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -94,11 +103,17 @@ void NetController::handleResponse(QNetworkReply *reply)
|
||||
QString status = reply->readAll();
|
||||
if(status==offlineString)
|
||||
{
|
||||
NEUState = Offline;
|
||||
if(NEUState!=WrongPass && NEUState!=Owed && offlineCount++ > 1)
|
||||
{
|
||||
offlineCount = 0;
|
||||
lastState = NEUState;
|
||||
NEUState = Offline;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
offlineCount = 0;
|
||||
lastState = NEUState;
|
||||
NEUState = Online;
|
||||
QStringList infoList = status.split(',');
|
||||
emit sendInfo(infoList[0], infoList[1], infoList[2], infoList[5]);
|
||||
@@ -107,11 +122,24 @@ void NetController::handleResponse(QNetworkReply *reply)
|
||||
else
|
||||
{
|
||||
offlineCount = 0;
|
||||
lastState = NEUState;
|
||||
NEUState = Disconnected;
|
||||
}
|
||||
}
|
||||
else if(url==loginUrl)
|
||||
{
|
||||
|
||||
QString loginPage(reply->readAll());
|
||||
if(loginPage.contains(QString("已欠费"))){//欠费
|
||||
lastState = NEUState;
|
||||
NEUState = Owed;
|
||||
}
|
||||
else if(loginPage.contains("Password is error")){//密码错误
|
||||
lastState = NEUState;
|
||||
NEUState = WrongPass;
|
||||
}
|
||||
else if(loginPage.contains("网络已连接")){//登陆成功
|
||||
lastState = NEUState;
|
||||
NEUState = Online;
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -20,7 +20,7 @@ public:
|
||||
void setUsername(QByteArray newName) { username = newName; }
|
||||
void setPassword(QByteArray newPass) { password = newPass; }
|
||||
|
||||
enum State {Unknown, Offline, Online, Disconnected};
|
||||
enum State {Unknown, Offline, Online, Disconnected, Owed, WrongPass};
|
||||
|
||||
private:
|
||||
QString checkUrl = "http://ipgw.neu.edu.cn/include/auth_action.php";
|
||||
|
||||
Reference in new issue
Block a user