diff --git a/src/TopBarWidget.h b/src/TopBarWidget.h index 61fc091..40e86d3 100644 --- a/src/TopBarWidget.h +++ b/src/TopBarWidget.h @@ -7,6 +7,7 @@ #include class TopBarWidget :public QWidget{ + Q_OBJECT public : explicit TopBarWidget(QWidget* parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags()); diff --git a/src/components/RollingMessageWidget.cpp b/src/components/RollingMessageWidget.cpp index d752589..e6288f2 100644 --- a/src/components/RollingMessageWidget.cpp +++ b/src/components/RollingMessageWidget.cpp @@ -5,7 +5,7 @@ #include "RollingMessageWidget.h" #include #include -#include +#include const int ROLL_DISTANCE = 32; diff --git a/src/device/networkmanager.cpp b/src/device/networkmanager.cpp index c81e936..5a4db6b 100644 --- a/src/device/networkmanager.cpp +++ b/src/device/networkmanager.cpp @@ -67,7 +67,7 @@ bool NetworkManager::restart(QString& err_info) QProcess* myProcess = new QProcess; QString inface = JsonObject::Instance()->interfaceName(); QString pwd = JsonObject::Instance()->passWord(); - QString cmd = QString("echo %1 | sudo -S rcnetwork restart %2").arg(pwd).arg(inface); + QString cmd = QString("echo %1 | sudo -S rcnetwork restart %2").arg(pwd).arg(inface); QStringList args; args << "-c" << cmd; connect(myProcess, SIGNAL(finished(int)), myProcess, SLOT(deleteLater())); @@ -206,6 +206,32 @@ bool NetworkManager::setDefaultGateway(const QString& gw, QString& err_info) } +bool NetworkManager::checkPassWord(const QString &pwd,QString& err_info) +{ + + QProcess* myProcess = new QProcess; + //QString pwd = JsonObject::Instance()->passWord(); + QString cmd = QString("echo %1 | sudo -S -k whoami").arg(pwd); + QStringList args; + args << "-c" << cmd; + connect(myProcess, SIGNAL(finished(int)), myProcess, SLOT(deleteLater())); + //qDebug()<start("/bin/sh", args); + if (!myProcess->waitForFinished()) { + err_info.append("failed...\n"); + return false; + } + if (myProcess->exitCode() == 0) { + err_info.append("success...\n"); + return true; + } + else { + err_info.append(myProcess->readAllStandardError()); + return false; + } + +} + bool NetworkManager::setIpRouteList(const QList& list, QString& err_info) { diff --git a/src/device/networkmanager.h b/src/device/networkmanager.h index 7170cfa..2d19ec5 100644 --- a/src/device/networkmanager.h +++ b/src/device/networkmanager.h @@ -20,6 +20,7 @@ public: static QList getIpRouteList(); //static void setInterfaceName(const QString& name); + static bool checkPassWord(const QString &pwd,QString& err_info); static bool restart(QString& err_info); static bool setJsonDHCP(bool enable); diff --git a/src/errorhandle/GUIErrorLE.cpp b/src/errorhandle/GUIErrorLE.cpp index 76b775a..828252e 100644 --- a/src/errorhandle/GUIErrorLE.cpp +++ b/src/errorhandle/GUIErrorLE.cpp @@ -4,7 +4,7 @@ #include "GUIErrorLE.h" #include "event/EventCenter.h" -#include +#include #include void GUIErrorLE::parse(const QString &errorMsg) { diff --git a/src/json/jsonobject.cpp b/src/json/jsonobject.cpp index 627642e..ea93721 100644 --- a/src/json/jsonobject.cpp +++ b/src/json/jsonobject.cpp @@ -326,6 +326,8 @@ QString JsonObject::interfaceName() QString JsonObject::passWord() { + if (!loadcfg()) + return QString(""); return tmp_psw; } diff --git a/src/translations/zh_CN.ts b/src/translations/zh_CN.ts index 6cd174c..c7625f8 100644 --- a/src/translations/zh_CN.ts +++ b/src/translations/zh_CN.ts @@ -189,7 +189,7 @@ - + About 关于 @@ -360,7 +360,7 @@ GetAdminPsw - + Admin Password 管理员密码 diff --git a/src/translations/zh_CN.ts.bak b/src/translations/zh_CN.ts.bak index 6cd174c..c7625f8 100644 --- a/src/translations/zh_CN.ts.bak +++ b/src/translations/zh_CN.ts.bak @@ -189,7 +189,7 @@ - + About 关于 @@ -360,7 +360,7 @@ GetAdminPsw - + Admin Password 管理员密码