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);