From 3f02c047c2d8ef582fa18a29177cc3eed5b62e6e Mon Sep 17 00:00:00 2001 From: arcan1s Date: Fri, 28 Feb 2014 20:07:04 +0400 Subject: [PATCH] more refactoring --- sources/gui/src/bridgewidget.cpp | 17 +- sources/gui/src/bridgewidget.h | 2 +- sources/gui/src/ethernetwidget.cpp | 53 ++++--- sources/gui/src/ethernetwidget.h | 2 +- sources/gui/src/generalwidget.cpp | 93 +++++------ sources/gui/src/generalwidget.h | 4 +- sources/gui/src/ipwidget.cpp | 245 +++++++++++++++-------------- sources/gui/src/ipwidget.h | 4 +- sources/gui/src/main.cpp | 2 + sources/gui/src/mainwindow.cpp | 1 - sources/gui/src/mobilewidget.cpp | 81 +++++----- sources/gui/src/mobilewidget.h | 2 +- sources/gui/src/netctlprofile.cpp | 1 - sources/gui/src/passwdwidget.cpp | 2 +- sources/gui/src/passwdwidget.h | 2 +- sources/gui/src/pppoewidget.cpp | 135 ++++++++-------- sources/gui/src/pppoewidget.h | 2 +- sources/gui/src/settingswindow.cpp | 29 ++-- sources/gui/src/settingswindow.h | 9 +- sources/gui/src/tunnelwidget.cpp | 31 ++-- sources/gui/src/tunnelwidget.h | 2 +- sources/gui/src/tuntapwidget.cpp | 27 ++-- sources/gui/src/tuntapwidget.h | 2 +- sources/gui/src/vlanwidget.cpp | 15 +- sources/gui/src/vlanwidget.h | 2 +- sources/gui/src/wirelesswidget.cpp | 155 +++++++++--------- sources/gui/src/wirelesswidget.h | 4 +- 27 files changed, 475 insertions(+), 449 deletions(-) diff --git a/sources/gui/src/bridgewidget.cpp b/sources/gui/src/bridgewidget.cpp index 00bce4c..25a85f0 100644 --- a/sources/gui/src/bridgewidget.cpp +++ b/sources/gui/src/bridgewidget.cpp @@ -53,10 +53,11 @@ QMap BridgeWidget::getSettings() { QMap bridgeSettings; - if (isOk() == 0) { - if (ui->checkBox_skip->checkState() == Qt::Checked) - bridgeSettings[QString("SkipForwardingDelay")] = QString("yes"); - } + if (isOk() != 0) + return bridgeSettings; + + if (ui->checkBox_skip->checkState() == Qt::Checked) + bridgeSettings[QString("SkipForwardingDelay")] = QString("yes"); return bridgeSettings; } @@ -69,9 +70,11 @@ int BridgeWidget::isOk() } -void BridgeWidget::setSettings(QMap settings) +void BridgeWidget::setSettings(const QMap settings) { - if (settings.contains(QString("SkipForwardingDelay"))) - if (settings[QString("SkipForwardingDelay")].remove(QString("'")) == QString("yes")) + QMap bridgeSettings = settings; + + if (bridgeSettings.contains(QString("SkipForwardingDelay"))) + if (bridgeSettings[QString("SkipForwardingDelay")].remove(QString("'")) == QString("yes")) ui->checkBox_skip->setCheckState(Qt::Checked); } diff --git a/sources/gui/src/bridgewidget.h b/sources/gui/src/bridgewidget.h index c09d254..56d6eef 100644 --- a/sources/gui/src/bridgewidget.h +++ b/sources/gui/src/bridgewidget.h @@ -34,7 +34,7 @@ public: ~BridgeWidget(); QMap getSettings(); int isOk(); - void setSettings(QMap settings); + void setSettings(const QMap settings); public slots: void clear(); diff --git a/sources/gui/src/ethernetwidget.cpp b/sources/gui/src/ethernetwidget.cpp index b3407eb..1093389 100644 --- a/sources/gui/src/ethernetwidget.cpp +++ b/sources/gui/src/ethernetwidget.cpp @@ -109,19 +109,20 @@ QMap EthernetWidget::getSettings() { QMap ethernetSettings; - if (isOk() == 0) { - if (ui->checkBox_skip->checkState() == Qt::Checked) - ethernetSettings[QString("SkipNoCarrier")] = QString("yes"); - if (ui->checkBox_8021x->checkState() == Qt::Checked) { - ethernetSettings[QString("Auth8021X")] = QString("yes"); - ethernetSettings[QString("WPAConfigFile")] = QString("'") + ui->lineEdit_wpaConfig->text() + QString("'"); - ethernetSettings[QString("WPADriver")] = ui->comboBox_driver->currentText(); - } - if (ui->spinBox_timeoutCarrier->value() != 5) - ethernetSettings[QString("TimeoutCarrier")] = QString(ui->spinBox_timeoutCarrier->value()); - if (ui->spinBox_timeoutWpa->value() != 15) - ethernetSettings[QString("TimeoutWPA")] = QString(ui->spinBox_timeoutWpa->value()); + if (isOk() != 0) + return ethernetSettings; + + if (ui->checkBox_skip->checkState() == Qt::Checked) + ethernetSettings[QString("SkipNoCarrier")] = QString("yes"); + if (ui->checkBox_8021x->checkState() == Qt::Checked) { + ethernetSettings[QString("Auth8021X")] = QString("yes"); + ethernetSettings[QString("WPAConfigFile")] = QString("'") + ui->lineEdit_wpaConfig->text() + QString("'"); + ethernetSettings[QString("WPADriver")] = ui->comboBox_driver->currentText(); } + if (ui->spinBox_timeoutCarrier->value() != 5) + ethernetSettings[QString("TimeoutCarrier")] = QString(ui->spinBox_timeoutCarrier->value()); + if (ui->spinBox_timeoutWpa->value() != 15) + ethernetSettings[QString("TimeoutWPA")] = QString(ui->spinBox_timeoutWpa->value()); return ethernetSettings; } @@ -138,24 +139,26 @@ int EthernetWidget::isOk() } -void EthernetWidget::setSettings(QMap settings) +void EthernetWidget::setSettings(const QMap settings) { - if (settings.contains(QString("SkipNoCarrier"))) - if (settings[QString("SkipNoCarrier")].remove(QString("'")) == QString("yes")) + QMap ethernetSettings = settings; + + if (ethernetSettings.contains(QString("SkipNoCarrier"))) + if (ethernetSettings[QString("SkipNoCarrier")].remove(QString("'")) == QString("yes")) ui->checkBox_skip->setCheckState(Qt::Checked); - if (settings.contains(QString("Auth8021X"))) - if (settings[QString("Auth8021X")].remove(QString("'")) == QString("yes")) + if (ethernetSettings.contains(QString("Auth8021X"))) + if (ethernetSettings[QString("Auth8021X")].remove(QString("'")) == QString("yes")) ui->checkBox_8021x->setCheckState(Qt::Checked); - if (settings.contains(QString("WPAConfigFile"))) - ui->lineEdit_wpaConfig->setText(settings[QString("WPAConfigFile")].remove(QString("'"))); - if (settings.contains(QString("WPADriver"))) + if (ethernetSettings.contains(QString("WPAConfigFile"))) + ui->lineEdit_wpaConfig->setText(ethernetSettings[QString("WPAConfigFile")].remove(QString("'"))); + if (ethernetSettings.contains(QString("WPADriver"))) for (int i=0; icomboBox_driver->count(); i++) - if (settings[QString("WPADriver")].remove(QString("'")) == ui->comboBox_driver->itemText(i)) + if (ethernetSettings[QString("WPADriver")].remove(QString("'")) == ui->comboBox_driver->itemText(i)) ui->comboBox_driver->setCurrentIndex(i); - if (settings.contains(QString("TimeoutCarrier"))) - ui->spinBox_timeoutCarrier->setValue(settings[QString("TimeoutCarrier")].toInt()); - if (settings.contains(QString("TimeoutWPA"))) - ui->spinBox_timeoutWpa->setValue(settings[QString("TimeoutWPA")].toInt()); + if (ethernetSettings.contains(QString("TimeoutCarrier"))) + ui->spinBox_timeoutCarrier->setValue(ethernetSettings[QString("TimeoutCarrier")].toInt()); + if (ethernetSettings.contains(QString("TimeoutWPA"))) + ui->spinBox_timeoutWpa->setValue(ethernetSettings[QString("TimeoutWPA")].toInt()); showWpa(ui->checkBox_8021x->checkState()); } diff --git a/sources/gui/src/ethernetwidget.h b/sources/gui/src/ethernetwidget.h index 62f3a5f..a97c843 100644 --- a/sources/gui/src/ethernetwidget.h +++ b/sources/gui/src/ethernetwidget.h @@ -35,7 +35,7 @@ public: ~EthernetWidget(); QMap getSettings(); int isOk(); - void setSettings(QMap settings); + void setSettings(const QMap settings); public slots: void clear(); diff --git a/sources/gui/src/generalwidget.cpp b/sources/gui/src/generalwidget.cpp index ee04221..aae8cc0 100644 --- a/sources/gui/src/generalwidget.cpp +++ b/sources/gui/src/generalwidget.cpp @@ -95,7 +95,7 @@ void GeneralWidget::addBindTo() } -void GeneralWidget::keyPressEvent(QKeyEvent *pressedKey) +void GeneralWidget::keyPressEvent(const QKeyEvent *pressedKey) { if (pressedKey->key() == Qt::Key_Delete) { if (ui->listWidget_bindto->hasFocus() && @@ -125,31 +125,32 @@ QMap GeneralWidget::getSettings() { QMap generalSettings; - if (isOk() == 0) { - generalSettings[QString("Description")] = QString("'") + ui->lineEdit_description->text() + QString("'"); - generalSettings[QString("Connection")] = ui->comboBox_connection->currentText(); - generalSettings[QString("Interface")] = ui->comboBox_interface->currentText(); - if (ui->listWidget_bindto->count() != 0) { - QStringList interfaces; - for (int i=0; ilistWidget_bindto->count(); i++) - interfaces.append(ui->listWidget_bindto->item(i)->text()); - generalSettings[QString("BindsToInterfaces")] = interfaces.join(QString(" ")); - } - if (ui->listWidget_after->count() != 0) { - QStringList profiles; - for (int i=0; ilistWidget_after->count(); i++) - profiles.append(ui->listWidget_after->item(i)->text()); - generalSettings[QString("After")] = profiles.join(QString(" ")); - } - if (!ui->lineEdit_execUpPost->text().isEmpty()) - generalSettings[QString("ExecUpPost")] = QString("'") + ui->lineEdit_execUpPost->text() + QString("'"); - if (!ui->lineEdit_execDownPre->text().isEmpty()) - generalSettings[QString("ExecDownPre")] = QString("'") + ui->lineEdit_execDownPre->text() + QString("'"); - if (ui->checkBox_forceConnect->checkState() == Qt::Checked) - generalSettings[QString("ForceConnect")] = QString("yes"); - if (ui->checkBox_debug->checkState() == Qt::Checked) - generalSettings[QString("NETCTL_DEBUG")] = QString("yes"); + if (isOk() != 0) + return generalSettings; + + generalSettings[QString("Description")] = QString("'") + ui->lineEdit_description->text() + QString("'"); + generalSettings[QString("Connection")] = ui->comboBox_connection->currentText(); + generalSettings[QString("Interface")] = ui->comboBox_interface->currentText(); + if (ui->listWidget_bindto->count() != 0) { + QStringList interfaces; + for (int i=0; ilistWidget_bindto->count(); i++) + interfaces.append(ui->listWidget_bindto->item(i)->text()); + generalSettings[QString("BindsToInterfaces")] = interfaces.join(QString(" ")); } + if (ui->listWidget_after->count() != 0) { + QStringList profiles; + for (int i=0; ilistWidget_after->count(); i++) + profiles.append(ui->listWidget_after->item(i)->text()); + generalSettings[QString("After")] = profiles.join(QString(" ")); + } + if (!ui->lineEdit_execUpPost->text().isEmpty()) + generalSettings[QString("ExecUpPost")] = QString("'") + ui->lineEdit_execUpPost->text() + QString("'"); + if (!ui->lineEdit_execDownPre->text().isEmpty()) + generalSettings[QString("ExecDownPre")] = QString("'") + ui->lineEdit_execDownPre->text() + QString("'"); + if (ui->checkBox_forceConnect->checkState() == Qt::Checked) + generalSettings[QString("ForceConnect")] = QString("yes"); + if (ui->checkBox_debug->checkState() == Qt::Checked) + generalSettings[QString("NETCTL_DEBUG")] = QString("yes"); return generalSettings; } @@ -161,7 +162,7 @@ int GeneralWidget::isOk() if ((ui->comboBox_connection->currentText() == QString("bond")) || (ui->comboBox_connection->currentText() == QString("bridge"))) if (ui->listWidget_bindto->count() == 0) - return 1; + return 1; // empty description if (ui->lineEdit_description->text().isEmpty()) return 2; @@ -170,30 +171,32 @@ int GeneralWidget::isOk() } -void GeneralWidget::setSettings(QMap settings) +void GeneralWidget::setSettings(const QMap settings) { - if (settings.contains(QString("Description"))) - ui->lineEdit_description->setText(settings[QString("Description")].remove(QString("'"))); - if (settings.contains(QString("Connection"))) + QMap generalSettings = settings; + + if (generalSettings.contains(QString("Description"))) + ui->lineEdit_description->setText(generalSettings[QString("Description")].remove(QString("'"))); + if (generalSettings.contains(QString("Connection"))) for (int i=0; icomboBox_connection->count(); i++) - if (settings[QString("Connection")].remove(QString("'")) == ui->comboBox_connection->itemText(i)) + if (generalSettings[QString("Connection")].remove(QString("'")) == ui->comboBox_connection->itemText(i)) ui->comboBox_connection->setCurrentIndex(i); - if (settings.contains(QString("Interface"))) + if (generalSettings.contains(QString("Interface"))) for (int i=0; icomboBox_interface->count(); i++) - if (settings[QString("Interface")].remove(QString("'")) == ui->comboBox_interface->itemText(i)) + if (generalSettings[QString("Interface")].remove(QString("'")) == ui->comboBox_interface->itemText(i)) ui->comboBox_interface->setCurrentIndex(i); - if (settings.contains(QString("BindsToInterfaces"))) - ui->listWidget_bindto->addItems(settings[QString("BindsToInterfaces")].split(QString(" "))); - if (settings.contains(QString("After"))) - ui->listWidget_after->addItems(settings[QString("After")].split(QString(" "))); - if (settings.contains(QString("ExecUpPost"))) - ui->lineEdit_execUpPost->setText(settings[QString("ExecUpPost")].remove(QString("'"))); - if (settings.contains(QString("ExecDownPre"))) - ui->lineEdit_execDownPre->setText(settings[QString("ExecDownPre")].remove(QString("'"))); - if (settings.contains(QString("ForceConnect"))) - if (settings[QString("ForceConnect")].remove(QString("'")) == QString("yes")) + if (generalSettings.contains(QString("BindsToInterfaces"))) + ui->listWidget_bindto->addItems(generalSettings[QString("BindsToInterfaces")].split(QString(" "))); + if (generalSettings.contains(QString("After"))) + ui->listWidget_after->addItems(generalSettings[QString("After")].split(QString(" "))); + if (generalSettings.contains(QString("ExecUpPost"))) + ui->lineEdit_execUpPost->setText(generalSettings[QString("ExecUpPost")].remove(QString("'"))); + if (generalSettings.contains(QString("ExecDownPre"))) + ui->lineEdit_execDownPre->setText(generalSettings[QString("ExecDownPre")].remove(QString("'"))); + if (generalSettings.contains(QString("ForceConnect"))) + if (generalSettings[QString("ForceConnect")].remove(QString("'")) == QString("yes")) ui->checkBox_forceConnect->setCheckState(Qt::Checked); - if (settings.contains(QString("NETCTL_DEBUG"))) - if (settings[QString("NETCTL_DEBUG")].remove(QString("'")) == QString("yes")) + if (generalSettings.contains(QString("NETCTL_DEBUG"))) + if (generalSettings[QString("NETCTL_DEBUG")].remove(QString("'")) == QString("yes")) ui->checkBox_debug->setCheckState(Qt::Checked); } diff --git a/sources/gui/src/generalwidget.h b/sources/gui/src/generalwidget.h index de79cc0..70e6fbe 100644 --- a/sources/gui/src/generalwidget.h +++ b/sources/gui/src/generalwidget.h @@ -39,7 +39,7 @@ public: QComboBox *connectionType; QMap getSettings(); int isOk(); - void setSettings(QMap settings); + void setSettings(const QMap settings); public slots: void clear(); @@ -55,7 +55,7 @@ private: QDir *profileDirectory; Ui::GeneralWidget *ui; void createActions(); - void keyPressEvent(QKeyEvent *pressedKey); + void keyPressEvent(const QKeyEvent *pressedKey); }; diff --git a/sources/gui/src/ipwidget.cpp b/sources/gui/src/ipwidget.cpp index da07923..6f13211 100644 --- a/sources/gui/src/ipwidget.cpp +++ b/sources/gui/src/ipwidget.cpp @@ -140,7 +140,7 @@ void IpWidget::createFilter() } -void IpWidget::keyPressEvent(QKeyEvent *pressedKey) +void IpWidget::keyPressEvent(const QKeyEvent *pressedKey) { if (pressedKey->key() == Qt::Key_Delete) { if (ui->listWidget_ipAddress->hasFocus() && @@ -380,86 +380,87 @@ QMap IpWidget::getSettings() { QMap ipSettings; - if (isOk() == 0) { - if (ui->checkBox_ip->checkState() == Qt::Checked) { - ipSettings[QString("IP")] = ui->comboBox_ip->currentText(); - if (ui->comboBox_ip->currentText() == QString("static")) { - QStringList addresses; - for (int i=0; ilistWidget_ipAddress->count(); i++) - addresses.append(QString("'") + ui->listWidget_ipAddress->item(i)->text() + QString("'")); - ipSettings[QString("Address")] = addresses.join(QString(" ")); - ipSettings[QString("Gateway")] = ui->lineEdit_gateway->text(); - } - if (ui->listWidget_ipRoutes->count() > 0) { - QStringList routes; - for (int i=0; ilistWidget_ipRoutes->count(); i++) - routes.append(QString("'") + ui->listWidget_ipRoutes->item(i)->text() + QString("'")); - ipSettings[QString("Routes")] = routes.join(QString(" ")); - } + if (isOk() != 0) + return ipSettings; + + if (ui->checkBox_ip->checkState() == Qt::Checked) { + ipSettings[QString("IP")] = ui->comboBox_ip->currentText(); + if (ui->comboBox_ip->currentText() == QString("static")) { + QStringList addresses; + for (int i=0; ilistWidget_ipAddress->count(); i++) + addresses.append(QString("'") + ui->listWidget_ipAddress->item(i)->text() + QString("'")); + ipSettings[QString("Address")] = addresses.join(QString(" ")); + ipSettings[QString("Gateway")] = ui->lineEdit_gateway->text(); } - else - ipSettings[QString("IP")] = QString("no"); - if (ui->checkBox_ip6->checkState() == Qt::Checked) { - ipSettings[QString("IP6")] = ui->comboBox_ip6->currentText(); - if ((ui->comboBox_ip6->currentText() == QString("static")) || - (ui->comboBox_ip6->currentText() == QString("stateless"))) { - QStringList addresses; - for (int i=0; ilistWidget_ipAddress6->count(); i++) - addresses.append(QString("'") + ui->listWidget_ipAddress6->item(i)->text() + QString("'")); - ipSettings[QString("Address6")] = addresses.join(QString(" ")); - ipSettings[QString("Gateway6")] = ui->lineEdit_gateway6->text(); - } - if (ui->listWidget_ipRoutes6->count() > 0) { - QStringList routes; - for (int i=0; ilistWidget_ipRoutes6->count(); i++) - routes.append(QString("'") + ui->listWidget_ipRoutes6->item(i)->text() + QString("'")); - ipSettings[QString("Routes6")] = routes.join(QString(" ")); - } + if (ui->listWidget_ipRoutes->count() > 0) { + QStringList routes; + for (int i=0; ilistWidget_ipRoutes->count(); i++) + routes.append(QString("'") + ui->listWidget_ipRoutes->item(i)->text() + QString("'")); + ipSettings[QString("Routes")] = routes.join(QString(" ")); } - else - ipSettings[QString("IP6")] = QString("no"); - if (ui->listWidget_custom->count() > 0) { - QStringList custom; - for (int i=0; ilistWidget_custom->count(); i++) - custom.append(QString("'") + ui->listWidget_custom->item(i)->text() + QString("'")); - ipSettings[QString("IPCustom")] = custom.join(QString(" ")); + } + else + ipSettings[QString("IP")] = QString("no"); + if (ui->checkBox_ip6->checkState() == Qt::Checked) { + ipSettings[QString("IP6")] = ui->comboBox_ip6->currentText(); + if ((ui->comboBox_ip6->currentText() == QString("static")) || + (ui->comboBox_ip6->currentText() == QString("stateless"))) { + QStringList addresses; + for (int i=0; ilistWidget_ipAddress6->count(); i++) + addresses.append(QString("'") + ui->listWidget_ipAddress6->item(i)->text() + QString("'")); + ipSettings[QString("Address6")] = addresses.join(QString(" ")); + ipSettings[QString("Gateway6")] = ui->lineEdit_gateway6->text(); } - if (!ui->lineEdit_hostname->text().isEmpty()) - ipSettings[QString("Hostname")] = QString("'") + ui->lineEdit_hostname->text() + QString("'"); - if (ui->spinBox_timeoutDad->value() != 3) - ipSettings[QString("TimeoutDAD")] = QString(ui->spinBox_timeoutDad->value()); - if (ui->comboBox_dhcp->currentText() == QString("dhcpcd")) { - if (!ui->lineEdit_dhcpcdOpt->text().isEmpty()) - ipSettings[QString("DhcpcdOptions")] = QString("'") + ui->lineEdit_dhcpcdOpt->text() + QString("'"); - } - else if (ui->comboBox_dhcp->currentText() == QString("dhclient")) { - ipSettings[QString("DHCPClient")] = ui->comboBox_dhcp->currentText(); - if (!ui->lineEdit_dhclientOpt->text().isEmpty()) - ipSettings[QString("DhclientOptions")] = QString("'") + ui->lineEdit_dhclientOpt->text() + QString("'"); - if (!ui->lineEdit_dhclientOpt6->text().isEmpty()) - ipSettings[QString("DhclientOptions6")] = QString("'") + ui->lineEdit_dhclientOpt6->text() + QString("'"); - } - if (ui->spinBox_timeoutDhcp->value() != 30) - ipSettings[QString("TimeoutDHCP")] = QString(ui->spinBox_timeoutDhcp->value()); - if (ui->checkBox_dhcp->checkState() == Qt::Checked) - ipSettings[QString("DHCPReleaseOnStop")] = QString("yes"); - if (ui->listWidget_dns->count() > 0) { - QStringList dns; - for (int i=0; ilistWidget_dns->count(); i++) - dns.append(QString("'") + ui->listWidget_dns->item(i)->text() + QString("'")); - ipSettings[QString("DNS")] = dns.join(QString(" ")); - } - if (!ui->lineEdit_dnsDomain->text().isEmpty()) - ipSettings[QString("DNSDomain")] = QString("'") + ui->lineEdit_dnsDomain->text() + QString("'"); - if (!ui->lineEdit_dnsSearch->text().isEmpty()) - ipSettings[QString("DNSSearch")] = QString("'") + ui->lineEdit_dnsSearch->text() + QString("'"); - if (ui->listWidget_dnsOptions->count() > 0) { - QStringList dnsOpt; - for (int i=0; ilistWidget_dnsOptions->count(); i++) - dnsOpt.append(QString("'") + ui->listWidget_dnsOptions->item(i)->text() + QString("'")); - ipSettings[QString("DNSOptions")] = dnsOpt.join(QString(" ")); + if (ui->listWidget_ipRoutes6->count() > 0) { + QStringList routes; + for (int i=0; ilistWidget_ipRoutes6->count(); i++) + routes.append(QString("'") + ui->listWidget_ipRoutes6->item(i)->text() + QString("'")); + ipSettings[QString("Routes6")] = routes.join(QString(" ")); } } + else + ipSettings[QString("IP6")] = QString("no"); + if (ui->listWidget_custom->count() > 0) { + QStringList custom; + for (int i=0; ilistWidget_custom->count(); i++) + custom.append(QString("'") + ui->listWidget_custom->item(i)->text() + QString("'")); + ipSettings[QString("IPCustom")] = custom.join(QString(" ")); + } + if (!ui->lineEdit_hostname->text().isEmpty()) + ipSettings[QString("Hostname")] = QString("'") + ui->lineEdit_hostname->text() + QString("'"); + if (ui->spinBox_timeoutDad->value() != 3) + ipSettings[QString("TimeoutDAD")] = QString(ui->spinBox_timeoutDad->value()); + if (ui->comboBox_dhcp->currentText() == QString("dhcpcd")) { + if (!ui->lineEdit_dhcpcdOpt->text().isEmpty()) + ipSettings[QString("DhcpcdOptions")] = QString("'") + ui->lineEdit_dhcpcdOpt->text() + QString("'"); + } + else if (ui->comboBox_dhcp->currentText() == QString("dhclient")) { + ipSettings[QString("DHCPClient")] = ui->comboBox_dhcp->currentText(); + if (!ui->lineEdit_dhclientOpt->text().isEmpty()) + ipSettings[QString("DhclientOptions")] = QString("'") + ui->lineEdit_dhclientOpt->text() + QString("'"); + if (!ui->lineEdit_dhclientOpt6->text().isEmpty()) + ipSettings[QString("DhclientOptions6")] = QString("'") + ui->lineEdit_dhclientOpt6->text() + QString("'"); + } + if (ui->spinBox_timeoutDhcp->value() != 30) + ipSettings[QString("TimeoutDHCP")] = QString(ui->spinBox_timeoutDhcp->value()); + if (ui->checkBox_dhcp->checkState() == Qt::Checked) + ipSettings[QString("DHCPReleaseOnStop")] = QString("yes"); + if (ui->listWidget_dns->count() > 0) { + QStringList dns; + for (int i=0; ilistWidget_dns->count(); i++) + dns.append(QString("'") + ui->listWidget_dns->item(i)->text() + QString("'")); + ipSettings[QString("DNS")] = dns.join(QString(" ")); + } + if (!ui->lineEdit_dnsDomain->text().isEmpty()) + ipSettings[QString("DNSDomain")] = QString("'") + ui->lineEdit_dnsDomain->text() + QString("'"); + if (!ui->lineEdit_dnsSearch->text().isEmpty()) + ipSettings[QString("DNSSearch")] = QString("'") + ui->lineEdit_dnsSearch->text() + QString("'"); + if (ui->listWidget_dnsOptions->count() > 0) { + QStringList dnsOpt; + for (int i=0; ilistWidget_dnsOptions->count(); i++) + dnsOpt.append(QString("'") + ui->listWidget_dnsOptions->item(i)->text() + QString("'")); + ipSettings[QString("DNSOptions")] = dnsOpt.join(QString(" ")); + } return ipSettings; } @@ -485,69 +486,71 @@ int IpWidget::isOk() } -void IpWidget::setSettings(QMap settings) +void IpWidget::setSettings(const QMap settings) { - if (settings.contains(QString("IP"))) { - if (settings[QString("IP")].remove(QString("'")) == QString("no")) + QMap ipSettings = settings; + + if (ipSettings.contains(QString("IP"))) { + if (ipSettings[QString("IP")].remove(QString("'")) == QString("no")) ui->checkBox_ip->setCheckState(Qt::Unchecked); else { ui->checkBox_ip->setCheckState(Qt::Checked); for (int i=0; icomboBox_ip->count(); i++) - if (settings[QString("IP")].remove(QString("'")) == ui->comboBox_ip->itemText(i)) + if (ipSettings[QString("IP")].remove(QString("'")) == ui->comboBox_ip->itemText(i)) ui->comboBox_ip->setCurrentIndex(i); } } - if (settings.contains(QString("Address"))) - ui->listWidget_ipAddress->addItems(settings[QString("Address")].remove(QString("'")).split(QString(" "))); - if (settings.contains(QString("Gateway"))) - ui->lineEdit_gateway->setText(settings[QString("Gateway")].remove(QString("'"))); - if (settings.contains(QString("Routes"))) - ui->listWidget_ipRoutes->addItems(settings[QString("Routes")].remove(QString("'")).split(QString(" "))); - if (settings.contains(QString("IP6"))) { - if (settings[QString("IP6")].remove(QString("'")) == QString("no")) + if (ipSettings.contains(QString("Address"))) + ui->listWidget_ipAddress->addItems(ipSettings[QString("Address")].remove(QString("'")).split(QString(" "))); + if (ipSettings.contains(QString("Gateway"))) + ui->lineEdit_gateway->setText(ipSettings[QString("Gateway")].remove(QString("'"))); + if (ipSettings.contains(QString("Routes"))) + ui->listWidget_ipRoutes->addItems(ipSettings[QString("Routes")].remove(QString("'")).split(QString(" "))); + if (ipSettings.contains(QString("IP6"))) { + if (ipSettings[QString("IP6")].remove(QString("'")) == QString("no")) ui->checkBox_ip6->setCheckState(Qt::Unchecked); else { ui->checkBox_ip6->setCheckState(Qt::Checked); for (int i=0; icomboBox_ip6->count(); i++) - if (settings[QString("IP6")].remove(QString("'")) == ui->comboBox_ip6->itemText(i)) + if (ipSettings[QString("IP6")].remove(QString("'")) == ui->comboBox_ip6->itemText(i)) ui->comboBox_ip6->setCurrentIndex(i); } } - if (settings.contains(QString("Address6"))) - ui->listWidget_ipAddress6->addItems(settings[QString("Address6")].remove(QString("'")).split(QString(" "))); - if (settings.contains(QString("Gateway6"))) - ui->lineEdit_gateway6->setText(settings[QString("Gateway6")].remove(QString("'"))); - if (settings.contains(QString("Routes6"))) - ui->listWidget_ipRoutes6->addItems(settings[QString("Routes6")].remove(QString("'")).split(QString(" "))); - if (settings.contains(QString("IPCustom"))) - ui->listWidget_custom->addItems(settings[QString("IPCustom")].remove(QString("'")).split(QString(" "))); - if (settings.contains(QString("Hostname"))) - ui->lineEdit_hostname->setText(settings[QString("Hostname")].remove(QString("'"))); - if (settings.contains(QString("TimeoutDAD"))) - ui->spinBox_timeoutDad->setValue(settings[QString("TimeoutDAD")].toInt()); - if (settings.contains(QString("DHCPClient"))) + if (ipSettings.contains(QString("Address6"))) + ui->listWidget_ipAddress6->addItems(ipSettings[QString("Address6")].remove(QString("'")).split(QString(" "))); + if (ipSettings.contains(QString("Gateway6"))) + ui->lineEdit_gateway6->setText(ipSettings[QString("Gateway6")].remove(QString("'"))); + if (ipSettings.contains(QString("Routes6"))) + ui->listWidget_ipRoutes6->addItems(ipSettings[QString("Routes6")].remove(QString("'")).split(QString(" "))); + if (ipSettings.contains(QString("IPCustom"))) + ui->listWidget_custom->addItems(ipSettings[QString("IPCustom")].remove(QString("'")).split(QString(" "))); + if (ipSettings.contains(QString("Hostname"))) + ui->lineEdit_hostname->setText(ipSettings[QString("Hostname")].remove(QString("'"))); + if (ipSettings.contains(QString("TimeoutDAD"))) + ui->spinBox_timeoutDad->setValue(ipSettings[QString("TimeoutDAD")].toInt()); + if (ipSettings.contains(QString("DHCPClient"))) for (int i=0; icomboBox_dhcp->count(); i++) - if (settings[QString("DHCPClient")].remove(QString("'")) == ui->comboBox_dhcp->itemText(i)) + if (ipSettings[QString("DHCPClient")].remove(QString("'")) == ui->comboBox_dhcp->itemText(i)) ui->comboBox_dhcp->setCurrentIndex(i); - if (settings.contains(QString("DhcpcdOptions"))) - ui->lineEdit_dhcpcdOpt->setText(settings[QString("DhcpcdOptions")].remove(QString("'"))); - if (settings.contains(QString("DhclientOptions"))) - ui->lineEdit_dhclientOpt->setText(settings[QString("DhclientOptions")].remove(QString("'"))); - if (settings.contains(QString("DhclientOptions6"))) - ui->lineEdit_dhclientOpt6->setText(settings[QString("DhclientOptions6")].remove(QString("'"))); - if (settings.contains(QString("TimeoutDHCP"))) - ui->spinBox_timeoutDhcp->setValue(settings[QString("TimeoutDHCP")].toInt()); - if (settings.contains(QString("DHCPReleaseOnStop"))) - if (settings[QString("DHCPReleaseOnStop")].remove(QString("'")) == QString("yes")) + if (ipSettings.contains(QString("DhcpcdOptions"))) + ui->lineEdit_dhcpcdOpt->setText(ipSettings[QString("DhcpcdOptions")].remove(QString("'"))); + if (ipSettings.contains(QString("DhclientOptions"))) + ui->lineEdit_dhclientOpt->setText(ipSettings[QString("DhclientOptions")].remove(QString("'"))); + if (ipSettings.contains(QString("DhclientOptions6"))) + ui->lineEdit_dhclientOpt6->setText(ipSettings[QString("DhclientOptions6")].remove(QString("'"))); + if (ipSettings.contains(QString("TimeoutDHCP"))) + ui->spinBox_timeoutDhcp->setValue(ipSettings[QString("TimeoutDHCP")].toInt()); + if (ipSettings.contains(QString("DHCPReleaseOnStop"))) + if (ipSettings[QString("DHCPReleaseOnStop")].remove(QString("'")) == QString("yes")) ui->checkBox_dhcp->setCheckState(Qt::Checked); - if (settings.contains(QString("DNS"))) - ui->listWidget_dns->addItems(settings[QString("DNS")].remove(QString("'")).split(QString(" "))); - if (settings.contains(QString("DNSDomain"))) - ui->lineEdit_dnsDomain->setText(settings[QString("DNSDomain")].remove(QString("'"))); - if (settings.contains(QString("DNSSearch"))) - ui->lineEdit_dnsSearch->setText(settings[QString("DNSSearch")].remove(QString("'"))); - if (settings.contains(QString("DNSOptions"))) - ui->listWidget_dnsOptions->addItems(settings[QString("DNSOptions")].remove(QString("'")).split(QString(" "))); + if (ipSettings.contains(QString("DNS"))) + ui->listWidget_dns->addItems(ipSettings[QString("DNS")].remove(QString("'")).split(QString(" "))); + if (ipSettings.contains(QString("DNSDomain"))) + ui->lineEdit_dnsDomain->setText(ipSettings[QString("DNSDomain")].remove(QString("'"))); + if (ipSettings.contains(QString("DNSSearch"))) + ui->lineEdit_dnsSearch->setText(ipSettings[QString("DNSSearch")].remove(QString("'"))); + if (ipSettings.contains(QString("DNSOptions"))) + ui->listWidget_dnsOptions->addItems(ipSettings[QString("DNSOptions")].remove(QString("'")).split(QString(" "))); ipEnable(ui->checkBox_ip->checkState()); changeIpMode(ui->comboBox_ip->currentText()); diff --git a/sources/gui/src/ipwidget.h b/sources/gui/src/ipwidget.h index 58c8f56..7d7f00a 100644 --- a/sources/gui/src/ipwidget.h +++ b/sources/gui/src/ipwidget.h @@ -34,7 +34,7 @@ public: ~IpWidget(); QMap getSettings(); int isOk(); - void setSettings(QMap settings); + void setSettings(const QMap settings); public slots: void clear(); @@ -63,7 +63,7 @@ private: Ui::IpWidget *ui; void createActions(); void createFilter(); - void keyPressEvent(QKeyEvent *pressedKey); + void keyPressEvent(const QKeyEvent *pressedKey); QString getIp(const QString rawIp); QString getPrefix(const QString rawPrefix); QString getIp6(const QString rawIp); diff --git a/sources/gui/src/main.cpp b/sources/gui/src/main.cpp index e55bb19..7935ce1 100644 --- a/sources/gui/src/main.cpp +++ b/sources/gui/src/main.cpp @@ -65,6 +65,8 @@ int main(int argc, char *argv[]) (argv[i][3] == 'a') && (argv[i][4] == 'b') && (argv[i][5] == '\0'))) { if (atoi(argv[i+1]) > 3) tabNumber = 3; + else if (atoi(argv[i+1]) < 1) + tabNumber = 1; else tabNumber = atoi(argv[i+1]); i++; diff --git a/sources/gui/src/mainwindow.cpp b/sources/gui/src/mainwindow.cpp index 900c090..09df47d 100644 --- a/sources/gui/src/mainwindow.cpp +++ b/sources/gui/src/mainwindow.cpp @@ -38,7 +38,6 @@ #include "vlanwidget.h" #include "wpasupinteract.h" #include "wirelesswidget.h" -#include MainWindow::MainWindow(QWidget *parent, const bool defaultSettings, const int tabNum) diff --git a/sources/gui/src/mobilewidget.cpp b/sources/gui/src/mobilewidget.cpp index 5b52b21..af1023f 100644 --- a/sources/gui/src/mobilewidget.cpp +++ b/sources/gui/src/mobilewidget.cpp @@ -101,26 +101,27 @@ QMap MobileWidget::getSettings() { QMap mobileSettings; - if (isOk() == 0) { - if (!ui->lineEdit_username->text().isEmpty()) - mobileSettings[QString("User")] = QString("'") + ui->lineEdit_username->text() + QString("'"); - if (!ui->lineEdit_password->text().isEmpty()) - mobileSettings[QString("Password")] = QString("'") + ui->lineEdit_password->text() + QString("'"); - mobileSettings[QString("AccessPointName")] = ui->lineEdit_apn->text(); - if (!ui->lineEdit_pin->text().isEmpty()) - mobileSettings[QString("PIN")] = QString("'") + ui->lineEdit_pin->text() + QString("'"); - else - mobileSettings[QString("PIN")] = QString("None"); - mobileSettings[QString("Mode")] = ui->comboBox_mode->currentText(); - if (ui->spinBox_fail->value() != 5) - mobileSettings[QString("MaxFail")] = QString(ui->spinBox_fail->value()); - if (ui->checkBox_route->checkState() == Qt::Unchecked) - mobileSettings[QString("DefaultRoute")] = QString("false"); - if (ui->checkBox_dns->checkState() == Qt::Unchecked) - mobileSettings[QString("UsePeerDNS")] = QString("false"); - if (!ui->lineEdit_options->text().isEmpty()) - mobileSettings[QString("OptionsFile")] = QString("'") + ui->lineEdit_options->text() + QString("'"); - } + if (isOk() != 0) + return mobileSettings; + + if (!ui->lineEdit_username->text().isEmpty()) + mobileSettings[QString("User")] = QString("'") + ui->lineEdit_username->text() + QString("'"); + if (!ui->lineEdit_password->text().isEmpty()) + mobileSettings[QString("Password")] = QString("'") + ui->lineEdit_password->text() + QString("'"); + mobileSettings[QString("AccessPointName")] = ui->lineEdit_apn->text(); + if (!ui->lineEdit_pin->text().isEmpty()) + mobileSettings[QString("PIN")] = QString("'") + ui->lineEdit_pin->text() + QString("'"); + else + mobileSettings[QString("PIN")] = QString("None"); + mobileSettings[QString("Mode")] = ui->comboBox_mode->currentText(); + if (ui->spinBox_fail->value() != 5) + mobileSettings[QString("MaxFail")] = QString(ui->spinBox_fail->value()); + if (ui->checkBox_route->checkState() == Qt::Unchecked) + mobileSettings[QString("DefaultRoute")] = QString("false"); + if (ui->checkBox_dns->checkState() == Qt::Unchecked) + mobileSettings[QString("UsePeerDNS")] = QString("false"); + if (!ui->lineEdit_options->text().isEmpty()) + mobileSettings[QString("OptionsFile")] = QString("'") + ui->lineEdit_options->text() + QString("'"); return mobileSettings; } @@ -140,28 +141,30 @@ int MobileWidget::isOk() } -void MobileWidget::setSettings(QMap settings) +void MobileWidget::setSettings(const QMap settings) { - if (settings.contains(QString("User"))) - ui->lineEdit_username->setText(settings[QString("User")].remove(QString("'"))); - if (settings.contains(QString("Password"))) - ui->lineEdit_password->setText(settings[QString("Password")].remove(QString("'"))); - if (settings.contains(QString("AccessPointName"))) - ui->lineEdit_apn->setText(settings[QString("AccessPointName")].remove(QString("'"))); - if (settings.contains(QString("PIN"))) - ui->lineEdit_pin->setText(settings[QString("PIN")].remove(QString("'"))); - if (settings.contains(QString("Mode"))) + QMap mobileSettings = settings; + + if (mobileSettings.contains(QString("User"))) + ui->lineEdit_username->setText(mobileSettings[QString("User")].remove(QString("'"))); + if (mobileSettings.contains(QString("Password"))) + ui->lineEdit_password->setText(mobileSettings[QString("Password")].remove(QString("'"))); + if (mobileSettings.contains(QString("AccessPointName"))) + ui->lineEdit_apn->setText(mobileSettings[QString("AccessPointName")].remove(QString("'"))); + if (mobileSettings.contains(QString("PIN"))) + ui->lineEdit_pin->setText(mobileSettings[QString("PIN")].remove(QString("'"))); + if (mobileSettings.contains(QString("Mode"))) for (int i=0; icomboBox_mode->count(); i++) - if (settings[QString("Mode")].remove(QString("'")) == ui->comboBox_mode->itemText(i)) + if (mobileSettings[QString("Mode")].remove(QString("'")) == ui->comboBox_mode->itemText(i)) ui->comboBox_mode->setCurrentIndex(i); - if (settings.contains(QString("MaxFail"))) - ui->spinBox_fail->setValue(settings[QString("MaxFail")].toInt()); - if (settings.contains(QString("DefaultRoute"))) - if (settings[QString("DefaultRoute")].remove(QString("'")) == QString("false")) + if (mobileSettings.contains(QString("MaxFail"))) + ui->spinBox_fail->setValue(mobileSettings[QString("MaxFail")].toInt()); + if (mobileSettings.contains(QString("DefaultRoute"))) + if (mobileSettings[QString("DefaultRoute")].remove(QString("'")) == QString("false")) ui->checkBox_route->setCheckState(Qt::Unchecked); - if (settings.contains(QString("UsePeerDNS"))) - if (settings[QString("UsePeerDNS")].remove(QString("'")) == QString("false")) + if (mobileSettings.contains(QString("UsePeerDNS"))) + if (mobileSettings[QString("UsePeerDNS")].remove(QString("'")) == QString("false")) ui->checkBox_dns->setCheckState(Qt::Unchecked); - if (settings.contains(QString("OptionsFile"))) - ui->lineEdit_options->setText(settings[QString("OptionsFile")].remove(QString("'"))); + if (mobileSettings.contains(QString("OptionsFile"))) + ui->lineEdit_options->setText(mobileSettings[QString("OptionsFile")].remove(QString("'"))); } diff --git a/sources/gui/src/mobilewidget.h b/sources/gui/src/mobilewidget.h index 0d5298b..b77b117 100644 --- a/sources/gui/src/mobilewidget.h +++ b/sources/gui/src/mobilewidget.h @@ -34,7 +34,7 @@ public: ~MobileWidget(); QMap getSettings(); int isOk(); - void setSettings(QMap settings); + void setSettings(const QMap settings); public slots: void clear(); diff --git a/sources/gui/src/netctlprofile.cpp b/sources/gui/src/netctlprofile.cpp index 388df81..548ebdc 100644 --- a/sources/gui/src/netctlprofile.cpp +++ b/sources/gui/src/netctlprofile.cpp @@ -23,7 +23,6 @@ #include #include "mainwindow.h" -#include NetctlProfile::NetctlProfile(MainWindow *wid, QMap settings) diff --git a/sources/gui/src/passwdwidget.cpp b/sources/gui/src/passwdwidget.cpp index 43f431d..4d12f4f 100644 --- a/sources/gui/src/passwdwidget.cpp +++ b/sources/gui/src/passwdwidget.cpp @@ -42,7 +42,7 @@ PasswdWidget::~PasswdWidget() // ESC press event -void PasswdWidget::keyPressEvent(QKeyEvent *pressedKey) +void PasswdWidget::keyPressEvent(const QKeyEvent *pressedKey) { if (pressedKey->key() == Qt::Key_Escape) cancel(); diff --git a/sources/gui/src/passwdwidget.h b/sources/gui/src/passwdwidget.h index fa9ef44..ab71141 100644 --- a/sources/gui/src/passwdwidget.h +++ b/sources/gui/src/passwdwidget.h @@ -50,7 +50,7 @@ private: QPushButton *cancelButton; QPushButton *okButton; // ESC pressed event - void keyPressEvent(QKeyEvent *pressedKey); + void keyPressEvent(const QKeyEvent *pressedKey); void createActions(); }; diff --git a/sources/gui/src/pppoewidget.cpp b/sources/gui/src/pppoewidget.cpp index 7089c5a..b3a37e7 100644 --- a/sources/gui/src/pppoewidget.cpp +++ b/sources/gui/src/pppoewidget.cpp @@ -129,39 +129,40 @@ QMap PppoeWidget::getSettings() { QMap pppoeSettings; - if (isOk() == 0) { - if (!ui->lineEdit_username->text().isEmpty()) - pppoeSettings[QString("User")] = QString("'") + ui->lineEdit_username->text() + QString("'"); - if (!ui->lineEdit_password->text().isEmpty()) - pppoeSettings[QString("Password")] = QString("'") + ui->lineEdit_password->text() + QString("'"); - pppoeSettings[QString("ConnectionMode")] = QString("'") + ui->comboBox_connection->currentText() + QString("'"); - if (ui->comboBox_connection->currentText() == QString("demand")) - pppoeSettings[QString("IdleTimeout")] = QString(ui->spinBox_timeout->value()); - if (ui->spinBox_fail->value() != 5) - pppoeSettings[QString("MaxFail")] = QString(ui->spinBox_fail->value()); - if (ui->checkBox_route->checkState() == Qt::Unchecked) - pppoeSettings[QString("DefaultRoute")] = QString("false"); - if (ui->checkBox_dns->checkState() == Qt::Unchecked) - pppoeSettings[QString("UsePeerDNS")] = QString("false"); - if (!ui->lineEdit_unit->text().isEmpty()) - pppoeSettings[QString("PPPUnit")] = ui->lineEdit_unit->text(); - if (ui->spinBox_lcpInterval->value() != 30) - pppoeSettings[QString("LCPEchoInterval")] = QString(ui->spinBox_lcpInterval->value()); - if (ui->spinBox_lcpFailure->value() != 4) - pppoeSettings[QString("LCPEchoFailure")] = QString(ui->spinBox_lcpFailure->value()); - if (!ui->lineEdit_options->text().isEmpty()) - pppoeSettings[QString("OptionsFile")] = QString("'") + ui->lineEdit_options->text() + QString("'"); - if (!ui->lineEdit_service->text().isEmpty()) - pppoeSettings[QString("PPPoEService")] = QString("'") + ui->lineEdit_service->text() + QString("'"); - if (!ui->lineEdit_ac->text().isEmpty()) - pppoeSettings[QString("PPPoEAC")] = QString("'") + ui->lineEdit_ac->text() + QString("'"); - if (!ui->lineEdit_session->text().split(QString(":")).join(QString("")).remove(QString(" ")).isEmpty()) - pppoeSettings[QString("PPPoESession")] = QString("'") + ui->lineEdit_session->text().remove(QString(" ")) + QString("'"); - if (!ui->lineEdit_mac->text().split(QString(":")).join(QString("")).remove(QString(" ")).isEmpty()) - pppoeSettings[QString("PPPoEMAC")] = QString("'") + ui->lineEdit_mac->text() + QString("'"); - if (ui->checkBox_ipv6->checkState() == Qt::Checked) - pppoeSettings[QString("PPPoEIP6")] = QString("yes"); - } + if (isOk() != 0) + return pppoeSettings; + + if (!ui->lineEdit_username->text().isEmpty()) + pppoeSettings[QString("User")] = QString("'") + ui->lineEdit_username->text() + QString("'"); + if (!ui->lineEdit_password->text().isEmpty()) + pppoeSettings[QString("Password")] = QString("'") + ui->lineEdit_password->text() + QString("'"); + pppoeSettings[QString("ConnectionMode")] = QString("'") + ui->comboBox_connection->currentText() + QString("'"); + if (ui->comboBox_connection->currentText() == QString("demand")) + pppoeSettings[QString("IdleTimeout")] = QString(ui->spinBox_timeout->value()); + if (ui->spinBox_fail->value() != 5) + pppoeSettings[QString("MaxFail")] = QString(ui->spinBox_fail->value()); + if (ui->checkBox_route->checkState() == Qt::Unchecked) + pppoeSettings[QString("DefaultRoute")] = QString("false"); + if (ui->checkBox_dns->checkState() == Qt::Unchecked) + pppoeSettings[QString("UsePeerDNS")] = QString("false"); + if (!ui->lineEdit_unit->text().isEmpty()) + pppoeSettings[QString("PPPUnit")] = ui->lineEdit_unit->text(); + if (ui->spinBox_lcpInterval->value() != 30) + pppoeSettings[QString("LCPEchoInterval")] = QString(ui->spinBox_lcpInterval->value()); + if (ui->spinBox_lcpFailure->value() != 4) + pppoeSettings[QString("LCPEchoFailure")] = QString(ui->spinBox_lcpFailure->value()); + if (!ui->lineEdit_options->text().isEmpty()) + pppoeSettings[QString("OptionsFile")] = QString("'") + ui->lineEdit_options->text() + QString("'"); + if (!ui->lineEdit_service->text().isEmpty()) + pppoeSettings[QString("PPPoEService")] = QString("'") + ui->lineEdit_service->text() + QString("'"); + if (!ui->lineEdit_ac->text().isEmpty()) + pppoeSettings[QString("PPPoEAC")] = QString("'") + ui->lineEdit_ac->text() + QString("'"); + if (!ui->lineEdit_session->text().split(QString(":")).join(QString("")).remove(QString(" ")).isEmpty()) + pppoeSettings[QString("PPPoESession")] = QString("'") + ui->lineEdit_session->text().remove(QString(" ")) + QString("'"); + if (!ui->lineEdit_mac->text().split(QString(":")).join(QString("")).remove(QString(" ")).isEmpty()) + pppoeSettings[QString("PPPoEMAC")] = QString("'") + ui->lineEdit_mac->text() + QString("'"); + if (ui->checkBox_ipv6->checkState() == Qt::Checked) + pppoeSettings[QString("PPPoEIP6")] = QString("yes"); return pppoeSettings; } @@ -193,44 +194,46 @@ int PppoeWidget::isOk() } -void PppoeWidget::setSettings(QMap settings) +void PppoeWidget::setSettings(const QMap settings) { - if (settings.contains(QString("User"))) - ui->lineEdit_username->setText(settings[QString("User")].remove(QString("'"))); - if (settings.contains(QString("Password"))) - ui->lineEdit_password->setText(settings[QString("Password")].remove(QString("'"))); - if (settings.contains(QString("ConnectionMode"))) + QMap pppoeSettings = settings; + + if (pppoeSettings.contains(QString("User"))) + ui->lineEdit_username->setText(pppoeSettings[QString("User")].remove(QString("'"))); + if (pppoeSettings.contains(QString("Password"))) + ui->lineEdit_password->setText(pppoeSettings[QString("Password")].remove(QString("'"))); + if (pppoeSettings.contains(QString("ConnectionMode"))) for (int i=0; icomboBox_connection->count(); i++) - if (settings[QString("ConnectionMode")].remove(QString("'")) == ui->comboBox_connection->itemText(i)) + if (pppoeSettings[QString("ConnectionMode")].remove(QString("'")) == ui->comboBox_connection->itemText(i)) ui->comboBox_connection->setCurrentIndex(i); - if (settings.contains(QString("IdleTimeout"))) - ui->spinBox_timeout->setValue(settings[QString("IdleTimeout")].toInt()); - if (settings.contains(QString("MaxFail"))) - ui->spinBox_fail->setValue(settings[QString("MaxFail")].toInt()); - if (settings.contains(QString("DefaultRoute"))) - if (settings[QString("DefaultRoute")].remove(QString("'")) == QString("false")) + if (pppoeSettings.contains(QString("IdleTimeout"))) + ui->spinBox_timeout->setValue(pppoeSettings[QString("IdleTimeout")].toInt()); + if (pppoeSettings.contains(QString("MaxFail"))) + ui->spinBox_fail->setValue(pppoeSettings[QString("MaxFail")].toInt()); + if (pppoeSettings.contains(QString("DefaultRoute"))) + if (pppoeSettings[QString("DefaultRoute")].remove(QString("'")) == QString("false")) ui->checkBox_route->setCheckState(Qt::Unchecked); - if (settings.contains(QString("UsePeerDNS"))) - if (settings[QString("UsePeerDNS")].remove(QString("'")) == QString("false")) + if (pppoeSettings.contains(QString("UsePeerDNS"))) + if (pppoeSettings[QString("UsePeerDNS")].remove(QString("'")) == QString("false")) ui->checkBox_dns->setCheckState(Qt::Unchecked); - if (settings.contains(QString("PPPUnit"))) - ui->lineEdit_unit->setText(settings[QString("PPPUnit")]); - if (settings.contains(QString("LCPEchoInterval"))) - ui->spinBox_lcpInterval->setValue(settings[QString("LCPEchoInterval")].toInt()); - if (settings.contains(QString("LCPEchoFailure"))) - ui->spinBox_lcpFailure->setValue(settings[QString("LCPEchoFailure")].toInt()); - if (settings.contains(QString("OptionsFile"))) - ui->lineEdit_options->setText(settings[QString("OptionsFile")].remove(QString("'"))); - if (settings.contains(QString("PPPoEService"))) - ui->lineEdit_service->setText(settings[QString("PPPoEService")].remove(QString("'"))); - if (settings.contains(QString("PPPoEAC"))) - ui->lineEdit_ac->setText(settings[QString("PPPoEAC")].remove(QString("'"))); - if (settings.contains(QString("PPPoESession"))) - ui->lineEdit_session->setText(settings[QString("PPPoESession")].remove(QString("'"))); - if (settings.contains(QString("PPPoEMAC"))) - ui->lineEdit_mac->setText(settings[QString("PPPoEMAC")].remove(QString("'"))); - if (settings.contains(QString("PPPoEIP6"))) - if (settings[QString("PPPoEIP6")] == QString("yes")) + if (pppoeSettings.contains(QString("PPPUnit"))) + ui->lineEdit_unit->setText(pppoeSettings[QString("PPPUnit")]); + if (pppoeSettings.contains(QString("LCPEchoInterval"))) + ui->spinBox_lcpInterval->setValue(pppoeSettings[QString("LCPEchoInterval")].toInt()); + if (pppoeSettings.contains(QString("LCPEchoFailure"))) + ui->spinBox_lcpFailure->setValue(pppoeSettings[QString("LCPEchoFailure")].toInt()); + if (pppoeSettings.contains(QString("OptionsFile"))) + ui->lineEdit_options->setText(pppoeSettings[QString("OptionsFile")].remove(QString("'"))); + if (pppoeSettings.contains(QString("PPPoEService"))) + ui->lineEdit_service->setText(pppoeSettings[QString("PPPoEService")].remove(QString("'"))); + if (pppoeSettings.contains(QString("PPPoEAC"))) + ui->lineEdit_ac->setText(pppoeSettings[QString("PPPoEAC")].remove(QString("'"))); + if (pppoeSettings.contains(QString("PPPoESession"))) + ui->lineEdit_session->setText(pppoeSettings[QString("PPPoESession")].remove(QString("'"))); + if (pppoeSettings.contains(QString("PPPoEMAC"))) + ui->lineEdit_mac->setText(pppoeSettings[QString("PPPoEMAC")].remove(QString("'"))); + if (pppoeSettings.contains(QString("PPPoEIP6"))) + if (pppoeSettings[QString("PPPoEIP6")] == QString("yes")) ui->checkBox_dns->setCheckState(Qt::Checked); changeMode(ui->comboBox_connection->currentText()); diff --git a/sources/gui/src/pppoewidget.h b/sources/gui/src/pppoewidget.h index e17805a..8c03f07 100644 --- a/sources/gui/src/pppoewidget.h +++ b/sources/gui/src/pppoewidget.h @@ -34,7 +34,7 @@ public: ~PppoeWidget(); QMap getSettings(); int isOk(); - void setSettings(QMap settings); + void setSettings(const QMap settings); public slots: void clear(); diff --git a/sources/gui/src/settingswindow.cpp b/sources/gui/src/settingswindow.cpp index 6aa98fb..a9e626c 100644 --- a/sources/gui/src/settingswindow.cpp +++ b/sources/gui/src/settingswindow.cpp @@ -23,7 +23,6 @@ #include #include "mainwindow.h" -#include SettingsWindow::SettingsWindow(MainWindow *wid, QString configFile) @@ -33,20 +32,13 @@ SettingsWindow::SettingsWindow(MainWindow *wid, QString configFile) ui(new Ui::SettingsWindow) { ui->setupUi(this); - cancelButton = ui->buttonBox->button(QDialogButtonBox::Cancel); - defaultButton = ui->buttonBox->button(QDialogButtonBox::Reset); - okButton = ui->buttonBox->button(QDialogButtonBox::Ok); - ui->comboBox_language->addItem(QString("english")); - ui->comboBox_language->addItem(QString("russian")); + addLanguages(); createActions(); } SettingsWindow::~SettingsWindow() { - delete cancelButton; - delete defaultButton; - delete okButton; delete ui; } @@ -54,10 +46,10 @@ SettingsWindow::~SettingsWindow() void SettingsWindow::createActions() { connect(ui->comboBox_language, SIGNAL(currentIndexChanged(int)), ui->label_info, SLOT(show())); - connect(cancelButton, SIGNAL(clicked(bool)), this, SLOT(close())); - connect(defaultButton, SIGNAL(clicked(bool)), this, SLOT(setDefault())); - connect(okButton, SIGNAL(clicked(bool)), this, SLOT(saveSettings())); - connect(okButton, SIGNAL(clicked(bool)), this, SLOT(close())); + connect(ui->buttonBox->button(QDialogButtonBox::Cancel), SIGNAL(clicked(bool)), this, SLOT(close())); + connect(ui->buttonBox->button(QDialogButtonBox::Reset), SIGNAL(clicked(bool)), this, SLOT(setDefault())); + connect(ui->buttonBox->button(QDialogButtonBox::Ok), SIGNAL(clicked(bool)), this, SLOT(saveSettings())); + connect(ui->buttonBox->button(QDialogButtonBox::Ok), SIGNAL(clicked(bool)), this, SLOT(close())); // buttons connect(ui->pushButton_interfaceDir, SIGNAL(clicked(bool)), SLOT(selectIfaceDir())); connect(ui->pushButton_netctlPath, SIGNAL(clicked(bool)), SLOT(selectNetctlPath())); @@ -70,13 +62,20 @@ void SettingsWindow::createActions() // ESC press event -void SettingsWindow::keyPressEvent(QKeyEvent *pressedKey) +void SettingsWindow::keyPressEvent(const QKeyEvent *pressedKey) { if (pressedKey->key() == Qt::Key_Escape) close(); } +void SettingsWindow::addLanguages() +{ + ui->comboBox_language->addItem(QString("english")); + ui->comboBox_language->addItem(QString("russian")); +} + + void SettingsWindow::saveSettings() { QMap settings = readSettings(); @@ -209,7 +208,7 @@ QMap SettingsWindow::readSettings() } -void SettingsWindow::setSettings(QMap settings) +void SettingsWindow::setSettings(const QMap settings) { ui->lineEdit_wpaDir->setText(settings[QString("CTRL_DIR")]); ui->lineEdit_wpaGroup->setText(settings[QString("CTRL_GROUP")]); diff --git a/sources/gui/src/settingswindow.h b/sources/gui/src/settingswindow.h index fc3d26b..a2d954d 100644 --- a/sources/gui/src/settingswindow.h +++ b/sources/gui/src/settingswindow.h @@ -20,7 +20,6 @@ #include #include -#include class MainWindow; @@ -45,6 +44,7 @@ public slots: void showWindow(); private slots: + void addLanguages(); void saveSettings(); // buttons void selectIfaceDir(); @@ -59,14 +59,11 @@ private: MainWindow *parent; QString file; Ui::SettingsWindow *ui; - QPushButton *cancelButton; - QPushButton *defaultButton; - QPushButton *okButton; void createActions(); // ESC pressed event - void keyPressEvent(QKeyEvent *pressedKey); + void keyPressEvent(const QKeyEvent *pressedKey); QMap readSettings(); - void setSettings(QMap settings); + void setSettings(const QMap settings); }; diff --git a/sources/gui/src/tunnelwidget.cpp b/sources/gui/src/tunnelwidget.cpp index 5eaba93..b164ff0 100644 --- a/sources/gui/src/tunnelwidget.cpp +++ b/sources/gui/src/tunnelwidget.cpp @@ -87,13 +87,14 @@ QMap TunnelWidget::getSettings() { QMap tunnelSettings; - if (isOk() == 0) { - tunnelSettings[QString("Mode")] = QString("'") + ui->comboBox_mode->currentText() + QString("'"); - if (!ui->lineEdit_local->text().split(QString(".")).join(QString("")).remove(QString(" ")).isEmpty()) - tunnelSettings[QString("Local")] = QString("'") + getIp(ui->lineEdit_local->text().remove(QString(" "))) + QString("'"); - if (!ui->lineEdit_remote->text().split(QString(".")).join(QString("")).remove(QString(" ")).isEmpty()) - tunnelSettings[QString("Remote")] = QString("'") + getIp(ui->lineEdit_remote->text().remove(QString(" "))) + QString("'"); - } + if (isOk() != 0) + return tunnelSettings; + + tunnelSettings[QString("Mode")] = QString("'") + ui->comboBox_mode->currentText() + QString("'"); + if (!ui->lineEdit_local->text().split(QString(".")).join(QString("")).remove(QString(" ")).isEmpty()) + tunnelSettings[QString("Local")] = QString("'") + getIp(ui->lineEdit_local->text().remove(QString(" "))) + QString("'"); + if (!ui->lineEdit_remote->text().split(QString(".")).join(QString("")).remove(QString(" ")).isEmpty()) + tunnelSettings[QString("Remote")] = QString("'") + getIp(ui->lineEdit_remote->text().remove(QString(" "))) + QString("'"); return tunnelSettings; } @@ -106,14 +107,16 @@ int TunnelWidget::isOk() } -void TunnelWidget::setSettings(QMap settings) +void TunnelWidget::setSettings(const QMap settings) { - if (settings.contains(QString("Mode"))) + QMap tunnelSettings = settings; + + if (tunnelSettings.contains(QString("Mode"))) for (int i=0; icomboBox_mode->count(); i++) - if (settings[QString("Mode")].remove(QString("'")) == ui->comboBox_mode->itemText(i)) + if (tunnelSettings[QString("Mode")].remove(QString("'")) == ui->comboBox_mode->itemText(i)) ui->comboBox_mode->setCurrentIndex(i); - if (settings.contains(QString("Local"))) - ui->lineEdit_local->setText(settings[QString("Local")].remove(QString("'"))); - if (settings.contains(QString("Remote"))) - ui->lineEdit_remote->setText(settings[QString("Remote")].remove(QString("'"))); + if (tunnelSettings.contains(QString("Local"))) + ui->lineEdit_local->setText(tunnelSettings[QString("Local")].remove(QString("'"))); + if (tunnelSettings.contains(QString("Remote"))) + ui->lineEdit_remote->setText(tunnelSettings[QString("Remote")].remove(QString("'"))); } diff --git a/sources/gui/src/tunnelwidget.h b/sources/gui/src/tunnelwidget.h index 69bc1f8..6ed578e 100644 --- a/sources/gui/src/tunnelwidget.h +++ b/sources/gui/src/tunnelwidget.h @@ -34,7 +34,7 @@ public: ~TunnelWidget(); QMap getSettings(); int isOk(); - void setSettings(QMap settings); + void setSettings(const QMap settings); public slots: void clear(); diff --git a/sources/gui/src/tuntapwidget.cpp b/sources/gui/src/tuntapwidget.cpp index 4c4f52e..92d486a 100644 --- a/sources/gui/src/tuntapwidget.cpp +++ b/sources/gui/src/tuntapwidget.cpp @@ -55,11 +55,12 @@ QMap TuntapWidget::getSettings() { QMap tuntapSettings; - if (isOk() == 0) { - tuntapSettings[QString("Mode")] = QString("'") + ui->comboBox_mode->currentText() + QString("'"); - tuntapSettings[QString("User")] = QString("'") + ui->lineEdit_user->text() + QString("'"); - tuntapSettings[QString("Group")] = QString("'") + ui->lineEdit_group->text() + QString("'"); - } + if (isOk() != 0) + return tuntapSettings; + + tuntapSettings[QString("Mode")] = QString("'") + ui->comboBox_mode->currentText() + QString("'"); + tuntapSettings[QString("User")] = QString("'") + ui->lineEdit_user->text() + QString("'"); + tuntapSettings[QString("Group")] = QString("'") + ui->lineEdit_group->text() + QString("'"); return tuntapSettings; } @@ -78,14 +79,16 @@ int TuntapWidget::isOk() } -void TuntapWidget::setSettings(QMap settings) +void TuntapWidget::setSettings(const QMap settings) { - if (settings.contains(QString("Mode"))) + QMap tuntapSettings = settings; + + if (tuntapSettings.contains(QString("Mode"))) for (int i=0; icomboBox_mode->count(); i++) - if (settings[QString("Mode")].remove(QString("'")) == ui->comboBox_mode->itemText(i)) + if (tuntapSettings[QString("Mode")].remove(QString("'")) == ui->comboBox_mode->itemText(i)) ui->comboBox_mode->setCurrentIndex(i); - if (settings.contains(QString("User"))) - ui->lineEdit_user->setText(settings[QString("User")].remove(QString("'"))); - if (settings.contains(QString("Group"))) - ui->lineEdit_group->setText(settings[QString("Group")].remove(QString("'"))); + if (tuntapSettings.contains(QString("User"))) + ui->lineEdit_user->setText(tuntapSettings[QString("User")].remove(QString("'"))); + if (tuntapSettings.contains(QString("Group"))) + ui->lineEdit_group->setText(tuntapSettings[QString("Group")].remove(QString("'"))); } diff --git a/sources/gui/src/tuntapwidget.h b/sources/gui/src/tuntapwidget.h index 2e1f000..d05043e 100644 --- a/sources/gui/src/tuntapwidget.h +++ b/sources/gui/src/tuntapwidget.h @@ -34,7 +34,7 @@ public: ~TuntapWidget(); QMap getSettings(); int isOk(); - void setSettings(QMap settings); + void setSettings(const QMap settings); public slots: void clear(); diff --git a/sources/gui/src/vlanwidget.cpp b/sources/gui/src/vlanwidget.cpp index bc1b10d..0ee9ca7 100644 --- a/sources/gui/src/vlanwidget.cpp +++ b/sources/gui/src/vlanwidget.cpp @@ -53,9 +53,10 @@ QMap VlanWidget::getSettings() { QMap vlanSettings; - if (isOk() == 0) { - vlanSettings[QString("VLANID")] = QString(ui->spinBox_vlan->value()); - } + if (isOk() != 0) + return vlanSettings; + + vlanSettings[QString("VLANID")] = QString(ui->spinBox_vlan->value()); return vlanSettings; } @@ -68,8 +69,10 @@ int VlanWidget::isOk() } -void VlanWidget::setSettings(QMap settings) +void VlanWidget::setSettings(const QMap settings) { - if (settings.contains(QString("VLANID"))) - ui->spinBox_vlan->setValue(settings[QString("VLANID")].toInt()); + QMap vlanSettings = settings; + + if (vlanSettings.contains(QString("VLANID"))) + ui->spinBox_vlan->setValue(vlanSettings[QString("VLANID")].toInt()); } diff --git a/sources/gui/src/vlanwidget.h b/sources/gui/src/vlanwidget.h index 87f12a6..6ade7b2 100644 --- a/sources/gui/src/vlanwidget.h +++ b/sources/gui/src/vlanwidget.h @@ -34,7 +34,7 @@ public: ~VlanWidget(); QMap getSettings(); int isOk(); - void setSettings(QMap settings); + void setSettings(const QMap settings); public slots: void clear(); diff --git a/sources/gui/src/wirelesswidget.cpp b/sources/gui/src/wirelesswidget.cpp index 3a7ff0d..b941774 100644 --- a/sources/gui/src/wirelesswidget.cpp +++ b/sources/gui/src/wirelesswidget.cpp @@ -103,7 +103,7 @@ void WirelessWidget::createActions() } -void WirelessWidget::keyPressEvent(QKeyEvent *pressedKey) +void WirelessWidget::keyPressEvent(const QKeyEvent *pressedKey) { if (pressedKey->key() == Qt::Key_Delete) { if (ui->listWidget_wpaConfigSection->hasFocus() && @@ -111,10 +111,10 @@ void WirelessWidget::keyPressEvent(QKeyEvent *pressedKey) delete ui->listWidget_wpaConfigSection->currentItem(); else if (ui->listWidget_freq->hasFocus() && (ui->listWidget_freq->currentItem() != 0)) - delete ui->listWidget_freq->currentItem(); + delete ui->listWidget_freq->currentItem(); else if (ui->listWidget_drivers->hasFocus() && (ui->listWidget_drivers->currentItem() != 0)) - delete ui->listWidget_drivers->currentItem(); + delete ui->listWidget_drivers->currentItem(); } } @@ -209,49 +209,50 @@ QMap WirelessWidget::getSettings() { QMap wirelessSettings; - if (isOk() == 0) { - wirelessSettings[QString("Security")] = ui->comboBox_security->currentText(); - wirelessSettings[QString("ESSID")] = QString("'") + ui->lineEdit_essid->text() + QString("'"); - if ((ui->comboBox_security->currentText() == QString("wep")) || - (ui->comboBox_security->currentText() == QString("wpa"))) - wirelessSettings[QString("Key")] = QString("'") + ui->lineEdit_key->text() + QString("'"); - if (ui->comboBox_security->currentText() == QString("wpa-configsection")) { - QStringList section; - for (int i=0; ilistWidget_wpaConfigSection->count(); i++) - section.append(QString("'") + ui->listWidget_wpaConfigSection->item(i)->text() + QString("'")); - wirelessSettings[QString("WPAConfigSection")] = QString("\n") + section.join(QString("\n")) + QString("\n"); - } - if (ui->comboBox_security->currentText() == QString("wpa-config")) - wirelessSettings[QString("WPAConfigFile")] = QString("'") + ui->lineEdit_wpaConfig->text() + QString("'"); - if (ui->checkBox_hidden->checkState() == Qt::Checked) - wirelessSettings[QString("Hidden")] = QString("yes"); - if (ui->checkBox_adhoc->checkState() == Qt::Checked) - wirelessSettings[QString("AdHoc")] = QString("yes"); - if (ui->listWidget_freq->count() != 0) { - QStringList freqs; - for (int i=0; ilistWidget_freq->count(); i++) - freqs.append(ui->listWidget_freq->item(i)->text()); - wirelessSettings[QString("ScanFrequencies")] = freqs.join(QString(" ")); - } - if (ui->spinBox_priority->value() != 0) - wirelessSettings[QString("Priority")] = QString(ui->spinBox_priority->value()); - if (!ui->lineEdit_country->text().isEmpty()) - wirelessSettings[QString("Country")] = QString("'") + ui->lineEdit_country->text() + QString("'"); - if (ui->lineEdit_wpaGroup->text() != QString("wheel")) - wirelessSettings[QString("WPAGroup")] = QString("'") + ui->lineEdit_wpaGroup->text() + QString("'"); - if (ui->listWidget_drivers->count() != 0) { - QStringList drivers; - for (int i=0; ilistWidget_drivers->count(); i++) - drivers.append(ui->listWidget_drivers->item(i)->text()); - wirelessSettings[QString("WPADriver")] = QString("'") + drivers.join(QString(",")) + QString("'"); - } - if (ui->comboBox_rfkill->currentText() != QString("auto")) - wirelessSettings[QString("RFKill")] = ui->comboBox_rfkill->currentText(); - if (ui->spinBox_timeoutWpa->value() != 15) - wirelessSettings[QString("TimeoutWPA")] = QString(ui->spinBox_timeoutWpa->value()); - if (ui->checkBox_exclude->checkState() == Qt::Checked) - wirelessSettings[QString("ExcludeAuto")] = QString("yes"); + if (isOk() != 0) + return wirelessSettings; + + wirelessSettings[QString("Security")] = ui->comboBox_security->currentText(); + wirelessSettings[QString("ESSID")] = QString("'") + ui->lineEdit_essid->text() + QString("'"); + if ((ui->comboBox_security->currentText() == QString("wep")) || + (ui->comboBox_security->currentText() == QString("wpa"))) + wirelessSettings[QString("Key")] = QString("'") + ui->lineEdit_key->text() + QString("'"); + if (ui->comboBox_security->currentText() == QString("wpa-configsection")) { + QStringList section; + for (int i=0; ilistWidget_wpaConfigSection->count(); i++) + section.append(QString("'") + ui->listWidget_wpaConfigSection->item(i)->text() + QString("'")); + wirelessSettings[QString("WPAConfigSection")] = QString("\n") + section.join(QString("\n")) + QString("\n"); } + if (ui->comboBox_security->currentText() == QString("wpa-config")) + wirelessSettings[QString("WPAConfigFile")] = QString("'") + ui->lineEdit_wpaConfig->text() + QString("'"); + if (ui->checkBox_hidden->checkState() == Qt::Checked) + wirelessSettings[QString("Hidden")] = QString("yes"); + if (ui->checkBox_adhoc->checkState() == Qt::Checked) + wirelessSettings[QString("AdHoc")] = QString("yes"); + if (ui->listWidget_freq->count() != 0) { + QStringList freqs; + for (int i=0; ilistWidget_freq->count(); i++) + freqs.append(ui->listWidget_freq->item(i)->text()); + wirelessSettings[QString("ScanFrequencies")] = freqs.join(QString(" ")); + } + if (ui->spinBox_priority->value() != 0) + wirelessSettings[QString("Priority")] = QString(ui->spinBox_priority->value()); + if (!ui->lineEdit_country->text().isEmpty()) + wirelessSettings[QString("Country")] = QString("'") + ui->lineEdit_country->text() + QString("'"); + if (ui->lineEdit_wpaGroup->text() != QString("wheel")) + wirelessSettings[QString("WPAGroup")] = QString("'") + ui->lineEdit_wpaGroup->text() + QString("'"); + if (ui->listWidget_drivers->count() != 0) { + QStringList drivers; + for (int i=0; ilistWidget_drivers->count(); i++) + drivers.append(ui->listWidget_drivers->item(i)->text()); + wirelessSettings[QString("WPADriver")] = QString("'") + drivers.join(QString(",")) + QString("'"); + } + if (ui->comboBox_rfkill->currentText() != QString("auto")) + wirelessSettings[QString("RFKill")] = ui->comboBox_rfkill->currentText(); + if (ui->spinBox_timeoutWpa->value() != 15) + wirelessSettings[QString("TimeoutWPA")] = QString(ui->spinBox_timeoutWpa->value()); + if (ui->checkBox_exclude->checkState() == Qt::Checked) + wirelessSettings[QString("ExcludeAuto")] = QString("yes"); return wirelessSettings; } @@ -288,44 +289,46 @@ int WirelessWidget::isOk() } -void WirelessWidget::setSettings(QMap settings) +void WirelessWidget::setSettings(const QMap settings) { - if (settings.contains(QString("Security"))) + QMap wirelessSettings = settings; + + if (wirelessSettings.contains(QString("Security"))) for (int i=0; icomboBox_security->count(); i++) - if (settings[QString("Security")].remove(QString("'")) == ui->comboBox_security->itemText(i)) + if (wirelessSettings[QString("Security")].remove(QString("'")) == ui->comboBox_security->itemText(i)) ui->comboBox_security->setCurrentIndex(i); - if (settings.contains(QString("ESSID"))) - ui->lineEdit_essid->setText(settings[QString("ESSID")].remove(QString("'"))); - if (settings.contains(QString("Key"))) - ui->lineEdit_key->setText(settings[QString("Key")].remove(QString("'"))); - if (settings.contains(QString("WPAConfigSection"))) - ui->listWidget_wpaConfigSection->addItems(settings[QString("WPAConfigSection")].split(QString("\n"))); - if (settings.contains(QString("WPAConfigFile"))) - ui->lineEdit_wpaConfig->setText(settings[QString("WPAConfigFile")].remove(QString("'"))); - if (settings.contains(QString("Hidden"))) - if (settings[QString("Hidden")].remove(QString("'")) == QString("yes")) + if (wirelessSettings.contains(QString("ESSID"))) + ui->lineEdit_essid->setText(wirelessSettings[QString("ESSID")].remove(QString("'"))); + if (wirelessSettings.contains(QString("Key"))) + ui->lineEdit_key->setText(wirelessSettings[QString("Key")].remove(QString("'"))); + if (wirelessSettings.contains(QString("WPAConfigSection"))) + ui->listWidget_wpaConfigSection->addItems(wirelessSettings[QString("WPAConfigSection")].split(QString("\n"))); + if (wirelessSettings.contains(QString("WPAConfigFile"))) + ui->lineEdit_wpaConfig->setText(wirelessSettings[QString("WPAConfigFile")].remove(QString("'"))); + if (wirelessSettings.contains(QString("Hidden"))) + if (wirelessSettings[QString("Hidden")].remove(QString("'")) == QString("yes")) ui->checkBox_hidden->setCheckState(Qt::Checked); - if (settings.contains(QString("AdHoc"))) - if (settings[QString("AdHoc")].remove(QString("'")) == QString("yes")) + if (wirelessSettings.contains(QString("AdHoc"))) + if (wirelessSettings[QString("AdHoc")].remove(QString("'")) == QString("yes")) ui->checkBox_adhoc->setCheckState(Qt::Checked); - if (settings.contains(QString("ScanFrequencies"))) - ui->listWidget_freq->addItems(settings[QString("ScanFrequencies")].split(QString("\n"))); - if (settings.contains(QString("Priority"))) - ui->spinBox_priority->setValue(settings[QString("Priority")].toInt()); - if (settings.contains(QString("Country"))) - ui->lineEdit_country->setText(settings[QString("Country")].remove(QString("'"))); - if (settings.contains(QString("WPAGroup"))) - ui->lineEdit_wpaGroup->setText(settings[QString("WPAGroup")].remove(QString("'"))); - if (settings.contains(QString("WPADriver"))) - ui->listWidget_drivers->addItems(settings[QString("WPADriver")].split(QString(","))); - if (settings.contains(QString("RFKill"))) + if (wirelessSettings.contains(QString("ScanFrequencies"))) + ui->listWidget_freq->addItems(wirelessSettings[QString("ScanFrequencies")].split(QString("\n"))); + if (wirelessSettings.contains(QString("Priority"))) + ui->spinBox_priority->setValue(wirelessSettings[QString("Priority")].toInt()); + if (wirelessSettings.contains(QString("Country"))) + ui->lineEdit_country->setText(wirelessSettings[QString("Country")].remove(QString("'"))); + if (wirelessSettings.contains(QString("WPAGroup"))) + ui->lineEdit_wpaGroup->setText(wirelessSettings[QString("WPAGroup")].remove(QString("'"))); + if (wirelessSettings.contains(QString("WPADriver"))) + ui->listWidget_drivers->addItems(wirelessSettings[QString("WPADriver")].split(QString(","))); + if (wirelessSettings.contains(QString("RFKill"))) for (int i=0; icomboBox_rfkill->count(); i++) - if (settings[QString("RFKill")].remove(QString("'")) == ui->comboBox_rfkill->itemText(i)) + if (wirelessSettings[QString("RFKill")].remove(QString("'")) == ui->comboBox_rfkill->itemText(i)) ui->comboBox_rfkill->setCurrentIndex(i); - if (settings.contains(QString("TimeoutWPA"))) - ui->spinBox_timeoutWpa->setValue(settings[QString("TimeoutWPA")].toInt()); - if (settings.contains(QString("ExcludeAuto"))) - if (settings[QString("ExcludeAuto")].remove(QString("'")) == QString("yes")) + if (wirelessSettings.contains(QString("TimeoutWPA"))) + ui->spinBox_timeoutWpa->setValue(wirelessSettings[QString("TimeoutWPA")].toInt()); + if (wirelessSettings.contains(QString("ExcludeAuto"))) + if (wirelessSettings[QString("ExcludeAuto")].remove(QString("'")) == QString("yes")) ui->checkBox_exclude->setCheckState(Qt::Checked); changeSecurity(ui->comboBox_security->currentText()); diff --git a/sources/gui/src/wirelesswidget.h b/sources/gui/src/wirelesswidget.h index d935f0f..93aa561 100644 --- a/sources/gui/src/wirelesswidget.h +++ b/sources/gui/src/wirelesswidget.h @@ -37,7 +37,7 @@ public: ~WirelessWidget(); QMap getSettings(); int isOk(); - void setSettings(QMap settings); + void setSettings(const QMap settings); public slots: void clear(); @@ -55,7 +55,7 @@ private: QDir *rfkillDirectory; Ui::WirelessWidget *ui; void createActions(); - void keyPressEvent(QKeyEvent *pressedKey); + void keyPressEvent(const QKeyEvent *pressedKey); };