Refactory network module.
This commit is contained in:
@@ -30,7 +30,10 @@ NetworkCfgDialog::NetworkCfgDialog(QWidget* parent)
|
||||
this->setWindowFlags(Qt::Dialog | Qt::FramelessWindowHint);
|
||||
setFocusPolicy(Qt::ClickFocus);
|
||||
|
||||
mUi->sw_dhcp->setChecked(true);
|
||||
bool isDHCP = NetworkManager::getInstance()->isDHCP();
|
||||
mUi->sw_dhcp->setChecked(isDHCP);
|
||||
mUi->addr_ip->setEnabled(!isDHCP);
|
||||
mUi->addr_mask->setEnabled(!isDHCP);
|
||||
//ui->sw_dhcp->setButtonStyle(ImageSwitch::ButtonStyle_1);
|
||||
|
||||
QStringList headerAddr;
|
||||
@@ -169,6 +172,12 @@ NetworkCfgDialog::NetworkCfgDialog(QWidget* parent)
|
||||
{
|
||||
reject();
|
||||
});
|
||||
connect(mUi->sw_dhcp, &ImageSwitch::clicked, [&]()
|
||||
{
|
||||
mUi->addr_ip->setEnabled(!mUi->sw_dhcp->getChecked());
|
||||
mUi->addr_mask->setEnabled(!mUi->sw_dhcp->getChecked());
|
||||
});
|
||||
|
||||
mUi->tabWidget->setCurrentIndex(0);
|
||||
}
|
||||
|
||||
@@ -185,9 +194,7 @@ NetworkCfgDialog::~NetworkCfgDialog()
|
||||
void NetworkCfgDialog::loadData()
|
||||
{
|
||||
mUi->led_inface->setText(NetworkManager::interfaceName());
|
||||
//ui->led_inface->setDisabled(true);
|
||||
mUi->sw_dhcp->setChecked(NetworkManager::isDHCP());
|
||||
const IpAddr& defaultIpAddress = NetworkManager::getDefaultIpAddr();
|
||||
const IpAddr& defaultIpAddress = NetworkManager::getInstance()->getDefaultIpAddr();
|
||||
mUi->addr_ip->setText(defaultIpAddress.ip);
|
||||
mUi->addr_mask->setText(defaultIpAddress.mask);
|
||||
mUi->led_gw->setText(NetworkManager::getDefaultGateway());
|
||||
@@ -236,12 +243,12 @@ void NetworkCfgDialog::saveJsonData()
|
||||
|
||||
bool NetworkCfgDialog::isNetModified()
|
||||
{
|
||||
if (mUi->sw_dhcp->getChecked() != NetworkManager::isDHCP())
|
||||
if (mUi->sw_dhcp->getChecked() != NetworkManager::getInstance()->isDHCP())
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
const IpAddr& defaultIpAddress = NetworkManager::getDefaultIpAddr();
|
||||
const IpAddr& defaultIpAddress = NetworkManager::getInstance()->getDefaultIpAddr();
|
||||
if (mUi->addr_ip->text() != defaultIpAddress.ip)
|
||||
{
|
||||
return true;
|
||||
@@ -272,7 +279,14 @@ void NetworkCfgDialog::handleThreadStart()
|
||||
}
|
||||
void NetworkCfgDialog::handleThreadExit()
|
||||
{
|
||||
DialogManager::Default()->hideTopSyncDialog();
|
||||
DialogManager::Default()->hideTopSyncDialog();
|
||||
NetworkManager::getInstance()->initNetworkInfo();
|
||||
bool isDHCP = NetworkManager::getInstance()->isDHCP();
|
||||
mUi->sw_dhcp->setChecked(isDHCP);
|
||||
mUi->addr_ip->setText(NetworkManager::getInstance()->getDefaultIpAddr().ip);
|
||||
mUi->addr_mask->setText(NetworkManager::getInstance()->getDefaultIpAddr().mask);
|
||||
mUi->addr_ip->setEnabled(!isDHCP);
|
||||
mUi->addr_mask->setEnabled(!isDHCP);
|
||||
mUi->output->setPlainText(mError);
|
||||
if (0 != mThread)
|
||||
{
|
||||
@@ -297,35 +311,21 @@ void NetworkCfgDialog::applyData()
|
||||
mThread = QThread::create([=]()
|
||||
{
|
||||
mError.clear();
|
||||
mError.append("restart\t\t");
|
||||
|
||||
bool result = NetworkManager::restart(mError);
|
||||
//bool ret =true;
|
||||
//err.append(boolToStr(ret));
|
||||
|
||||
mError.append("\n");
|
||||
if (mUi->sw_dhcp->getChecked())
|
||||
{
|
||||
NetworkManager::setJsonDHCP(true);
|
||||
mError.append("network setting\t");
|
||||
bool result = NetworkManager::getInstance()->setDHCP();
|
||||
|
||||
mError.append(boolToStr(result));
|
||||
}
|
||||
else
|
||||
{
|
||||
NetworkManager::setJsonDHCP(false);
|
||||
|
||||
IpAddr deIpAddress;
|
||||
deIpAddress.ip = mUi->addr_ip->text();
|
||||
deIpAddress.mask = mUi->addr_mask->text();
|
||||
mError.append("setDefaultIpAddr\t");
|
||||
result = result & NetworkManager::setDefaultIpAddr(deIpAddress, mError);
|
||||
mError.append("setDefaultGateway\t");
|
||||
result = result & NetworkManager::setDefaultGateway(mUi->led_gw->text(), mError);
|
||||
mError.append("setIpAddrList\t");
|
||||
result = result & NetworkManager::setIpAddrList(mModelAddress->getData(), mError);
|
||||
mError.append("setIpRouteList\t");
|
||||
result = result & NetworkManager::setIpRouteList(mModelRoute->getData(), mError);
|
||||
mError.append("\n").append("network settings\t");
|
||||
QString gateway = mUi->led_gw->text();
|
||||
mError.append("network settings\t");
|
||||
bool result = NetworkManager::getInstance()->setIpAddr(deIpAddress, gateway, mError);
|
||||
mError.append(boolToStr(result));
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user