From 43bface2753934ae099f0260083388654272aee0 Mon Sep 17 00:00:00 2001 From: chenlelin Date: Fri, 21 Feb 2020 17:19:51 +0800 Subject: [PATCH] change the style of password QLineEdit,change the loading animation when connecting network --- mainwindow.cpp | 10 +- mainwindow.h | 3 + nmqrc.qrc | 8 + oneconnform.cpp | 113 +++-- oneconnform.h | 8 + oneconnform.ui | 28 ++ onelancform.cpp | 75 ++- onelancform.h | 7 + onelancform.ui | 28 ++ res/s/conning-a/1.png | Bin 0 -> 351 bytes res/s/conning-a/2.png | Bin 0 -> 3170 bytes res/s/conning-a/3.png | Bin 0 -> 349 bytes res/s/conning-a/4.png | Bin 0 -> 3180 bytes res/s/conning-a/5.png | Bin 0 -> 355 bytes res/s/conning-a/6.png | Bin 0 -> 3173 bytes res/s/conning-a/7.png | Bin 0 -> 359 bytes res/s/conning-a/8.png | Bin 0 -> 3201 bytes translations/kylin-nm_bo.ts | 449 +++++++++--------- translations/kylin-nm_zh_CN.qm | Bin 20210 -> 20281 bytes translations/kylin-nm_zh_CN.ts | 449 +++++++++--------- wireless-security/dlgconnhidwifisectls.cpp | 1 + .../dlgconnhidwifisectunneltls.cpp | 1 + wireless-security/dlgconnhidwifiwpa.cpp | 1 + 23 files changed, 693 insertions(+), 488 deletions(-) create mode 100644 res/s/conning-a/1.png create mode 100644 res/s/conning-a/2.png create mode 100644 res/s/conning-a/3.png create mode 100644 res/s/conning-a/4.png create mode 100644 res/s/conning-a/5.png create mode 100644 res/s/conning-a/6.png create mode 100644 res/s/conning-a/7.png create mode 100644 res/s/conning-a/8.png diff --git a/mainwindow.cpp b/mainwindow.cpp index d1b64fda..c59fe9a0 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -1494,6 +1494,9 @@ void MainWindow::on_setNetSpeed() } void MainWindow::connLanDone(int connFlag){ + //停止加载动画 + emit this->waitLanStop(); + // Lan连接结果,0点击连接成功 1失败 3开机启动网络工具时已经连接 if(connFlag == 0){ syslog(LOG_DEBUG, "Wired net already connected by clicking button"); @@ -1892,7 +1895,8 @@ void MainWindow::activeLanDisconn() { syslog(LOG_DEBUG, "Wired net is disconnected"); currSelNetName = ""; - this->startLoading(); + //this->startLoading(); + emit this->waitLanStop(); this->ksnm->execGetLanList(); } @@ -1912,12 +1916,12 @@ void MainWindow::activeStartLoading() { syslog(LOG_DEBUG, "Wi-Fi is disconnected"); currSelNetName = ""; - this->startLoading(); + //this->startLoading(); emit this->deleteRedundantNet(); } - void MainWindow::activeGetWifiList() { + emit this->waitWifiStop(); this->ksnm->execGetWifiList(); } diff --git a/mainwindow.h b/mainwindow.h index 505ddb91..87d04b63 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -237,6 +237,9 @@ private slots: void on_btnAddNet_clicked(); signals: void deleteRedundantNet(); + + void waitWifiStop(); + void waitLanStop(); }; #endif // MAINWINDOW_H diff --git a/nmqrc.qrc b/nmqrc.qrc index 3fd80df7..e86783e1 100644 --- a/nmqrc.qrc +++ b/nmqrc.qrc @@ -91,5 +91,13 @@ res/w/wifi-medium-pwd.png res/w/wifi-none.png res/w/wifi-none-pwd.png + res/s/conning-a/1.png + res/s/conning-a/2.png + res/s/conning-a/3.png + res/s/conning-a/4.png + res/s/conning-a/5.png + res/s/conning-a/6.png + res/s/conning-a/7.png + res/s/conning-a/8.png diff --git a/oneconnform.cpp b/oneconnform.cpp index 348a7ff1..86dbd3f5 100644 --- a/oneconnform.cpp +++ b/oneconnform.cpp @@ -34,6 +34,7 @@ OneConnForm::OneConnForm(QWidget *parent, MainWindow *mainWindow, ConfForm *conf ui->btnConnPWD->setText(tr("Connect"));//"连接" ui->btnDisConn->setText(tr("Disconnect"));//"断开连接" ui->btnHideConn->setText(tr("Connect"));//"连接" + ui->lePassword->setText(tr(""));//"连接" ui->lbConned->setAlignment(Qt::AlignLeft); ui->lbLoadUp->setAlignment(Qt::AlignLeft); @@ -50,7 +51,7 @@ OneConnForm::OneConnForm(QWidget *parent, MainWindow *mainWindow, ConfForm *conf ui->lbConned->setStyleSheet("QLabel{font-size:14px;color:rgba(255,255,255,0.57);}"); ui->lbLoadUp->setStyleSheet("QLabel{font-size:14px;color:rgba(255,255,255,0.57);}"); ui->lbLoadDown->setStyleSheet("QLabel{font-size:14px;color:rgba(255,255,255,0.57);}"); - ui->lePassword->setStyleSheet("QLineEdit{border:2px solid rgba(28, 47, 146, 1);border-radius:4px;" + ui->lePassword->setStyleSheet("QLineEdit{border:1px solid rgba(61,107,229,1);border-radius:4px;" "background:rgba(0,0,0,0.2);color:rgba(255,255,255,0.35);font-size:14px;}"); ui->checkBoxPwd->setStyleSheet("QCheckBox::indicator {width: 18px; height: 9px;}" "QCheckBox::indicator:checked {image: url(:/res/h/show-pwd.png);}" @@ -61,9 +62,9 @@ OneConnForm::OneConnForm(QWidget *parent, MainWindow *mainWindow, ConfForm *conf ui->btnConn->setStyleSheet("QPushButton{border:0px;border-radius:4px;background-color:rgba(61,107,229,1);color:white;font-size:14px;}" "QPushButton:Hover{border:0px solid rgba(255,255,255,0.2);border-radius:4px;background-color:rgba(107,142,235,1);}" "QPushButton:Pressed{border-radius:4px;background-color:rgba(50,87,202,1);}"); - ui->btnConnPWD->setStyleSheet("QPushButton{border:0px;border-radius:4px;background-color:rgba(61,107,229,1);color:white;font-size:14px;}" - "QPushButton:Hover{border:0px solid rgba(255,255,255,0.2);border-radius:4px;background-color:rgba(107,142,235,1);}" - "QPushButton:Pressed{border-radius:4px;background-color:rgba(50,87,202,1);}"); + ui->btnConnPWD->setStyleSheet("QPushButton{border:0px;border-radius:4px;background-color:rgba(255,255,255,0.12);color:white;font-size:14px;}" + "QPushButton:Hover{border:0px solid rgba(255,255,255,0.2);border-radius:4px;background-color:rgba(255,255,255,0.2);}" + "QPushButton:Pressed{border-radius:4px;background-color:rgba(255,255,255,0.08);}"); ui->btnDisConn->setStyleSheet("QPushButton{border:0px;border-radius:4px;background-color:rgba(255,255,255,0.12);color:white;font-size:14px;}" "QPushButton:Hover{border:0px solid rgba(255,255,255,0.2);border-radius:4px;background-color:rgba(255,255,255,0.2);}" "QPushButton:Pressed{border-radius:4px;background-color:rgba(255,255,255,0.08);}"); @@ -72,6 +73,8 @@ OneConnForm::OneConnForm(QWidget *parent, MainWindow *mainWindow, ConfForm *conf "QPushButton:Pressed{border-radius:4px;background-color:rgba(50,87,202,1);}"); ui->lbLoadDownImg->setStyleSheet("QLabel{background-image:url(:/res/x/load-down.png);}"); ui->lbLoadUpImg->setStyleSheet("QLabel{background-image:url(:/res/x/load-up.png);}"); + ui->lbWaiting->setStyleSheet("QLabel{border:0px;border-radius:4px;background-color:rgba(61,107,229,1);}"); + ui->lbWaitingIcon->setStyleSheet("QLabel{border:0px;background-color:transparent;}"); ui->checkBoxPwd->setFocusPolicy(Qt::NoFocus); ui->btnConnSub->setFocusPolicy(Qt::NoFocus); @@ -95,6 +98,8 @@ OneConnForm::OneConnForm(QWidget *parent, MainWindow *mainWindow, ConfForm *conf ui->line->show(); ui->lbLoadDownImg->hide(); ui->lbLoadUpImg->hide(); + ui->lbWaiting->hide(); + ui->lbWaitingIcon->hide(); this->mw = mainWindow; this->cf = confForm; @@ -110,7 +115,11 @@ OneConnForm::OneConnForm(QWidget *parent, MainWindow *mainWindow, ConfForm *conf connect(ui->lePassword, SIGNAL(returnPressed()), this, SLOT(on_btnConnPWD_clicked())); ui->btnConn->setShortcut(Qt::Key_Return);//将字母区回车键与登录按钮绑定在一起 -// ui->btnHideConn->setShortcut(Qt::Key_Return); + + this->waitTimer = new QTimer(this); + connect(waitTimer, SIGNAL(timeout()), this, SLOT(waitAnimStep())); + + connect(mw, SIGNAL(waitWifiStop()), this, SLOT(stopWaiting())); } OneConnForm::~OneConnForm() @@ -196,7 +205,11 @@ void OneConnForm::setTopItem(bool isSelected){ // ui->lbLoadDown->setText("0Kb/s"); ui->lbLoadUp->hide(); ui->lbLoadDown->hide(); - ui->btnDisConn->show(); + if (this->isWaiting){ + ui->btnDisConn->hide(); + }else{ + ui->btnDisConn->show(); + } }else{ // ui->lbLoadUp->setText("0Kb/s"); // ui->lbLoadDown->setText("0Kb/s"); @@ -220,7 +233,10 @@ void OneConnForm::setSelected(bool isSelected){ this->isSelected = true; }else{ resize(422, 60); - ui->lePassword->setText(""); + ui->lePassword->setText(tr(""));//"连接" + ui->lePassword->setStyleSheet("QLineEdit{border:1px solid rgba(61,107,229,1);border-radius:4px;" + "background:rgba(0,0,0,0.2);color:rgba(255,255,255,0.35);font-size:14px;}"); + ui->lePassword->setEchoMode(QLineEdit::Normal); ui->line->show(); ui->wbg->show(); @@ -359,14 +375,29 @@ void OneConnForm::setWifiInfo(QString str1, QString str2, QString str3) void OneConnForm::slotConnWifi() { - mw->startLoading(); +// mw->startLoading(); + this->startWaiting(true); emit sigConnWifi(ui->lbName->text()); } void OneConnForm::slotConnWifiPWD(){ - mw->startLoading(); +// mw->startLoading(); + this->startWaiting(true); emit sigConnWifiPWD(ui->lbName->text(), ui->lePassword->text()); } +//点击后断开wifi网络 +void OneConnForm::on_btnDisConn_clicked() +{ + this->startWaiting(false); + + mw->is_stop_check_net_state = 1; + mw->on_btnHotspotState(); + kylin_network_set_con_down(ui->lbName->text().toUtf8().data()); + disconnect(this, SIGNAL(selectedOneWifiForm(QString)), mw, SLOT(oneWifiFormSelected(QString))); + emit disconnActiveWifi(); +} + +//点击列表item扩展时会出现该按钮 用于连接网络 void OneConnForm::on_btnConnSub_clicked() { if (ui->lbConned->text() == "--" || ui->lbConned->text() == " "){ @@ -387,16 +418,6 @@ void OneConnForm::on_btnConnSub_clicked() t->start(); } -//点击后断开wifi网络 -void OneConnForm::on_btnDisConn_clicked() -{ - mw->is_stop_check_net_state = 1; - mw->on_btnHotspotState(); - kylin_network_set_con_down(ui->lbName->text().toUtf8().data()); - disconnect(this, SIGNAL(selectedOneWifiForm(QString)), mw, SLOT(oneWifiFormSelected(QString))); - emit disconnActiveWifi(); -} - //无需密码的wifi连接 void OneConnForm::on_btnConn_clicked() { @@ -455,16 +476,15 @@ void OneConnForm::on_checkBoxPwd_stateChanged(int arg1) void OneConnForm::on_lePassword_textEdited(const QString &arg1) { + ui->lePassword->setStyleSheet("QLineEdit{border:2px solid rgba(28, 47, 146, 1);border-radius:4px;" + "background:rgba(0,0,0,0.2);color:rgba(255,255,255,0.91);font-size:14px;}"); + if (ui->lePassword->text().size() < 5){ - ui->lePassword->setStyleSheet("QLineEdit{border:2px solid rgba(28, 47, 146, 1);border-radius:4px;" - "background:rgba(0,0,0,0.2);color:rgba(255,255,255,0.35);font-size:14px;}"); ui->btnConnPWD->setStyleSheet("QPushButton{border:0px;border-radius:4px;background-color:rgba(255,255,255,0.12);color:white;font-size:14px;}" - "QPushButton:Hover{border:0px solid rgba(255,255,255,0.2);border-radius:4px;background-color:rgba(0,0,0,0.2);}" - "QPushButton:Pressed{border-radius:4px;background-color:rgba(0,0,0,0.6);}"); + "QPushButton:Hover{border:0px solid rgba(255,255,255,0.2);border-radius:4px;background-color:rgba(255,255,255,0.2);}" + "QPushButton:Pressed{border-radius:4px;background-color:rgba(255,255,255,0.08);}"); ui->btnConnPWD->setEnabled(false); } else { - ui->lePassword->setStyleSheet("QLineEdit{border:2px solid rgba(28, 47, 146, 1);border-radius:4px;" - "background:rgba(0,0,0,0.2);color:rgba(255,255,255,1);font-size:14px;}"); ui->btnConnPWD->setStyleSheet("QPushButton{border:0px;border-radius:4px;background-color:rgba(61,107,229,1);color:white;font-size:14px;}" "QPushButton:Hover{border:0px solid rgba(255,255,255,0.2);border-radius:4px;background-color:rgba(107,142,235,1);}" "QPushButton:Pressed{border-radius:4px;background-color:rgba(50,87,202,1);}"); @@ -509,7 +529,46 @@ void OneConnForm::slotConnWifiResult(int connFlag){ // 设置全局变量,当前连接Wifi的信号强度 currentActWifiSignalLv = signalLv; - if (connFlag != 0){ - mw->stopLoading(); + this->stopWaiting(); +// if (connFlag != 0){ +// mw->stopLoading(); +// } +} + +void OneConnForm::waitAnimStep(){ + QString qpmQss = "QLabel{background-image:url(':/res/s/conning-a/"; + qpmQss.append(QString::number(this->waitPage)); + qpmQss.append(".png');}"); + ui->lbWaitingIcon->setStyleSheet(qpmQss); + + this->waitPage --; + + if(this->waitPage < 1){ + this->waitPage = 8; } } + +void OneConnForm::startWaiting(bool isConn){ + this->isWaiting = true; + if (isConn){ + ui->lbWaiting->setStyleSheet("QLabel{border:0px;border-radius:4px;background-color:rgba(61,107,229,1);}"); + }else{ + ui->btnDisConn->hide(); + ui->lbWaiting->setStyleSheet("QLabel{border:0px;border-radius:4px;background-color:rgba(255,255,255,0.12);}"); + } + this->waitPage = 8; + this->waitTimer->start(150); + ui->lbWaiting->show(); + ui->lbWaitingIcon->show(); + + mw->setTrayLoading(true); +} + +void OneConnForm::stopWaiting(){ + this->isWaiting = false; + this->waitTimer->stop(); + ui->lbWaiting->hide(); + ui->lbWaitingIcon->hide(); + + mw->setTrayLoading(false); +} diff --git a/oneconnform.h b/oneconnform.h index 71c46a3f..7c68cf57 100644 --- a/oneconnform.h +++ b/oneconnform.h @@ -97,7 +97,15 @@ private slots: void on_btnConnSub_clicked(); + void waitAnimStep(); + void startWaiting(bool isConn); + void stopWaiting(); + private: + QTimer *waitTimer; + int waitPage; + bool isWaiting = false; + Ui::OneConnForm *ui; MainWindow *mw; ConfForm *cf; diff --git a/oneconnform.ui b/oneconnform.ui index 51e1ff11..aab394b7 100644 --- a/oneconnform.ui +++ b/oneconnform.ui @@ -251,6 +251,32 @@ + + + + 316 + 14 + 100 + 34 + + + + + + + + + + 356 + 20 + 20 + 20 + + + + + + lbLoadUp lbLoadDown wbg_3 @@ -267,6 +293,8 @@ btnConnPWD btnDisConn btnHideConn + lbWaiting + lbWaitingIcon diff --git a/onelancform.cpp b/onelancform.cpp index d380a39e..bc060845 100644 --- a/onelancform.cpp +++ b/onelancform.cpp @@ -55,6 +55,8 @@ OneLancForm::OneLancForm(QWidget *parent, MainWindow *mainWindow, ConfForm *conf "QPushButton:Pressed{border-radius:4px;background-color:rgba(255,255,255,0.08);}"); ui->lbLoadDownImg->setStyleSheet("QLabel{background-image:url(:/res/x/load-down.png);}"); ui->lbLoadUpImg->setStyleSheet("QLabel{background-image:url(:/res/x/load-up.png);}"); + ui->lbWaiting->setStyleSheet("QLabel{border:0px;border-radius:4px;background-color:rgba(61,107,229,1);}"); + ui->lbWaitingIcon->setStyleSheet("QLabel{border:0px;background-color:transparent;}"); ui->btnConnSub->setFocusPolicy(Qt::NoFocus); ui->btnConn->setFocusPolicy(Qt::NoFocus); @@ -69,6 +71,8 @@ OneLancForm::OneLancForm(QWidget *parent, MainWindow *mainWindow, ConfForm *conf ui->line->show(); ui->lbLoadDownImg->hide(); ui->lbLoadUpImg->hide(); + ui->lbWaiting->hide(); + ui->lbWaitingIcon->hide(); this->mw = mainWindow; this->cf = confForm; @@ -82,6 +86,10 @@ OneLancForm::OneLancForm(QWidget *parent, MainWindow *mainWindow, ConfForm *conf ui->btnConn->setAttribute(Qt::WA_Hover,true);//开启悬停事件 ui->btnConn->installEventFilter(this); //安装事件过滤器 + this->waitTimer = new QTimer(this); + connect(waitTimer, SIGNAL(timeout()), this, SLOT(waitAnimStep())); + + connect(mw, SIGNAL(waitLanStop()), this, SLOT(stopWaiting())); srand((unsigned)time(NULL)); } @@ -235,26 +243,16 @@ void OneLancForm::setLine(bool isShow) } } -void OneLancForm::on_btnConnSub_clicked() -{ - QThread *t = new QThread(); - BackThread *bt = new BackThread(); - bt->moveToThread(t); - connect(t, SIGNAL(finished()), t, SLOT(deleteLater())); - connect(t, SIGNAL(started()), this, SLOT(slotConnLan())); - connect(this, SIGNAL(sigConnLan(QString)), bt, SLOT(execConnLan(QString))); - connect(bt, SIGNAL(connDone(int)), mw, SLOT(connLanDone(int))); - connect(bt, SIGNAL(btFinish()), t, SLOT(quit())); - t->start(); -} - void OneLancForm::slotConnLan(){ - mw->startLoading(); + //mw->startLoading(); + this->startWaiting(true); emit sigConnLan(ui->lbName->text()); } void OneLancForm::on_btnDisConn_clicked() { + this->startWaiting(false); + kylin_network_set_con_down(ui->lbName->text().toUtf8().data()); disconnect(this, SIGNAL(selectedOneLanForm(QString)), mw, SLOT(oneLanFormSelected(QString))); @@ -274,3 +272,52 @@ void OneLancForm::on_btnConn_clicked() connect(bt, SIGNAL(btFinish()), t, SLOT(quit())); t->start(); } + +void OneLancForm::on_btnConnSub_clicked() +{ + QThread *t = new QThread(); + BackThread *bt = new BackThread(); + bt->moveToThread(t); + connect(t, SIGNAL(finished()), t, SLOT(deleteLater())); + connect(t, SIGNAL(started()), this, SLOT(slotConnLan())); + connect(this, SIGNAL(sigConnLan(QString)), bt, SLOT(execConnLan(QString))); + connect(bt, SIGNAL(connDone(int)), mw, SLOT(connLanDone(int))); + connect(bt, SIGNAL(btFinish()), t, SLOT(quit())); + t->start(); +} + +void OneLancForm::waitAnimStep(){ + QString qpmQss = "QLabel{background-image:url(':/res/s/conning-a/"; + qpmQss.append(QString::number(this->waitPage)); + qpmQss.append(".png');}"); + ui->lbWaitingIcon->setStyleSheet(qpmQss); + + this->waitPage --; + + if(this->waitPage < 1){ + this->waitPage = 8; + } +} + +void OneLancForm::startWaiting(bool isConn){ + if (isConn){ + ui->lbWaiting->setStyleSheet("QLabel{border:0px;border-radius:4px;background-color:rgba(61,107,229,1);}"); + }else{ + ui->btnDisConn->hide(); + ui->lbWaiting->setStyleSheet("QLabel{border:0px;border-radius:4px;background-color:rgba(255,255,255,0.12);}"); + } + this->waitPage = 8; + this->waitTimer->start(150); + ui->lbWaiting->show(); + ui->lbWaitingIcon->show(); + + mw->setTrayLoading(true); +} + +void OneLancForm::stopWaiting(){ + this->waitTimer->stop(); + ui->lbWaiting->hide(); + ui->lbWaitingIcon->hide(); + + mw->setTrayLoading(false); +} diff --git a/onelancform.h b/onelancform.h index b474ab38..7d6853a8 100644 --- a/onelancform.h +++ b/onelancform.h @@ -77,7 +77,14 @@ private slots: void slotConnLan(); + void waitAnimStep(); + void startWaiting(bool isConn); + void stopWaiting(); + private: + QTimer *waitTimer; + int waitPage; + Ui::OneLancForm *ui; MainWindow *mw; ConfForm *cf; diff --git a/onelancform.ui b/onelancform.ui index a53d7168..a17fbad4 100644 --- a/onelancform.ui +++ b/onelancform.ui @@ -192,6 +192,32 @@ + + + + 316 + 14 + 100 + 34 + + + + + + + + + + 356 + 20 + 20 + 20 + + + + + + lbLoadUp lbLoadDown lbName @@ -205,6 +231,8 @@ btnConnSub btnDisConn btnConn + lbWaiting + lbWaitingIcon diff --git a/res/s/conning-a/1.png b/res/s/conning-a/1.png new file mode 100644 index 0000000000000000000000000000000000000000..cd0fafa97f8b8adf20fafd14b3cba792d1097270 GIT binary patch literal 351 zcmV-l0igbgP)k*&3LlzRM;| zVGsIxa;SY{#pP4002ovPDHLkV1hWclYRgI literal 0 HcmV?d00001 diff --git a/res/s/conning-a/2.png b/res/s/conning-a/2.png new file mode 100644 index 0000000000000000000000000000000000000000..38b549a378e574fa0daaf90a0c049b80075a7a12 GIT binary patch literal 3170 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 IM6N<$f>E6dbN~PV literal 0 HcmV?d00001 diff --git a/res/s/conning-a/3.png b/res/s/conning-a/3.png new file mode 100644 index 0000000000000000000000000000000000000000..c002abd0edea76da5e0341be55a1e2f86bca5550 GIT binary patch literal 349 zcmV-j0iyniP)7+J|tQE5Fz16C93sCnNRunsJy9tPULw(t1h z8n6!>0<8qB3!DKbz*Y>L08^k392B4qI|WvN2jDseegNYDZCdUQxVP_4fb9ZrGsXSo zV6`L-B^^r|MDlx*9wl8$>W29k=vLFPMo!M5o!HsbIZO^WhdV$oIPe6V7a$kFX0Ufv z%PFoJ*}q>oufus8ow>4L>@7QN!<)hBUpn-$ci`Ffmu;2mupVGHz?bC~s&u%NgOv)u v!&l(e-sN`{EWEOtpO>mo4E!xVld6Cpx2UO~b0A*x00000NkvXXu0mjfv}lvu literal 0 HcmV?d00001 diff --git a/res/s/conning-a/4.png b/res/s/conning-a/4.png new file mode 100644 index 0000000000000000000000000000000000000000..ec398d051033ea4f75b7897ef0c74ff1ab0d33c0 GIT binary patch literal 3180 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 S?1W_i0000 literal 0 HcmV?d00001 diff --git a/res/s/conning-a/5.png b/res/s/conning-a/5.png new file mode 100644 index 0000000000000000000000000000000000000000..df58230e81f2fb0c4cb45211685c418c97754a4c GIT binary patch literal 355 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 LNkvXXu0mjfo@*3G literal 0 HcmV?d00001 diff --git a/res/s/conning-a/7.png b/res/s/conning-a/7.png new file mode 100644 index 0000000000000000000000000000000000000000..1dcfb6d0d6df2054840e31524d523b4f739ae713 GIT binary patch literal 359 zcmV-t0hs=YP)oTKI)Oh^}+2C_i_hk-R<8JPMn zP+_aUDDVcnyO*N-tw4s;(X7s=X(5--M z1GABLpGrAP_>~&?E2lP`1okY=SPh_^=oO}{r~U|7wEM%TzX9w5TfhO(FWXRI#|FCv zPR-x9Qe6Ufz#Py6#!|ougDn_r2Y9yLl9lS!HVdK6BH(%gR-}Feo&TNDl&$I_(h-sI zz{~5zD)yTqvLYh2+zUhb2F^>iD$+Y}9X7oG@{Q}T13$aca<;M~{M`Tm002ovPDHLk FV1jhAnP>n2 literal 0 HcmV?d00001 diff --git a/res/s/conning-a/8.png b/res/s/conning-a/8.png new file mode 100644 index 0000000000000000000000000000000000000000..01785950998ff739ce9eb250988eae6dad778749 GIT binary patch literal 3201 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 literal 0 HcmV?d00001 diff --git a/translations/kylin-nm_bo.ts b/translations/kylin-nm_bo.ts index 508ab344..dca753ce 100644 --- a/translations/kylin-nm_bo.ts +++ b/translations/kylin-nm_bo.ts @@ -85,67 +85,67 @@ - + Add hidden Wi-Fi - + Connection - + Network name - + Wi-Fi security - + Cancel - + Connect - + C_reate… - + None - + WPA & WPA2 Personal - + WEP 40/128-bit Key (Hex or ASCII) - + WEP 128-bit Passphrase - + Dynamic WEP (802.1X) - + WPA & WPA2 Enterprise @@ -158,77 +158,77 @@ - + Add hidden Wi-Fi - + Connection - + Network name - + Wi-Fi security - + Username - + Password - + Cancel - + Connect - + C_reate… - + None - + WPA & WPA2 Personal - + WEP 40/128-bit Key (Hex or ASCII) - + WEP 128-bit Passphrase - + Dynamic WEP (802.1X) - + WPA & WPA2 Enterprise @@ -241,128 +241,128 @@ - + Add hidden Wi-Fi - + Connection - + Network name - + Wi-Fi security - + Authentication - + Anonymous identity - + Allow automatic PAC pro_visioning - + PAC file - + Inner authentication - + Username - + Password - + Cancel - + Connect - + C_reate… - - + + None - + WPA & WPA2 Personal - + WEP 40/128-bit Key (Hex or ASCII) - + WEP 128-bit Passphrase - + Dynamic WEP (802.1X) - + WPA & WPA2 Enterprise - + Tunneled TLS - + Protected EAP (PEAP) - + Anonymous - + Authenticated - + Both @@ -375,92 +375,92 @@ - + Add hidden Wi-Fi - + Connection - + Network name - + Wi-Fi security - + Authentication - + Username - + Password - + Cancel - + Connect - + C_reate… - + None - + WPA & WPA2 Personal - + WEP 40/128-bit Key (Hex or ASCII) - + WEP 128-bit Passphrase - + Dynamic WEP (802.1X) - + WPA & WPA2 Enterprise - + Tunneled TLS - + Protected EAP (PEAP) @@ -473,143 +473,143 @@ - + Add hidden Wi-Fi - + Connection - + Network name - + Wi-Fi security - + Authentication - + Anonymous identity - + Domain - + CA certificate - + CA certificate password - + No CA certificate is required - + PEAP version - + Inner authentication - + Username - + Password - + Cancel - + Connect - - + + None - + WPA & WPA2 Personal - + WEP 40/128-bit Key (Hex or ASCII) - + WEP 128-bit Passphrase - + Dynamic WEP (802.1X) - + WPA & WPA2 Enterprise - + Tunneled TLS - + Protected EAP (PEAP) - + Choose from file - + Automatic - + Version 0 - + Version 1 @@ -622,92 +622,92 @@ - + Add hidden Wi-Fi - + Connection - + Network name - + Wi-Fi security - + Authentication - + Username - + Password - + Cancel - + Connect - + C_reate… - + None - + WPA & WPA2 Personal - + WEP 40/128-bit Key (Hex or ASCII) - + WEP 128-bit Passphrase - + Dynamic WEP (802.1X) - + WPA & WPA2 Enterprise - + Tunneled TLS - + Protected EAP (PEAP) @@ -720,137 +720,137 @@ - + Add hidden Wi-Fi - + Connection - + Network name - + Wi-Fi security - + Authentication - + Identity - + Domain - + CA certificate - + CA certificate password - + No CA certificate is required - + User certificate - + User certificate password - + User private key - + User key password - + Cancel - + Connect - + C_reate… - - - - + + + + None - + WPA & WPA2 Personal - + WEP 40/128-bit Key (Hex or ASCII) - + WEP 128-bit Passphrase - + Dynamic WEP (802.1X) - + WPA & WPA2 Enterprise - + Tunneled TLS - + Protected EAP (PEAP) - - - + + + Choose from file @@ -863,128 +863,128 @@ - + Add hidden Wi-Fi - + Connection - + Network name - + Wi-Fi security - + Authentication - + Anonymous identity - + Domain - + CA certificate - + CA certificate password - + No CA certificate is required - + Inner authentication - + Username - + Password - + Cancel - + Connect - + C_reate… - - + + None - + WPA & WPA2 Personal - + WEP 40/128-bit Key (Hex or ASCII) - + WEP 128-bit Passphrase - + Dynamic WEP (802.1X) - + WPA & WPA2 Enterprise - + Tunneled TLS - + Protected EAP (PEAP) - + Choose from file @@ -997,97 +997,97 @@ - + Add hidden Wi-Fi - + Connection - + Network name - + Wi-Fi security - + Key - + WEP index - + Authentication - + Cancel - + Connect - + C_reate… - + None - + WPA & WPA2 Personal - + WEP 40/128-bit Key (Hex or ASCII) - + WEP 128-bit Passphrase - + Dynamic WEP (802.1X) - + WPA & WPA2 Enterprise - + 1(default) - + Open System - + Shared Key @@ -1100,72 +1100,72 @@ - + Add hidden Wi-Fi - + Connection - + Network name - + Wi-Fi security - + Password - + Cancel - + Connect - + C_reate… - + None - + WPA & WPA2 Personal - + WEP 40/128-bit Key (Hex or ASCII) - + WEP 128-bit Passphrase - + Dynamic WEP (802.1X) - + WPA & WPA2 Enterprise @@ -1257,9 +1257,9 @@ - - - + + + Not connected @@ -1272,9 +1272,9 @@ - - - + + + Disconnected @@ -1282,7 +1282,7 @@ - + Ethernet Networks @@ -1327,17 +1327,17 @@ - + Conn Ethernet Success - + Conn Ethernet Fail - + Conn Wifi Success @@ -1363,17 +1363,22 @@ - + + Input Password... + + + + Connect to Hidden Wi-Fi Network - + Rate - + Conn Wifi Failed diff --git a/translations/kylin-nm_zh_CN.qm b/translations/kylin-nm_zh_CN.qm index 163c4faa4ee2dfd1c33108ef301d8320e92adcb6..e28929e31feab6ba9dfa86075826e9b63860c089 100644 GIT binary patch delta 108 zcmew~mvQGj#t9;f1`|cq8IMo2jc0V*IM<(rapvT=Eb)wan|)a=8QJsB0f>=3UjYZPolgV-T9fSrUjZ+(O$9jtvyKM40RgbH LN(c)^lax-S-M$gC diff --git a/translations/kylin-nm_zh_CN.ts b/translations/kylin-nm_zh_CN.ts index 93a5e519..bd36e87f 100644 --- a/translations/kylin-nm_zh_CN.ts +++ b/translations/kylin-nm_zh_CN.ts @@ -80,67 +80,67 @@ DlgConnHidWifi - + Add hidden Wi-Fi 加入隐藏Wi-Fi - + Connection 连接设置: - + Network name 网络名称: - + Wi-Fi security Wi-Fi 安全性: - + Cancel 取消 - + Connect 连接 - + C_reate… 新建... - + None - + WPA & WPA2 Personal WPA 及 WPA2 个人 - + WEP 40/128-bit Key (Hex or ASCII) WEP 40/128 位密钥(十六进制或ASCII) - + WEP 128-bit Passphrase WEP 128 位密码句 - + Dynamic WEP (802.1X) 动态 WEP (802.1x) - + WPA & WPA2 Enterprise WPA 及 WPA2 企业 @@ -158,77 +158,77 @@ 连接到隐藏 Wi-Fi 网络 - + Add hidden Wi-Fi 加入隐藏Wi-Fi - + Connection 连接设置: - + Network name 网络名称: - + Wi-Fi security Wi-Fi 安全性: - + Username 用户名: - + Password 密码: - + Cancel 取消 - + Connect 连接 - + C_reate… 新建... - + None - + WPA & WPA2 Personal WPA 及 WPA2 个人 - + WEP 40/128-bit Key (Hex or ASCII) WEP 40/128 位密钥(十六进制或ASCII) - + WEP 128-bit Passphrase WEP 128 位密码句 - + Dynamic WEP (802.1X) 动态 WEP (802.1x) - + WPA & WPA2 Enterprise WPA 及 WPA2 企业 @@ -241,128 +241,128 @@ 连接到隐藏 Wi-Fi 网络 - + Add hidden Wi-Fi 加入隐藏Wi-Fi - + Connection 连接设置: - + Network name 网络名称: - + Wi-Fi security Wi-Fi 安全性: - + Authentication 认证: - + Anonymous identity 匿名身份: - + Allow automatic PAC pro_visioning 自动PAC配置: - + PAC file PAC文件: - + Inner authentication 内部认证: - + Username 用户名: - + Password 密码: - + Cancel 取消 - + Connect 连接 - + C_reate… 新建... - - + + None - + WPA & WPA2 Personal WPA 及 WPA2 个人 - + WEP 40/128-bit Key (Hex or ASCII) WEP 40/128 位密钥(十六进制或ASCII) - + WEP 128-bit Passphrase WEP 128 位密码句 - + Dynamic WEP (802.1X) 动态 WEP (802.1x) - + WPA & WPA2 Enterprise WPA 及 WPA2 企业 - + Tunneled TLS 隧道 TLS - + Protected EAP (PEAP) 受保护的 EAP - + Anonymous 匿名 - + Authenticated 已认证 - + Both 两者兼用 @@ -375,92 +375,92 @@ 连接到隐藏 Wi-Fi 网络 - + Add hidden Wi-Fi 加入隐藏Wi-Fi - + Connection 连接设置: - + Network name 网络名称: - + Wi-Fi security Wi-Fi 安全性: - + Authentication 认证: - + Username 用户名: - + Password 密码: - + Cancel 取消 - + Connect 连接 - + C_reate… 新建... - + None - + WPA & WPA2 Personal WPA 及 WPA2 个人 - + WEP 40/128-bit Key (Hex or ASCII) WEP 40/128 位密钥(十六进制或ASCII) - + WEP 128-bit Passphrase WEP 128 位密码句 - + Dynamic WEP (802.1X) 动态 WEP (802.1x) - + WPA & WPA2 Enterprise WPA 及 WPA2 企业 - + Tunneled TLS 隧道 TLS - + Protected EAP (PEAP) 受保护的 EAP @@ -473,143 +473,143 @@ 连接到隐藏 Wi-Fi 网络 - + Add hidden Wi-Fi 加入隐藏Wi-Fi - + Connection 连接设置: - + Network name 网络名称: - + Wi-Fi security Wi-Fi 安全性: - + Authentication 认证: - + Anonymous identity 匿名身份: - + Domain 域名: - + CA certificate CA 证书: - + CA certificate password CA 证书密码: - + No CA certificate is required 不需要CA证书 - + PEAP version PEAP版本: - + Inner authentication 内部认证: - + Username 用户名: - + Password 密码: - + Cancel 取消 - + Connect 连接 - - + + None - + WPA & WPA2 Personal WPA 及 WPA2 个人 - + WEP 40/128-bit Key (Hex or ASCII) WEP 40/128 位密钥(十六进制或ASCII) - + WEP 128-bit Passphrase WEP 128 位密码句 - + Dynamic WEP (802.1X) 动态 WEP (802.1x) - + WPA & WPA2 Enterprise WPA 及 WPA2 企业 - + Tunneled TLS 隧道 TLS - + Protected EAP (PEAP) 受保护的 EAP - + Choose from file 从文件选择... - + Automatic 自动 - + Version 0 版本 0 - + Version 1 版本 1 @@ -622,92 +622,92 @@ 连接到隐藏 Wi-Fi 网络 - + Add hidden Wi-Fi 加入隐藏Wi-Fi - + Connection 连接设置: - + Network name 网络名称: - + Wi-Fi security Wi-Fi 安全性: - + Authentication 认证: - + Username 用户名: - + Password 密码: - + Cancel 取消 - + Connect 连接 - + C_reate… 新建... - + None - + WPA & WPA2 Personal WPA 及 WPA2 个人 - + WEP 40/128-bit Key (Hex or ASCII) WEP 40/128 位密钥(十六进制或ASCII) - + WEP 128-bit Passphrase WEP 128 位密码句 - + Dynamic WEP (802.1X) 动态 WEP (802.1x) - + WPA & WPA2 Enterprise WPA 及 WPA2 企业 - + Tunneled TLS 隧道 TLS - + Protected EAP (PEAP) 受保护的 EAP @@ -720,137 +720,137 @@ 连接到隐藏 Wi-Fi 网络 - + Add hidden Wi-Fi 加入隐藏Wi-Fi - + Connection 连接设置: - + Network name 网络名称: - + Wi-Fi security Wi-Fi 安全性: - + Authentication 认证: - + Identity 身份: - + Domain 域名: - + CA certificate CA 证书: - + CA certificate password CA 证书密码: - + No CA certificate is required 不需要CA证书 - + User certificate 用户证书: - + User certificate password 用户证书密码: - + User private key 用户私钥: - + User key password 用户密钥密码: - + Cancel 取消 - + Connect 连接 - + C_reate… 新建... - - - - + + + + None - + WPA & WPA2 Personal WPA 及 WPA2 个人 - + WEP 40/128-bit Key (Hex or ASCII) WEP 40/128 位密钥(十六进制或ASCII) - + WEP 128-bit Passphrase WEP 128 位密码句 - + Dynamic WEP (802.1X) 动态 WEP (802.1x) - + WPA & WPA2 Enterprise WPA 及 WPA2 企业 - + Tunneled TLS 隧道 TLS - + Protected EAP (PEAP) 受保护的 EAP - - - + + + Choose from file 从文件选择... @@ -863,128 +863,128 @@ 连接到隐藏 Wi-Fi 网络 - + Add hidden Wi-Fi 加入隐藏Wi-Fi - + Connection 连接设置: - + Network name 网络名称: - + Wi-Fi security Wi-Fi 安全性: - + Authentication 认证: - + Anonymous identity 匿名身份: - + Domain 域名: - + CA certificate CA 证书: - + CA certificate password CA 证书密码: - + No CA certificate is required 不需要CA证书 - + Inner authentication 内部认证: - + Username 用户名: - + Password 密码: - + Cancel 取消 - + Connect 连接 - + C_reate… 新建... - - + + None - + WPA & WPA2 Personal WPA 及 WPA2 个人 - + WEP 40/128-bit Key (Hex or ASCII) WEP 40/128 位密钥(十六进制或ASCII) - + WEP 128-bit Passphrase WEP 128 位密码句 - + Dynamic WEP (802.1X) 动态 WEP (802.1x) - + WPA & WPA2 Enterprise WPA 及 WPA2 企业 - + Tunneled TLS 隧道 TLS - + Protected EAP (PEAP) 受保护的 EAP - + Choose from file 从文件选择... @@ -997,97 +997,97 @@ 连接到隐藏 Wi-Fi 网络 - + Add hidden Wi-Fi 加入隐藏Wi-Fi - + Connection 连接设置: - + Network name 网络名称: - + Wi-Fi security Wi-Fi 安全性: - + Key 密钥 - + WEP index WEP 检索 - + Authentication 认证: - + Cancel 取消 - + Connect 连接 - + C_reate… 新建... - + None - + WPA & WPA2 Personal WPA 及 WPA2 个人 - + WEP 40/128-bit Key (Hex or ASCII) WEP 40/128 位密钥(十六进制或ASCII) - + WEP 128-bit Passphrase WEP 128 位密码句 - + Dynamic WEP (802.1X) 动态 WEP (802.1x) - + WPA & WPA2 Enterprise WPA 及 WPA2 企业 - + 1(default) 1(默认) - + Open System 开放式系统 - + Shared Key 共享密钥 @@ -1100,72 +1100,72 @@ 连接到隐藏 Wi-Fi 网络 - + Add hidden Wi-Fi 加入隐藏Wi-Fi - + Connection 连接设置: - + Network name 网络名称: - + Wi-Fi security Wi-Fi 安全性: - + Password 密码: - + Cancel 取消 - + Connect 连接 - + C_reate… 新建... - + None - + WPA & WPA2 Personal WPA 及 WPA2 个人 - + WEP 40/128-bit Key (Hex or ASCII) WEP 40/128 位密钥(十六进制或ASCII) - + WEP 128-bit Passphrase WEP 128 位密码句 - + Dynamic WEP (802.1X) 动态 WEP (802.1x) - + WPA & WPA2 Enterprise WPA 及 WPA2 企业 @@ -1278,9 +1278,9 @@ - - - + + + Not connected 当前未连接任何网络 @@ -1293,9 +1293,9 @@ - - - + + + Disconnected 未连接 @@ -1303,7 +1303,7 @@ - + Ethernet Networks 可用有线网络列表 @@ -1355,17 +1355,17 @@ 正在更新 Wi-Fi列表 - + Conn Ethernet Success 连接有线网络成功 - + Conn Ethernet Fail 连接有线网络失败 - + Conn Wifi Success 连接无线网络成功 @@ -1399,7 +1399,12 @@ 断开 - + + Input Password... + 输入密码... + + + Connect to Hidden Wi-Fi Network 连接到隐藏 Wi-Fi 网络 @@ -1412,12 +1417,12 @@ 安全 - + Rate 速率 - + Conn Wifi Failed 连接无线网络失败 diff --git a/wireless-security/dlgconnhidwifisectls.cpp b/wireless-security/dlgconnhidwifisectls.cpp index 95f5fd0b..f541c6c0 100644 --- a/wireless-security/dlgconnhidwifisectls.cpp +++ b/wireless-security/dlgconnhidwifisectls.cpp @@ -87,6 +87,7 @@ DlgConnHidWifiSecTls::DlgConnHidWifiSecTls(int type, QWidget *parent) : "QPushButton:Pressed{border-radius:4px;background-color:rgba(50,87,202,1);}"); ui->lineUp->setStyleSheet("background:rgba(255,255,255,0.08);"); ui->lineDown->setStyleSheet("background:rgba(255,255,255,0.08);"); + ui->checkBoxCA->setFocusPolicy(Qt::NoFocus); ui->lbLeftupTitle->setText(tr("Add hidden Wi-Fi")); //加入隐藏Wi-Fi ui->lbConn->setText(tr("Connection")); //连接设置: diff --git a/wireless-security/dlgconnhidwifisectunneltls.cpp b/wireless-security/dlgconnhidwifisectunneltls.cpp index 432cfd47..a4d0e6c8 100644 --- a/wireless-security/dlgconnhidwifisectunneltls.cpp +++ b/wireless-security/dlgconnhidwifisectunneltls.cpp @@ -84,6 +84,7 @@ DlgConnHidWifiSecTunnelTLS::DlgConnHidWifiSecTunnelTLS(int type, QWidget *parent "QPushButton:Pressed{border-radius:4px;background-color:rgba(50,87,202,1);}"); ui->lineUp->setStyleSheet("background:rgba(255,255,255,0.08);"); ui->lineDown->setStyleSheet("background:rgba(255,255,255,0.08);"); + ui->checkBoxCA->setFocusPolicy(Qt::NoFocus); ui->lbLeftupTitle->setText(tr("Add hidden Wi-Fi")); //加入隐藏Wi-Fi diff --git a/wireless-security/dlgconnhidwifiwpa.cpp b/wireless-security/dlgconnhidwifiwpa.cpp index 8f0d5cf8..8beda563 100644 --- a/wireless-security/dlgconnhidwifiwpa.cpp +++ b/wireless-security/dlgconnhidwifiwpa.cpp @@ -62,6 +62,7 @@ DlgConnHidWifiWpa::DlgConnHidWifiWpa(int type, MainWindow *mainWindow, QWidget * "QPushButton:Pressed{border-radius:4px;background-color:rgba(50,87,202,1);}"); ui->lineUp->setStyleSheet("background:rgba(255,255,255,0.08);"); ui->lineDown->setStyleSheet("background:rgba(255,255,255,0.08);"); + ui->btnCancel->setFocusPolicy(Qt::NoFocus); ui->lbLeftupTitle->setText(tr("Add hidden Wi-Fi")); //加入隐藏Wi-Fi