Add set ip with new IpSettingsDialog.

This commit is contained in:
sunwen
2024-05-08 15:20:28 +08:00
parent eb041549aa
commit 638a40343f
7 changed files with 75 additions and 15 deletions

View File

@@ -130,12 +130,12 @@ bool NetworkManager::setDHCP()
JsonObject::Instance()->autoDHCP(true);
return true;
}
bool NetworkManager::setIpAddr(const IpAddr& addr, const QString& aGateWay, QString& err_info)
bool NetworkManager::setIpAddr(const IpAddr& addr, QString& err_info)
{
QString pwd = JsonObject::Instance()->passWord();
QString ipaddr = NewExp(addr.ip, addr.mask);
QProcess settingProcess;
QString setIpCommand = QString("echo %1 | sudo -S nmcli con mod usct ipv4.method manual ipv4.address %2 ipv4.gateway %3").arg(pwd).arg(ipaddr).arg(aGateWay);
QString setIpCommand = QString("echo %1 | sudo -S nmcli con mod usct ipv4.method manual ipv4.address %2 ipv4.gateway %3").arg(pwd).arg(ipaddr).arg(addr.gateway);
QStringList args;
args << "-c" << setIpCommand;
settingProcess.start("/bin/sh", args);

View File

@@ -24,7 +24,7 @@ public:
//static void setInterfaceName(const QString& name);
static bool checkPassWord(const QString& pwd, QString& err_info);
bool setDHCP();
bool setIpAddr(const IpAddr& addr, const QString& aGateWay, QString& err_info);
bool setIpAddr(const IpAddr& addr, QString& err_info);
void initNetworkInfo();
static bool setIpAddrList(const QList<QStringList>& list, QString& err_info);
static bool setDefaultGateway(const QString& gw, QString& err_info);