diff --git a/src/network/networkcfgdialog.cpp b/src/network/networkcfgdialog.cpp index b74cb56..f890d89 100644 --- a/src/network/networkcfgdialog.cpp +++ b/src/network/networkcfgdialog.cpp @@ -191,9 +191,39 @@ void networkCfgDialog::loadData() model_addr->loadData(NetworkManager::getIpAddrList()); model_route->loadData(NetworkManager::getIpRouteList()); + loadJsonData(); } -bool networkCfgDialog::isModified() +bool networkCfgDialog::isJsonModified() +{ + const host& h = NetworkManager::getLocalHost(); + if (ui->daq_AE->text() != h.ae) return true; + if (ui->daq_Name->text() != h.name) return true; + if (ui->daq_Port->text() != h.port)return true; + return false; +} + +void networkCfgDialog::loadJsonData() +{ + + const host& h = NetworkManager::getLocalHost(); + ui->daq_AE->setText(h.ae); + ui->daq_IP->setText(h.ip); + ui->daq_Name->setText(h.name); + ui->daq_Port->setText(h.port); +} + +void networkCfgDialog::saveJsonData() +{ + host h; + h.ip = ui->daq_IP->text(); + h.ae = ui->daq_AE->text(); + h.name = ui->daq_Name->text(); + h.port = ui->daq_Port->text(); + NetworkManager::setLocalHost(h); +} + +bool networkCfgDialog::isNetModified() { if (ui->sw_dhcp->getChecked() != NetworkManager::isDHCP()) return true; @@ -201,11 +231,14 @@ bool networkCfgDialog::isModified() if (ui->addr_ip->text() != default_addr.ip) return true; if (ui->addr_mask->text() != default_addr.mask) return true; if (ui->led_gw->text() != NetworkManager::getDefaultGateway())return true; + if (model_addr->getData() != NetworkManager::getIpAddrList())return true; if (model_route->getData() != NetworkManager::getIpRouteList()) return true; return false; } + + void networkCfgDialog::afterThreadStart() { msgDialog->showMessage("Saving Network Configuration..."); @@ -213,7 +246,6 @@ void networkCfgDialog::afterThreadStart() } void networkCfgDialog::beforeThreadExit() { - msgDialog->hide(); ui->output->setPlainText(err); myThread->deleteLater(); @@ -221,9 +253,12 @@ void networkCfgDialog::beforeThreadExit() void networkCfgDialog::applyData() { - + if (isJsonModified()) + { + saveJsonData(); + } //if it is the same as the old, just exit - if (!isModified()) + if (!isNetModified()) { accept(); return; @@ -263,7 +298,7 @@ void networkCfgDialog::applyData() bool ret3 = NetworkManager::setIpAddrList(model_addr->getData(), err); err.append("setIpRouteList\t"); bool ret4 = NetworkManager::setIpRouteList(model_route->getData(), err); - err.append("\n").append("network setting\t"); + err.append("\n").append("network settings\t"); bool retAll = ret & ret1 & ret2 & ret3 & ret4; err.append(boolToStr(retAll));