#include "connectionsettingsengine.h" #include "ethernetsettings.h" #include "ethernetsettingstab.h" #include "generalsettingstab.h" #include "ipv4settingstab.h" #include "ipv6settingstab.h" #include "security802_1xtab.h" #include "ui_genericsettings.h" EthernetSettings::EthernetSettings(QString connUuidStr, QWidget *parent) : QDialog(parent), ui(new Ui::GenericSettings) { targetConnUuidStr = connUuidStr; ui->setupUi(this); QVariantMap connSettings = ConnectionSettingsEngine::readConnectionSettings(connUuidStr); this->setWindowTitle(connSettings["connName"].toString()); ui->connectionNameLineEdit->setText(connSettings["connName"].toString()); generalSettingsTab = new GeneralSettingsTab(); ethernetSettingsTab = new EthernetSettingsTab(); security802_1xSettingsTab = new Security802_1xTab(); ipv4SettingsTab = new Ipv4SettingsTab(); ipv6SettingsTab = new Ipv6SettingsTab(); ui->tabWidget->addTab(generalSettingsTab, tr("General")); ui->tabWidget->addTab(ethernetSettingsTab, tr("Ethernet")); ui->tabWidget->addTab(security802_1xSettingsTab, tr("802.1x Security")); ui->tabWidget->addTab(ipv4SettingsTab, tr("IPv4")); ui->tabWidget->addTab(ipv6SettingsTab, tr("IPv6")); generalSettingsTab->loadSettings(connSettings); ethernetSettingsTab->loadSettings(connSettings); security802_1xSettingsTab->loadSettings(connSettings); ipv4SettingsTab->loadSettings(connSettings); ipv6SettingsTab->loadSettings(connSettings); connect(ui->cancelButton, &QPushButton::clicked, this, &EthernetSettings::onCancelButtonClicked); connect(ui->saveButton, &QPushButton::clicked, this, &EthernetSettings::onSaveButtonClicked); } EthernetSettings::~EthernetSettings() { delete ui; delete generalSettingsTab; delete ethernetSettingsTab; delete security802_1xSettingsTab; delete ipv4SettingsTab; delete ipv6SettingsTab; } void EthernetSettings::onCancelButtonClicked() { this->done(0); } void EthernetSettings::onSaveButtonClicked() { QVariantMap settings = generalSettingsTab->readSettings(); settings.insert(ethernetSettingsTab->readSettings()); settings.insert(security802_1xSettingsTab->readSettings()); settings.insert(ipv4SettingsTab->readSettings()); settings.insert(ipv6SettingsTab->readSettings()); settings.insert("connName", ui->connectionNameLineEdit->text()); ConnectionSettingsEngine::modifyConnectionSettings(targetConnUuidStr, settings); this->done(0); }