more refactoring

This commit is contained in:
arcan1s 2014-02-28 20:07:04 +04:00
parent 2cade97786
commit 3f02c047c2
27 changed files with 475 additions and 449 deletions

View File

@ -53,10 +53,11 @@ QMap<QString, QString> BridgeWidget::getSettings()
{ {
QMap<QString, QString> bridgeSettings; QMap<QString, QString> bridgeSettings;
if (isOk() == 0) { if (isOk() != 0)
if (ui->checkBox_skip->checkState() == Qt::Checked) return bridgeSettings;
bridgeSettings[QString("SkipForwardingDelay")] = QString("yes");
} if (ui->checkBox_skip->checkState() == Qt::Checked)
bridgeSettings[QString("SkipForwardingDelay")] = QString("yes");
return bridgeSettings; return bridgeSettings;
} }
@ -69,9 +70,11 @@ int BridgeWidget::isOk()
} }
void BridgeWidget::setSettings(QMap<QString, QString> settings) void BridgeWidget::setSettings(const QMap<QString, QString> settings)
{ {
if (settings.contains(QString("SkipForwardingDelay"))) QMap<QString, QString> bridgeSettings = settings;
if (settings[QString("SkipForwardingDelay")].remove(QString("'")) == QString("yes"))
if (bridgeSettings.contains(QString("SkipForwardingDelay")))
if (bridgeSettings[QString("SkipForwardingDelay")].remove(QString("'")) == QString("yes"))
ui->checkBox_skip->setCheckState(Qt::Checked); ui->checkBox_skip->setCheckState(Qt::Checked);
} }

View File

@ -34,7 +34,7 @@ public:
~BridgeWidget(); ~BridgeWidget();
QMap<QString, QString> getSettings(); QMap<QString, QString> getSettings();
int isOk(); int isOk();
void setSettings(QMap<QString, QString> settings); void setSettings(const QMap<QString, QString> settings);
public slots: public slots:
void clear(); void clear();

View File

@ -109,19 +109,20 @@ QMap<QString, QString> EthernetWidget::getSettings()
{ {
QMap<QString, QString> ethernetSettings; QMap<QString, QString> ethernetSettings;
if (isOk() == 0) { if (isOk() != 0)
if (ui->checkBox_skip->checkState() == Qt::Checked) return ethernetSettings;
ethernetSettings[QString("SkipNoCarrier")] = QString("yes");
if (ui->checkBox_8021x->checkState() == Qt::Checked) { if (ui->checkBox_skip->checkState() == Qt::Checked)
ethernetSettings[QString("Auth8021X")] = QString("yes"); ethernetSettings[QString("SkipNoCarrier")] = QString("yes");
ethernetSettings[QString("WPAConfigFile")] = QString("'") + ui->lineEdit_wpaConfig->text() + QString("'"); if (ui->checkBox_8021x->checkState() == Qt::Checked) {
ethernetSettings[QString("WPADriver")] = ui->comboBox_driver->currentText(); ethernetSettings[QString("Auth8021X")] = QString("yes");
} ethernetSettings[QString("WPAConfigFile")] = QString("'") + ui->lineEdit_wpaConfig->text() + QString("'");
if (ui->spinBox_timeoutCarrier->value() != 5) ethernetSettings[QString("WPADriver")] = ui->comboBox_driver->currentText();
ethernetSettings[QString("TimeoutCarrier")] = QString(ui->spinBox_timeoutCarrier->value());
if (ui->spinBox_timeoutWpa->value() != 15)
ethernetSettings[QString("TimeoutWPA")] = QString(ui->spinBox_timeoutWpa->value());
} }
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; return ethernetSettings;
} }
@ -138,24 +139,26 @@ int EthernetWidget::isOk()
} }
void EthernetWidget::setSettings(QMap<QString, QString> settings) void EthernetWidget::setSettings(const QMap<QString, QString> settings)
{ {
if (settings.contains(QString("SkipNoCarrier"))) QMap<QString, QString> ethernetSettings = settings;
if (settings[QString("SkipNoCarrier")].remove(QString("'")) == QString("yes"))
if (ethernetSettings.contains(QString("SkipNoCarrier")))
if (ethernetSettings[QString("SkipNoCarrier")].remove(QString("'")) == QString("yes"))
ui->checkBox_skip->setCheckState(Qt::Checked); ui->checkBox_skip->setCheckState(Qt::Checked);
if (settings.contains(QString("Auth8021X"))) if (ethernetSettings.contains(QString("Auth8021X")))
if (settings[QString("Auth8021X")].remove(QString("'")) == QString("yes")) if (ethernetSettings[QString("Auth8021X")].remove(QString("'")) == QString("yes"))
ui->checkBox_8021x->setCheckState(Qt::Checked); ui->checkBox_8021x->setCheckState(Qt::Checked);
if (settings.contains(QString("WPAConfigFile"))) if (ethernetSettings.contains(QString("WPAConfigFile")))
ui->lineEdit_wpaConfig->setText(settings[QString("WPAConfigFile")].remove(QString("'"))); ui->lineEdit_wpaConfig->setText(ethernetSettings[QString("WPAConfigFile")].remove(QString("'")));
if (settings.contains(QString("WPADriver"))) if (ethernetSettings.contains(QString("WPADriver")))
for (int i=0; i<ui->comboBox_driver->count(); i++) for (int i=0; i<ui->comboBox_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); ui->comboBox_driver->setCurrentIndex(i);
if (settings.contains(QString("TimeoutCarrier"))) if (ethernetSettings.contains(QString("TimeoutCarrier")))
ui->spinBox_timeoutCarrier->setValue(settings[QString("TimeoutCarrier")].toInt()); ui->spinBox_timeoutCarrier->setValue(ethernetSettings[QString("TimeoutCarrier")].toInt());
if (settings.contains(QString("TimeoutWPA"))) if (ethernetSettings.contains(QString("TimeoutWPA")))
ui->spinBox_timeoutWpa->setValue(settings[QString("TimeoutWPA")].toInt()); ui->spinBox_timeoutWpa->setValue(ethernetSettings[QString("TimeoutWPA")].toInt());
showWpa(ui->checkBox_8021x->checkState()); showWpa(ui->checkBox_8021x->checkState());
} }

View File

@ -35,7 +35,7 @@ public:
~EthernetWidget(); ~EthernetWidget();
QMap<QString, QString> getSettings(); QMap<QString, QString> getSettings();
int isOk(); int isOk();
void setSettings(QMap<QString, QString> settings); void setSettings(const QMap<QString, QString> settings);
public slots: public slots:
void clear(); void clear();

View File

@ -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 (pressedKey->key() == Qt::Key_Delete) {
if (ui->listWidget_bindto->hasFocus() && if (ui->listWidget_bindto->hasFocus() &&
@ -125,31 +125,32 @@ QMap<QString, QString> GeneralWidget::getSettings()
{ {
QMap<QString, QString> generalSettings; QMap<QString, QString> generalSettings;
if (isOk() == 0) { if (isOk() != 0)
generalSettings[QString("Description")] = QString("'") + ui->lineEdit_description->text() + QString("'"); return generalSettings;
generalSettings[QString("Connection")] = ui->comboBox_connection->currentText();
generalSettings[QString("Interface")] = ui->comboBox_interface->currentText(); generalSettings[QString("Description")] = QString("'") + ui->lineEdit_description->text() + QString("'");
if (ui->listWidget_bindto->count() != 0) { generalSettings[QString("Connection")] = ui->comboBox_connection->currentText();
QStringList interfaces; generalSettings[QString("Interface")] = ui->comboBox_interface->currentText();
for (int i=0; i<ui->listWidget_bindto->count(); i++) if (ui->listWidget_bindto->count() != 0) {
interfaces.append(ui->listWidget_bindto->item(i)->text()); QStringList interfaces;
generalSettings[QString("BindsToInterfaces")] = interfaces.join(QString(" ")); for (int i=0; i<ui->listWidget_bindto->count(); i++)
} interfaces.append(ui->listWidget_bindto->item(i)->text());
if (ui->listWidget_after->count() != 0) { generalSettings[QString("BindsToInterfaces")] = interfaces.join(QString(" "));
QStringList profiles;
for (int i=0; i<ui->listWidget_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 (ui->listWidget_after->count() != 0) {
QStringList profiles;
for (int i=0; i<ui->listWidget_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; return generalSettings;
} }
@ -161,7 +162,7 @@ int GeneralWidget::isOk()
if ((ui->comboBox_connection->currentText() == QString("bond")) || if ((ui->comboBox_connection->currentText() == QString("bond")) ||
(ui->comboBox_connection->currentText() == QString("bridge"))) (ui->comboBox_connection->currentText() == QString("bridge")))
if (ui->listWidget_bindto->count() == 0) if (ui->listWidget_bindto->count() == 0)
return 1; return 1;
// empty description // empty description
if (ui->lineEdit_description->text().isEmpty()) if (ui->lineEdit_description->text().isEmpty())
return 2; return 2;
@ -170,30 +171,32 @@ int GeneralWidget::isOk()
} }
void GeneralWidget::setSettings(QMap<QString, QString> settings) void GeneralWidget::setSettings(const QMap<QString, QString> settings)
{ {
if (settings.contains(QString("Description"))) QMap<QString, QString> generalSettings = settings;
ui->lineEdit_description->setText(settings[QString("Description")].remove(QString("'")));
if (settings.contains(QString("Connection"))) if (generalSettings.contains(QString("Description")))
ui->lineEdit_description->setText(generalSettings[QString("Description")].remove(QString("'")));
if (generalSettings.contains(QString("Connection")))
for (int i=0; i<ui->comboBox_connection->count(); i++) for (int i=0; i<ui->comboBox_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); ui->comboBox_connection->setCurrentIndex(i);
if (settings.contains(QString("Interface"))) if (generalSettings.contains(QString("Interface")))
for (int i=0; i<ui->comboBox_interface->count(); i++) for (int i=0; i<ui->comboBox_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); ui->comboBox_interface->setCurrentIndex(i);
if (settings.contains(QString("BindsToInterfaces"))) if (generalSettings.contains(QString("BindsToInterfaces")))
ui->listWidget_bindto->addItems(settings[QString("BindsToInterfaces")].split(QString(" "))); ui->listWidget_bindto->addItems(generalSettings[QString("BindsToInterfaces")].split(QString(" ")));
if (settings.contains(QString("After"))) if (generalSettings.contains(QString("After")))
ui->listWidget_after->addItems(settings[QString("After")].split(QString(" "))); ui->listWidget_after->addItems(generalSettings[QString("After")].split(QString(" ")));
if (settings.contains(QString("ExecUpPost"))) if (generalSettings.contains(QString("ExecUpPost")))
ui->lineEdit_execUpPost->setText(settings[QString("ExecUpPost")].remove(QString("'"))); ui->lineEdit_execUpPost->setText(generalSettings[QString("ExecUpPost")].remove(QString("'")));
if (settings.contains(QString("ExecDownPre"))) if (generalSettings.contains(QString("ExecDownPre")))
ui->lineEdit_execDownPre->setText(settings[QString("ExecDownPre")].remove(QString("'"))); ui->lineEdit_execDownPre->setText(generalSettings[QString("ExecDownPre")].remove(QString("'")));
if (settings.contains(QString("ForceConnect"))) if (generalSettings.contains(QString("ForceConnect")))
if (settings[QString("ForceConnect")].remove(QString("'")) == QString("yes")) if (generalSettings[QString("ForceConnect")].remove(QString("'")) == QString("yes"))
ui->checkBox_forceConnect->setCheckState(Qt::Checked); ui->checkBox_forceConnect->setCheckState(Qt::Checked);
if (settings.contains(QString("NETCTL_DEBUG"))) if (generalSettings.contains(QString("NETCTL_DEBUG")))
if (settings[QString("NETCTL_DEBUG")].remove(QString("'")) == QString("yes")) if (generalSettings[QString("NETCTL_DEBUG")].remove(QString("'")) == QString("yes"))
ui->checkBox_debug->setCheckState(Qt::Checked); ui->checkBox_debug->setCheckState(Qt::Checked);
} }

View File

@ -39,7 +39,7 @@ public:
QComboBox *connectionType; QComboBox *connectionType;
QMap<QString, QString> getSettings(); QMap<QString, QString> getSettings();
int isOk(); int isOk();
void setSettings(QMap<QString, QString> settings); void setSettings(const QMap<QString, QString> settings);
public slots: public slots:
void clear(); void clear();
@ -55,7 +55,7 @@ private:
QDir *profileDirectory; QDir *profileDirectory;
Ui::GeneralWidget *ui; Ui::GeneralWidget *ui;
void createActions(); void createActions();
void keyPressEvent(QKeyEvent *pressedKey); void keyPressEvent(const QKeyEvent *pressedKey);
}; };

View File

@ -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 (pressedKey->key() == Qt::Key_Delete) {
if (ui->listWidget_ipAddress->hasFocus() && if (ui->listWidget_ipAddress->hasFocus() &&
@ -380,86 +380,87 @@ QMap<QString, QString> IpWidget::getSettings()
{ {
QMap<QString, QString> ipSettings; QMap<QString, QString> ipSettings;
if (isOk() == 0) { if (isOk() != 0)
if (ui->checkBox_ip->checkState() == Qt::Checked) { return ipSettings;
ipSettings[QString("IP")] = ui->comboBox_ip->currentText();
if (ui->comboBox_ip->currentText() == QString("static")) { if (ui->checkBox_ip->checkState() == Qt::Checked) {
QStringList addresses; ipSettings[QString("IP")] = ui->comboBox_ip->currentText();
for (int i=0; i<ui->listWidget_ipAddress->count(); i++) if (ui->comboBox_ip->currentText() == QString("static")) {
addresses.append(QString("'") + ui->listWidget_ipAddress->item(i)->text() + QString("'")); QStringList addresses;
ipSettings[QString("Address")] = addresses.join(QString(" ")); for (int i=0; i<ui->listWidget_ipAddress->count(); i++)
ipSettings[QString("Gateway")] = ui->lineEdit_gateway->text(); addresses.append(QString("'") + ui->listWidget_ipAddress->item(i)->text() + QString("'"));
} ipSettings[QString("Address")] = addresses.join(QString(" "));
if (ui->listWidget_ipRoutes->count() > 0) { ipSettings[QString("Gateway")] = ui->lineEdit_gateway->text();
QStringList routes;
for (int i=0; i<ui->listWidget_ipRoutes->count(); i++)
routes.append(QString("'") + ui->listWidget_ipRoutes->item(i)->text() + QString("'"));
ipSettings[QString("Routes")] = routes.join(QString(" "));
}
} }
else if (ui->listWidget_ipRoutes->count() > 0) {
ipSettings[QString("IP")] = QString("no"); QStringList routes;
if (ui->checkBox_ip6->checkState() == Qt::Checked) { for (int i=0; i<ui->listWidget_ipRoutes->count(); i++)
ipSettings[QString("IP6")] = ui->comboBox_ip6->currentText(); routes.append(QString("'") + ui->listWidget_ipRoutes->item(i)->text() + QString("'"));
if ((ui->comboBox_ip6->currentText() == QString("static")) || ipSettings[QString("Routes")] = routes.join(QString(" "));
(ui->comboBox_ip6->currentText() == QString("stateless"))) {
QStringList addresses;
for (int i=0; i<ui->listWidget_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; i<ui->listWidget_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"); else
if (ui->listWidget_custom->count() > 0) { ipSettings[QString("IP")] = QString("no");
QStringList custom; if (ui->checkBox_ip6->checkState() == Qt::Checked) {
for (int i=0; i<ui->listWidget_custom->count(); i++) ipSettings[QString("IP6")] = ui->comboBox_ip6->currentText();
custom.append(QString("'") + ui->listWidget_custom->item(i)->text() + QString("'")); if ((ui->comboBox_ip6->currentText() == QString("static")) ||
ipSettings[QString("IPCustom")] = custom.join(QString(" ")); (ui->comboBox_ip6->currentText() == QString("stateless"))) {
QStringList addresses;
for (int i=0; i<ui->listWidget_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()) if (ui->listWidget_ipRoutes6->count() > 0) {
ipSettings[QString("Hostname")] = QString("'") + ui->lineEdit_hostname->text() + QString("'"); QStringList routes;
if (ui->spinBox_timeoutDad->value() != 3) for (int i=0; i<ui->listWidget_ipRoutes6->count(); i++)
ipSettings[QString("TimeoutDAD")] = QString(ui->spinBox_timeoutDad->value()); routes.append(QString("'") + ui->listWidget_ipRoutes6->item(i)->text() + QString("'"));
if (ui->comboBox_dhcp->currentText() == QString("dhcpcd")) { ipSettings[QString("Routes6")] = routes.join(QString(" "));
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; i<ui->listWidget_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; i<ui->listWidget_dnsOptions->count(); i++)
dnsOpt.append(QString("'") + ui->listWidget_dnsOptions->item(i)->text() + QString("'"));
ipSettings[QString("DNSOptions")] = dnsOpt.join(QString(" "));
} }
} }
else
ipSettings[QString("IP6")] = QString("no");
if (ui->listWidget_custom->count() > 0) {
QStringList custom;
for (int i=0; i<ui->listWidget_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; i<ui->listWidget_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; i<ui->listWidget_dnsOptions->count(); i++)
dnsOpt.append(QString("'") + ui->listWidget_dnsOptions->item(i)->text() + QString("'"));
ipSettings[QString("DNSOptions")] = dnsOpt.join(QString(" "));
}
return ipSettings; return ipSettings;
} }
@ -485,69 +486,71 @@ int IpWidget::isOk()
} }
void IpWidget::setSettings(QMap<QString, QString> settings) void IpWidget::setSettings(const QMap<QString, QString> settings)
{ {
if (settings.contains(QString("IP"))) { QMap<QString, QString> ipSettings = settings;
if (settings[QString("IP")].remove(QString("'")) == QString("no"))
if (ipSettings.contains(QString("IP"))) {
if (ipSettings[QString("IP")].remove(QString("'")) == QString("no"))
ui->checkBox_ip->setCheckState(Qt::Unchecked); ui->checkBox_ip->setCheckState(Qt::Unchecked);
else { else {
ui->checkBox_ip->setCheckState(Qt::Checked); ui->checkBox_ip->setCheckState(Qt::Checked);
for (int i=0; i<ui->comboBox_ip->count(); i++) for (int i=0; i<ui->comboBox_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); ui->comboBox_ip->setCurrentIndex(i);
} }
} }
if (settings.contains(QString("Address"))) if (ipSettings.contains(QString("Address")))
ui->listWidget_ipAddress->addItems(settings[QString("Address")].remove(QString("'")).split(QString(" "))); ui->listWidget_ipAddress->addItems(ipSettings[QString("Address")].remove(QString("'")).split(QString(" ")));
if (settings.contains(QString("Gateway"))) if (ipSettings.contains(QString("Gateway")))
ui->lineEdit_gateway->setText(settings[QString("Gateway")].remove(QString("'"))); ui->lineEdit_gateway->setText(ipSettings[QString("Gateway")].remove(QString("'")));
if (settings.contains(QString("Routes"))) if (ipSettings.contains(QString("Routes")))
ui->listWidget_ipRoutes->addItems(settings[QString("Routes")].remove(QString("'")).split(QString(" "))); ui->listWidget_ipRoutes->addItems(ipSettings[QString("Routes")].remove(QString("'")).split(QString(" ")));
if (settings.contains(QString("IP6"))) { if (ipSettings.contains(QString("IP6"))) {
if (settings[QString("IP6")].remove(QString("'")) == QString("no")) if (ipSettings[QString("IP6")].remove(QString("'")) == QString("no"))
ui->checkBox_ip6->setCheckState(Qt::Unchecked); ui->checkBox_ip6->setCheckState(Qt::Unchecked);
else { else {
ui->checkBox_ip6->setCheckState(Qt::Checked); ui->checkBox_ip6->setCheckState(Qt::Checked);
for (int i=0; i<ui->comboBox_ip6->count(); i++) for (int i=0; i<ui->comboBox_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); ui->comboBox_ip6->setCurrentIndex(i);
} }
} }
if (settings.contains(QString("Address6"))) if (ipSettings.contains(QString("Address6")))
ui->listWidget_ipAddress6->addItems(settings[QString("Address6")].remove(QString("'")).split(QString(" "))); ui->listWidget_ipAddress6->addItems(ipSettings[QString("Address6")].remove(QString("'")).split(QString(" ")));
if (settings.contains(QString("Gateway6"))) if (ipSettings.contains(QString("Gateway6")))
ui->lineEdit_gateway6->setText(settings[QString("Gateway6")].remove(QString("'"))); ui->lineEdit_gateway6->setText(ipSettings[QString("Gateway6")].remove(QString("'")));
if (settings.contains(QString("Routes6"))) if (ipSettings.contains(QString("Routes6")))
ui->listWidget_ipRoutes6->addItems(settings[QString("Routes6")].remove(QString("'")).split(QString(" "))); ui->listWidget_ipRoutes6->addItems(ipSettings[QString("Routes6")].remove(QString("'")).split(QString(" ")));
if (settings.contains(QString("IPCustom"))) if (ipSettings.contains(QString("IPCustom")))
ui->listWidget_custom->addItems(settings[QString("IPCustom")].remove(QString("'")).split(QString(" "))); ui->listWidget_custom->addItems(ipSettings[QString("IPCustom")].remove(QString("'")).split(QString(" ")));
if (settings.contains(QString("Hostname"))) if (ipSettings.contains(QString("Hostname")))
ui->lineEdit_hostname->setText(settings[QString("Hostname")].remove(QString("'"))); ui->lineEdit_hostname->setText(ipSettings[QString("Hostname")].remove(QString("'")));
if (settings.contains(QString("TimeoutDAD"))) if (ipSettings.contains(QString("TimeoutDAD")))
ui->spinBox_timeoutDad->setValue(settings[QString("TimeoutDAD")].toInt()); ui->spinBox_timeoutDad->setValue(ipSettings[QString("TimeoutDAD")].toInt());
if (settings.contains(QString("DHCPClient"))) if (ipSettings.contains(QString("DHCPClient")))
for (int i=0; i<ui->comboBox_dhcp->count(); i++) for (int i=0; i<ui->comboBox_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); ui->comboBox_dhcp->setCurrentIndex(i);
if (settings.contains(QString("DhcpcdOptions"))) if (ipSettings.contains(QString("DhcpcdOptions")))
ui->lineEdit_dhcpcdOpt->setText(settings[QString("DhcpcdOptions")].remove(QString("'"))); ui->lineEdit_dhcpcdOpt->setText(ipSettings[QString("DhcpcdOptions")].remove(QString("'")));
if (settings.contains(QString("DhclientOptions"))) if (ipSettings.contains(QString("DhclientOptions")))
ui->lineEdit_dhclientOpt->setText(settings[QString("DhclientOptions")].remove(QString("'"))); ui->lineEdit_dhclientOpt->setText(ipSettings[QString("DhclientOptions")].remove(QString("'")));
if (settings.contains(QString("DhclientOptions6"))) if (ipSettings.contains(QString("DhclientOptions6")))
ui->lineEdit_dhclientOpt6->setText(settings[QString("DhclientOptions6")].remove(QString("'"))); ui->lineEdit_dhclientOpt6->setText(ipSettings[QString("DhclientOptions6")].remove(QString("'")));
if (settings.contains(QString("TimeoutDHCP"))) if (ipSettings.contains(QString("TimeoutDHCP")))
ui->spinBox_timeoutDhcp->setValue(settings[QString("TimeoutDHCP")].toInt()); ui->spinBox_timeoutDhcp->setValue(ipSettings[QString("TimeoutDHCP")].toInt());
if (settings.contains(QString("DHCPReleaseOnStop"))) if (ipSettings.contains(QString("DHCPReleaseOnStop")))
if (settings[QString("DHCPReleaseOnStop")].remove(QString("'")) == QString("yes")) if (ipSettings[QString("DHCPReleaseOnStop")].remove(QString("'")) == QString("yes"))
ui->checkBox_dhcp->setCheckState(Qt::Checked); ui->checkBox_dhcp->setCheckState(Qt::Checked);
if (settings.contains(QString("DNS"))) if (ipSettings.contains(QString("DNS")))
ui->listWidget_dns->addItems(settings[QString("DNS")].remove(QString("'")).split(QString(" "))); ui->listWidget_dns->addItems(ipSettings[QString("DNS")].remove(QString("'")).split(QString(" ")));
if (settings.contains(QString("DNSDomain"))) if (ipSettings.contains(QString("DNSDomain")))
ui->lineEdit_dnsDomain->setText(settings[QString("DNSDomain")].remove(QString("'"))); ui->lineEdit_dnsDomain->setText(ipSettings[QString("DNSDomain")].remove(QString("'")));
if (settings.contains(QString("DNSSearch"))) if (ipSettings.contains(QString("DNSSearch")))
ui->lineEdit_dnsSearch->setText(settings[QString("DNSSearch")].remove(QString("'"))); ui->lineEdit_dnsSearch->setText(ipSettings[QString("DNSSearch")].remove(QString("'")));
if (settings.contains(QString("DNSOptions"))) if (ipSettings.contains(QString("DNSOptions")))
ui->listWidget_dnsOptions->addItems(settings[QString("DNSOptions")].remove(QString("'")).split(QString(" "))); ui->listWidget_dnsOptions->addItems(ipSettings[QString("DNSOptions")].remove(QString("'")).split(QString(" ")));
ipEnable(ui->checkBox_ip->checkState()); ipEnable(ui->checkBox_ip->checkState());
changeIpMode(ui->comboBox_ip->currentText()); changeIpMode(ui->comboBox_ip->currentText());

View File

@ -34,7 +34,7 @@ public:
~IpWidget(); ~IpWidget();
QMap<QString, QString> getSettings(); QMap<QString, QString> getSettings();
int isOk(); int isOk();
void setSettings(QMap<QString, QString> settings); void setSettings(const QMap<QString, QString> settings);
public slots: public slots:
void clear(); void clear();
@ -63,7 +63,7 @@ private:
Ui::IpWidget *ui; Ui::IpWidget *ui;
void createActions(); void createActions();
void createFilter(); void createFilter();
void keyPressEvent(QKeyEvent *pressedKey); void keyPressEvent(const QKeyEvent *pressedKey);
QString getIp(const QString rawIp); QString getIp(const QString rawIp);
QString getPrefix(const QString rawPrefix); QString getPrefix(const QString rawPrefix);
QString getIp6(const QString rawIp); QString getIp6(const QString rawIp);

View File

@ -65,6 +65,8 @@ int main(int argc, char *argv[])
(argv[i][3] == 'a') && (argv[i][4] == 'b') && (argv[i][5] == '\0'))) { (argv[i][3] == 'a') && (argv[i][4] == 'b') && (argv[i][5] == '\0'))) {
if (atoi(argv[i+1]) > 3) if (atoi(argv[i+1]) > 3)
tabNumber = 3; tabNumber = 3;
else if (atoi(argv[i+1]) < 1)
tabNumber = 1;
else else
tabNumber = atoi(argv[i+1]); tabNumber = atoi(argv[i+1]);
i++; i++;

View File

@ -38,7 +38,6 @@
#include "vlanwidget.h" #include "vlanwidget.h"
#include "wpasupinteract.h" #include "wpasupinteract.h"
#include "wirelesswidget.h" #include "wirelesswidget.h"
#include <cstdio>
MainWindow::MainWindow(QWidget *parent, const bool defaultSettings, const int tabNum) MainWindow::MainWindow(QWidget *parent, const bool defaultSettings, const int tabNum)

View File

@ -101,26 +101,27 @@ QMap<QString, QString> MobileWidget::getSettings()
{ {
QMap<QString, QString> mobileSettings; QMap<QString, QString> mobileSettings;
if (isOk() == 0) { if (isOk() != 0)
if (!ui->lineEdit_username->text().isEmpty()) return mobileSettings;
mobileSettings[QString("User")] = QString("'") + ui->lineEdit_username->text() + QString("'");
if (!ui->lineEdit_password->text().isEmpty()) if (!ui->lineEdit_username->text().isEmpty())
mobileSettings[QString("Password")] = QString("'") + ui->lineEdit_password->text() + QString("'"); mobileSettings[QString("User")] = QString("'") + ui->lineEdit_username->text() + QString("'");
mobileSettings[QString("AccessPointName")] = ui->lineEdit_apn->text(); if (!ui->lineEdit_password->text().isEmpty())
if (!ui->lineEdit_pin->text().isEmpty()) mobileSettings[QString("Password")] = QString("'") + ui->lineEdit_password->text() + QString("'");
mobileSettings[QString("PIN")] = QString("'") + ui->lineEdit_pin->text() + QString("'"); mobileSettings[QString("AccessPointName")] = ui->lineEdit_apn->text();
else if (!ui->lineEdit_pin->text().isEmpty())
mobileSettings[QString("PIN")] = QString("None"); mobileSettings[QString("PIN")] = QString("'") + ui->lineEdit_pin->text() + QString("'");
mobileSettings[QString("Mode")] = ui->comboBox_mode->currentText(); else
if (ui->spinBox_fail->value() != 5) mobileSettings[QString("PIN")] = QString("None");
mobileSettings[QString("MaxFail")] = QString(ui->spinBox_fail->value()); mobileSettings[QString("Mode")] = ui->comboBox_mode->currentText();
if (ui->checkBox_route->checkState() == Qt::Unchecked) if (ui->spinBox_fail->value() != 5)
mobileSettings[QString("DefaultRoute")] = QString("false"); mobileSettings[QString("MaxFail")] = QString(ui->spinBox_fail->value());
if (ui->checkBox_dns->checkState() == Qt::Unchecked) if (ui->checkBox_route->checkState() == Qt::Unchecked)
mobileSettings[QString("UsePeerDNS")] = QString("false"); mobileSettings[QString("DefaultRoute")] = QString("false");
if (!ui->lineEdit_options->text().isEmpty()) if (ui->checkBox_dns->checkState() == Qt::Unchecked)
mobileSettings[QString("OptionsFile")] = QString("'") + ui->lineEdit_options->text() + QString("'"); mobileSettings[QString("UsePeerDNS")] = QString("false");
} if (!ui->lineEdit_options->text().isEmpty())
mobileSettings[QString("OptionsFile")] = QString("'") + ui->lineEdit_options->text() + QString("'");
return mobileSettings; return mobileSettings;
} }
@ -140,28 +141,30 @@ int MobileWidget::isOk()
} }
void MobileWidget::setSettings(QMap<QString, QString> settings) void MobileWidget::setSettings(const QMap<QString, QString> settings)
{ {
if (settings.contains(QString("User"))) QMap<QString, QString> mobileSettings = settings;
ui->lineEdit_username->setText(settings[QString("User")].remove(QString("'")));
if (settings.contains(QString("Password"))) if (mobileSettings.contains(QString("User")))
ui->lineEdit_password->setText(settings[QString("Password")].remove(QString("'"))); ui->lineEdit_username->setText(mobileSettings[QString("User")].remove(QString("'")));
if (settings.contains(QString("AccessPointName"))) if (mobileSettings.contains(QString("Password")))
ui->lineEdit_apn->setText(settings[QString("AccessPointName")].remove(QString("'"))); ui->lineEdit_password->setText(mobileSettings[QString("Password")].remove(QString("'")));
if (settings.contains(QString("PIN"))) if (mobileSettings.contains(QString("AccessPointName")))
ui->lineEdit_pin->setText(settings[QString("PIN")].remove(QString("'"))); ui->lineEdit_apn->setText(mobileSettings[QString("AccessPointName")].remove(QString("'")));
if (settings.contains(QString("Mode"))) if (mobileSettings.contains(QString("PIN")))
ui->lineEdit_pin->setText(mobileSettings[QString("PIN")].remove(QString("'")));
if (mobileSettings.contains(QString("Mode")))
for (int i=0; i<ui->comboBox_mode->count(); i++) for (int i=0; i<ui->comboBox_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); ui->comboBox_mode->setCurrentIndex(i);
if (settings.contains(QString("MaxFail"))) if (mobileSettings.contains(QString("MaxFail")))
ui->spinBox_fail->setValue(settings[QString("MaxFail")].toInt()); ui->spinBox_fail->setValue(mobileSettings[QString("MaxFail")].toInt());
if (settings.contains(QString("DefaultRoute"))) if (mobileSettings.contains(QString("DefaultRoute")))
if (settings[QString("DefaultRoute")].remove(QString("'")) == QString("false")) if (mobileSettings[QString("DefaultRoute")].remove(QString("'")) == QString("false"))
ui->checkBox_route->setCheckState(Qt::Unchecked); ui->checkBox_route->setCheckState(Qt::Unchecked);
if (settings.contains(QString("UsePeerDNS"))) if (mobileSettings.contains(QString("UsePeerDNS")))
if (settings[QString("UsePeerDNS")].remove(QString("'")) == QString("false")) if (mobileSettings[QString("UsePeerDNS")].remove(QString("'")) == QString("false"))
ui->checkBox_dns->setCheckState(Qt::Unchecked); ui->checkBox_dns->setCheckState(Qt::Unchecked);
if (settings.contains(QString("OptionsFile"))) if (mobileSettings.contains(QString("OptionsFile")))
ui->lineEdit_options->setText(settings[QString("OptionsFile")].remove(QString("'"))); ui->lineEdit_options->setText(mobileSettings[QString("OptionsFile")].remove(QString("'")));
} }

View File

@ -34,7 +34,7 @@ public:
~MobileWidget(); ~MobileWidget();
QMap<QString, QString> getSettings(); QMap<QString, QString> getSettings();
int isOk(); int isOk();
void setSettings(QMap<QString, QString> settings); void setSettings(const QMap<QString, QString> settings);
public slots: public slots:
void clear(); void clear();

View File

@ -23,7 +23,6 @@
#include <QTextStream> #include <QTextStream>
#include "mainwindow.h" #include "mainwindow.h"
#include <cstdio>
NetctlProfile::NetctlProfile(MainWindow *wid, QMap<QString, QString> settings) NetctlProfile::NetctlProfile(MainWindow *wid, QMap<QString, QString> settings)

View File

@ -42,7 +42,7 @@ PasswdWidget::~PasswdWidget()
// ESC press event // ESC press event
void PasswdWidget::keyPressEvent(QKeyEvent *pressedKey) void PasswdWidget::keyPressEvent(const QKeyEvent *pressedKey)
{ {
if (pressedKey->key() == Qt::Key_Escape) if (pressedKey->key() == Qt::Key_Escape)
cancel(); cancel();

View File

@ -50,7 +50,7 @@ private:
QPushButton *cancelButton; QPushButton *cancelButton;
QPushButton *okButton; QPushButton *okButton;
// ESC pressed event // ESC pressed event
void keyPressEvent(QKeyEvent *pressedKey); void keyPressEvent(const QKeyEvent *pressedKey);
void createActions(); void createActions();
}; };

View File

@ -129,39 +129,40 @@ QMap<QString, QString> PppoeWidget::getSettings()
{ {
QMap<QString, QString> pppoeSettings; QMap<QString, QString> pppoeSettings;
if (isOk() == 0) { if (isOk() != 0)
if (!ui->lineEdit_username->text().isEmpty()) return pppoeSettings;
pppoeSettings[QString("User")] = QString("'") + ui->lineEdit_username->text() + QString("'");
if (!ui->lineEdit_password->text().isEmpty()) if (!ui->lineEdit_username->text().isEmpty())
pppoeSettings[QString("Password")] = QString("'") + ui->lineEdit_password->text() + QString("'"); pppoeSettings[QString("User")] = QString("'") + ui->lineEdit_username->text() + QString("'");
pppoeSettings[QString("ConnectionMode")] = QString("'") + ui->comboBox_connection->currentText() + QString("'"); if (!ui->lineEdit_password->text().isEmpty())
if (ui->comboBox_connection->currentText() == QString("demand")) pppoeSettings[QString("Password")] = QString("'") + ui->lineEdit_password->text() + QString("'");
pppoeSettings[QString("IdleTimeout")] = QString(ui->spinBox_timeout->value()); pppoeSettings[QString("ConnectionMode")] = QString("'") + ui->comboBox_connection->currentText() + QString("'");
if (ui->spinBox_fail->value() != 5) if (ui->comboBox_connection->currentText() == QString("demand"))
pppoeSettings[QString("MaxFail")] = QString(ui->spinBox_fail->value()); pppoeSettings[QString("IdleTimeout")] = QString(ui->spinBox_timeout->value());
if (ui->checkBox_route->checkState() == Qt::Unchecked) if (ui->spinBox_fail->value() != 5)
pppoeSettings[QString("DefaultRoute")] = QString("false"); pppoeSettings[QString("MaxFail")] = QString(ui->spinBox_fail->value());
if (ui->checkBox_dns->checkState() == Qt::Unchecked) if (ui->checkBox_route->checkState() == Qt::Unchecked)
pppoeSettings[QString("UsePeerDNS")] = QString("false"); pppoeSettings[QString("DefaultRoute")] = QString("false");
if (!ui->lineEdit_unit->text().isEmpty()) if (ui->checkBox_dns->checkState() == Qt::Unchecked)
pppoeSettings[QString("PPPUnit")] = ui->lineEdit_unit->text(); pppoeSettings[QString("UsePeerDNS")] = QString("false");
if (ui->spinBox_lcpInterval->value() != 30) if (!ui->lineEdit_unit->text().isEmpty())
pppoeSettings[QString("LCPEchoInterval")] = QString(ui->spinBox_lcpInterval->value()); pppoeSettings[QString("PPPUnit")] = ui->lineEdit_unit->text();
if (ui->spinBox_lcpFailure->value() != 4) if (ui->spinBox_lcpInterval->value() != 30)
pppoeSettings[QString("LCPEchoFailure")] = QString(ui->spinBox_lcpFailure->value()); pppoeSettings[QString("LCPEchoInterval")] = QString(ui->spinBox_lcpInterval->value());
if (!ui->lineEdit_options->text().isEmpty()) if (ui->spinBox_lcpFailure->value() != 4)
pppoeSettings[QString("OptionsFile")] = QString("'") + ui->lineEdit_options->text() + QString("'"); pppoeSettings[QString("LCPEchoFailure")] = QString(ui->spinBox_lcpFailure->value());
if (!ui->lineEdit_service->text().isEmpty()) if (!ui->lineEdit_options->text().isEmpty())
pppoeSettings[QString("PPPoEService")] = QString("'") + ui->lineEdit_service->text() + QString("'"); pppoeSettings[QString("OptionsFile")] = QString("'") + ui->lineEdit_options->text() + QString("'");
if (!ui->lineEdit_ac->text().isEmpty()) if (!ui->lineEdit_service->text().isEmpty())
pppoeSettings[QString("PPPoEAC")] = QString("'") + ui->lineEdit_ac->text() + QString("'"); pppoeSettings[QString("PPPoEService")] = QString("'") + ui->lineEdit_service->text() + QString("'");
if (!ui->lineEdit_session->text().split(QString(":")).join(QString("")).remove(QString(" ")).isEmpty()) if (!ui->lineEdit_ac->text().isEmpty())
pppoeSettings[QString("PPPoESession")] = QString("'") + ui->lineEdit_session->text().remove(QString(" ")) + QString("'"); pppoeSettings[QString("PPPoEAC")] = QString("'") + ui->lineEdit_ac->text() + QString("'");
if (!ui->lineEdit_mac->text().split(QString(":")).join(QString("")).remove(QString(" ")).isEmpty()) if (!ui->lineEdit_session->text().split(QString(":")).join(QString("")).remove(QString(" ")).isEmpty())
pppoeSettings[QString("PPPoEMAC")] = QString("'") + ui->lineEdit_mac->text() + QString("'"); pppoeSettings[QString("PPPoESession")] = QString("'") + ui->lineEdit_session->text().remove(QString(" ")) + QString("'");
if (ui->checkBox_ipv6->checkState() == Qt::Checked) if (!ui->lineEdit_mac->text().split(QString(":")).join(QString("")).remove(QString(" ")).isEmpty())
pppoeSettings[QString("PPPoEIP6")] = QString("yes"); pppoeSettings[QString("PPPoEMAC")] = QString("'") + ui->lineEdit_mac->text() + QString("'");
} if (ui->checkBox_ipv6->checkState() == Qt::Checked)
pppoeSettings[QString("PPPoEIP6")] = QString("yes");
return pppoeSettings; return pppoeSettings;
} }
@ -193,44 +194,46 @@ int PppoeWidget::isOk()
} }
void PppoeWidget::setSettings(QMap<QString, QString> settings) void PppoeWidget::setSettings(const QMap<QString, QString> settings)
{ {
if (settings.contains(QString("User"))) QMap<QString, QString> pppoeSettings = settings;
ui->lineEdit_username->setText(settings[QString("User")].remove(QString("'")));
if (settings.contains(QString("Password"))) if (pppoeSettings.contains(QString("User")))
ui->lineEdit_password->setText(settings[QString("Password")].remove(QString("'"))); ui->lineEdit_username->setText(pppoeSettings[QString("User")].remove(QString("'")));
if (settings.contains(QString("ConnectionMode"))) if (pppoeSettings.contains(QString("Password")))
ui->lineEdit_password->setText(pppoeSettings[QString("Password")].remove(QString("'")));
if (pppoeSettings.contains(QString("ConnectionMode")))
for (int i=0; i<ui->comboBox_connection->count(); i++) for (int i=0; i<ui->comboBox_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); ui->comboBox_connection->setCurrentIndex(i);
if (settings.contains(QString("IdleTimeout"))) if (pppoeSettings.contains(QString("IdleTimeout")))
ui->spinBox_timeout->setValue(settings[QString("IdleTimeout")].toInt()); ui->spinBox_timeout->setValue(pppoeSettings[QString("IdleTimeout")].toInt());
if (settings.contains(QString("MaxFail"))) if (pppoeSettings.contains(QString("MaxFail")))
ui->spinBox_fail->setValue(settings[QString("MaxFail")].toInt()); ui->spinBox_fail->setValue(pppoeSettings[QString("MaxFail")].toInt());
if (settings.contains(QString("DefaultRoute"))) if (pppoeSettings.contains(QString("DefaultRoute")))
if (settings[QString("DefaultRoute")].remove(QString("'")) == QString("false")) if (pppoeSettings[QString("DefaultRoute")].remove(QString("'")) == QString("false"))
ui->checkBox_route->setCheckState(Qt::Unchecked); ui->checkBox_route->setCheckState(Qt::Unchecked);
if (settings.contains(QString("UsePeerDNS"))) if (pppoeSettings.contains(QString("UsePeerDNS")))
if (settings[QString("UsePeerDNS")].remove(QString("'")) == QString("false")) if (pppoeSettings[QString("UsePeerDNS")].remove(QString("'")) == QString("false"))
ui->checkBox_dns->setCheckState(Qt::Unchecked); ui->checkBox_dns->setCheckState(Qt::Unchecked);
if (settings.contains(QString("PPPUnit"))) if (pppoeSettings.contains(QString("PPPUnit")))
ui->lineEdit_unit->setText(settings[QString("PPPUnit")]); ui->lineEdit_unit->setText(pppoeSettings[QString("PPPUnit")]);
if (settings.contains(QString("LCPEchoInterval"))) if (pppoeSettings.contains(QString("LCPEchoInterval")))
ui->spinBox_lcpInterval->setValue(settings[QString("LCPEchoInterval")].toInt()); ui->spinBox_lcpInterval->setValue(pppoeSettings[QString("LCPEchoInterval")].toInt());
if (settings.contains(QString("LCPEchoFailure"))) if (pppoeSettings.contains(QString("LCPEchoFailure")))
ui->spinBox_lcpFailure->setValue(settings[QString("LCPEchoFailure")].toInt()); ui->spinBox_lcpFailure->setValue(pppoeSettings[QString("LCPEchoFailure")].toInt());
if (settings.contains(QString("OptionsFile"))) if (pppoeSettings.contains(QString("OptionsFile")))
ui->lineEdit_options->setText(settings[QString("OptionsFile")].remove(QString("'"))); ui->lineEdit_options->setText(pppoeSettings[QString("OptionsFile")].remove(QString("'")));
if (settings.contains(QString("PPPoEService"))) if (pppoeSettings.contains(QString("PPPoEService")))
ui->lineEdit_service->setText(settings[QString("PPPoEService")].remove(QString("'"))); ui->lineEdit_service->setText(pppoeSettings[QString("PPPoEService")].remove(QString("'")));
if (settings.contains(QString("PPPoEAC"))) if (pppoeSettings.contains(QString("PPPoEAC")))
ui->lineEdit_ac->setText(settings[QString("PPPoEAC")].remove(QString("'"))); ui->lineEdit_ac->setText(pppoeSettings[QString("PPPoEAC")].remove(QString("'")));
if (settings.contains(QString("PPPoESession"))) if (pppoeSettings.contains(QString("PPPoESession")))
ui->lineEdit_session->setText(settings[QString("PPPoESession")].remove(QString("'"))); ui->lineEdit_session->setText(pppoeSettings[QString("PPPoESession")].remove(QString("'")));
if (settings.contains(QString("PPPoEMAC"))) if (pppoeSettings.contains(QString("PPPoEMAC")))
ui->lineEdit_mac->setText(settings[QString("PPPoEMAC")].remove(QString("'"))); ui->lineEdit_mac->setText(pppoeSettings[QString("PPPoEMAC")].remove(QString("'")));
if (settings.contains(QString("PPPoEIP6"))) if (pppoeSettings.contains(QString("PPPoEIP6")))
if (settings[QString("PPPoEIP6")] == QString("yes")) if (pppoeSettings[QString("PPPoEIP6")] == QString("yes"))
ui->checkBox_dns->setCheckState(Qt::Checked); ui->checkBox_dns->setCheckState(Qt::Checked);
changeMode(ui->comboBox_connection->currentText()); changeMode(ui->comboBox_connection->currentText());

View File

@ -34,7 +34,7 @@ public:
~PppoeWidget(); ~PppoeWidget();
QMap<QString, QString> getSettings(); QMap<QString, QString> getSettings();
int isOk(); int isOk();
void setSettings(QMap<QString, QString> settings); void setSettings(const QMap<QString, QString> settings);
public slots: public slots:
void clear(); void clear();

View File

@ -23,7 +23,6 @@
#include <QTextStream> #include <QTextStream>
#include "mainwindow.h" #include "mainwindow.h"
#include <cstdio>
SettingsWindow::SettingsWindow(MainWindow *wid, QString configFile) SettingsWindow::SettingsWindow(MainWindow *wid, QString configFile)
@ -33,20 +32,13 @@ SettingsWindow::SettingsWindow(MainWindow *wid, QString configFile)
ui(new Ui::SettingsWindow) ui(new Ui::SettingsWindow)
{ {
ui->setupUi(this); ui->setupUi(this);
cancelButton = ui->buttonBox->button(QDialogButtonBox::Cancel); addLanguages();
defaultButton = ui->buttonBox->button(QDialogButtonBox::Reset);
okButton = ui->buttonBox->button(QDialogButtonBox::Ok);
ui->comboBox_language->addItem(QString("english"));
ui->comboBox_language->addItem(QString("russian"));
createActions(); createActions();
} }
SettingsWindow::~SettingsWindow() SettingsWindow::~SettingsWindow()
{ {
delete cancelButton;
delete defaultButton;
delete okButton;
delete ui; delete ui;
} }
@ -54,10 +46,10 @@ SettingsWindow::~SettingsWindow()
void SettingsWindow::createActions() void SettingsWindow::createActions()
{ {
connect(ui->comboBox_language, SIGNAL(currentIndexChanged(int)), ui->label_info, SLOT(show())); connect(ui->comboBox_language, SIGNAL(currentIndexChanged(int)), ui->label_info, SLOT(show()));
connect(cancelButton, SIGNAL(clicked(bool)), this, SLOT(close())); connect(ui->buttonBox->button(QDialogButtonBox::Cancel), SIGNAL(clicked(bool)), this, SLOT(close()));
connect(defaultButton, SIGNAL(clicked(bool)), this, SLOT(setDefault())); connect(ui->buttonBox->button(QDialogButtonBox::Reset), SIGNAL(clicked(bool)), this, SLOT(setDefault()));
connect(okButton, SIGNAL(clicked(bool)), this, SLOT(saveSettings())); connect(ui->buttonBox->button(QDialogButtonBox::Ok), SIGNAL(clicked(bool)), this, SLOT(saveSettings()));
connect(okButton, SIGNAL(clicked(bool)), this, SLOT(close())); connect(ui->buttonBox->button(QDialogButtonBox::Ok), SIGNAL(clicked(bool)), this, SLOT(close()));
// buttons // buttons
connect(ui->pushButton_interfaceDir, SIGNAL(clicked(bool)), SLOT(selectIfaceDir())); connect(ui->pushButton_interfaceDir, SIGNAL(clicked(bool)), SLOT(selectIfaceDir()));
connect(ui->pushButton_netctlPath, SIGNAL(clicked(bool)), SLOT(selectNetctlPath())); connect(ui->pushButton_netctlPath, SIGNAL(clicked(bool)), SLOT(selectNetctlPath()));
@ -70,13 +62,20 @@ void SettingsWindow::createActions()
// ESC press event // ESC press event
void SettingsWindow::keyPressEvent(QKeyEvent *pressedKey) void SettingsWindow::keyPressEvent(const QKeyEvent *pressedKey)
{ {
if (pressedKey->key() == Qt::Key_Escape) if (pressedKey->key() == Qt::Key_Escape)
close(); close();
} }
void SettingsWindow::addLanguages()
{
ui->comboBox_language->addItem(QString("english"));
ui->comboBox_language->addItem(QString("russian"));
}
void SettingsWindow::saveSettings() void SettingsWindow::saveSettings()
{ {
QMap<QString, QString> settings = readSettings(); QMap<QString, QString> settings = readSettings();
@ -209,7 +208,7 @@ QMap<QString, QString> SettingsWindow::readSettings()
} }
void SettingsWindow::setSettings(QMap<QString, QString> settings) void SettingsWindow::setSettings(const QMap<QString, QString> settings)
{ {
ui->lineEdit_wpaDir->setText(settings[QString("CTRL_DIR")]); ui->lineEdit_wpaDir->setText(settings[QString("CTRL_DIR")]);
ui->lineEdit_wpaGroup->setText(settings[QString("CTRL_GROUP")]); ui->lineEdit_wpaGroup->setText(settings[QString("CTRL_GROUP")]);

View File

@ -20,7 +20,6 @@
#include <QKeyEvent> #include <QKeyEvent>
#include <QMainWindow> #include <QMainWindow>
#include <QPushButton>
class MainWindow; class MainWindow;
@ -45,6 +44,7 @@ public slots:
void showWindow(); void showWindow();
private slots: private slots:
void addLanguages();
void saveSettings(); void saveSettings();
// buttons // buttons
void selectIfaceDir(); void selectIfaceDir();
@ -59,14 +59,11 @@ private:
MainWindow *parent; MainWindow *parent;
QString file; QString file;
Ui::SettingsWindow *ui; Ui::SettingsWindow *ui;
QPushButton *cancelButton;
QPushButton *defaultButton;
QPushButton *okButton;
void createActions(); void createActions();
// ESC pressed event // ESC pressed event
void keyPressEvent(QKeyEvent *pressedKey); void keyPressEvent(const QKeyEvent *pressedKey);
QMap<QString, QString> readSettings(); QMap<QString, QString> readSettings();
void setSettings(QMap<QString, QString> settings); void setSettings(const QMap<QString, QString> settings);
}; };

View File

@ -87,13 +87,14 @@ QMap<QString, QString> TunnelWidget::getSettings()
{ {
QMap<QString, QString> tunnelSettings; QMap<QString, QString> tunnelSettings;
if (isOk() == 0) { if (isOk() != 0)
tunnelSettings[QString("Mode")] = QString("'") + ui->comboBox_mode->currentText() + QString("'"); return tunnelSettings;
if (!ui->lineEdit_local->text().split(QString(".")).join(QString("")).remove(QString(" ")).isEmpty())
tunnelSettings[QString("Local")] = QString("'") + getIp(ui->lineEdit_local->text().remove(QString(" "))) + QString("'"); tunnelSettings[QString("Mode")] = QString("'") + ui->comboBox_mode->currentText() + QString("'");
if (!ui->lineEdit_remote->text().split(QString(".")).join(QString("")).remove(QString(" ")).isEmpty()) if (!ui->lineEdit_local->text().split(QString(".")).join(QString("")).remove(QString(" ")).isEmpty())
tunnelSettings[QString("Remote")] = QString("'") + getIp(ui->lineEdit_remote->text().remove(QString(" "))) + QString("'"); 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; return tunnelSettings;
} }
@ -106,14 +107,16 @@ int TunnelWidget::isOk()
} }
void TunnelWidget::setSettings(QMap<QString, QString> settings) void TunnelWidget::setSettings(const QMap<QString, QString> settings)
{ {
if (settings.contains(QString("Mode"))) QMap<QString, QString> tunnelSettings = settings;
if (tunnelSettings.contains(QString("Mode")))
for (int i=0; i<ui->comboBox_mode->count(); i++) for (int i=0; i<ui->comboBox_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); ui->comboBox_mode->setCurrentIndex(i);
if (settings.contains(QString("Local"))) if (tunnelSettings.contains(QString("Local")))
ui->lineEdit_local->setText(settings[QString("Local")].remove(QString("'"))); ui->lineEdit_local->setText(tunnelSettings[QString("Local")].remove(QString("'")));
if (settings.contains(QString("Remote"))) if (tunnelSettings.contains(QString("Remote")))
ui->lineEdit_remote->setText(settings[QString("Remote")].remove(QString("'"))); ui->lineEdit_remote->setText(tunnelSettings[QString("Remote")].remove(QString("'")));
} }

View File

@ -34,7 +34,7 @@ public:
~TunnelWidget(); ~TunnelWidget();
QMap<QString, QString> getSettings(); QMap<QString, QString> getSettings();
int isOk(); int isOk();
void setSettings(QMap<QString, QString> settings); void setSettings(const QMap<QString, QString> settings);
public slots: public slots:
void clear(); void clear();

View File

@ -55,11 +55,12 @@ QMap<QString, QString> TuntapWidget::getSettings()
{ {
QMap<QString, QString> tuntapSettings; QMap<QString, QString> tuntapSettings;
if (isOk() == 0) { if (isOk() != 0)
tuntapSettings[QString("Mode")] = QString("'") + ui->comboBox_mode->currentText() + QString("'"); return tuntapSettings;
tuntapSettings[QString("User")] = QString("'") + ui->lineEdit_user->text() + QString("'");
tuntapSettings[QString("Group")] = QString("'") + ui->lineEdit_group->text() + QString("'"); 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; return tuntapSettings;
} }
@ -78,14 +79,16 @@ int TuntapWidget::isOk()
} }
void TuntapWidget::setSettings(QMap<QString, QString> settings) void TuntapWidget::setSettings(const QMap<QString, QString> settings)
{ {
if (settings.contains(QString("Mode"))) QMap<QString, QString> tuntapSettings = settings;
if (tuntapSettings.contains(QString("Mode")))
for (int i=0; i<ui->comboBox_mode->count(); i++) for (int i=0; i<ui->comboBox_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); ui->comboBox_mode->setCurrentIndex(i);
if (settings.contains(QString("User"))) if (tuntapSettings.contains(QString("User")))
ui->lineEdit_user->setText(settings[QString("User")].remove(QString("'"))); ui->lineEdit_user->setText(tuntapSettings[QString("User")].remove(QString("'")));
if (settings.contains(QString("Group"))) if (tuntapSettings.contains(QString("Group")))
ui->lineEdit_group->setText(settings[QString("Group")].remove(QString("'"))); ui->lineEdit_group->setText(tuntapSettings[QString("Group")].remove(QString("'")));
} }

View File

@ -34,7 +34,7 @@ public:
~TuntapWidget(); ~TuntapWidget();
QMap<QString, QString> getSettings(); QMap<QString, QString> getSettings();
int isOk(); int isOk();
void setSettings(QMap<QString, QString> settings); void setSettings(const QMap<QString, QString> settings);
public slots: public slots:
void clear(); void clear();

View File

@ -53,9 +53,10 @@ QMap<QString, QString> VlanWidget::getSettings()
{ {
QMap<QString, QString> vlanSettings; QMap<QString, QString> vlanSettings;
if (isOk() == 0) { if (isOk() != 0)
vlanSettings[QString("VLANID")] = QString(ui->spinBox_vlan->value()); return vlanSettings;
}
vlanSettings[QString("VLANID")] = QString(ui->spinBox_vlan->value());
return vlanSettings; return vlanSettings;
} }
@ -68,8 +69,10 @@ int VlanWidget::isOk()
} }
void VlanWidget::setSettings(QMap<QString, QString> settings) void VlanWidget::setSettings(const QMap<QString, QString> settings)
{ {
if (settings.contains(QString("VLANID"))) QMap<QString, QString> vlanSettings = settings;
ui->spinBox_vlan->setValue(settings[QString("VLANID")].toInt());
if (vlanSettings.contains(QString("VLANID")))
ui->spinBox_vlan->setValue(vlanSettings[QString("VLANID")].toInt());
} }

View File

@ -34,7 +34,7 @@ public:
~VlanWidget(); ~VlanWidget();
QMap<QString, QString> getSettings(); QMap<QString, QString> getSettings();
int isOk(); int isOk();
void setSettings(QMap<QString, QString> settings); void setSettings(const QMap<QString, QString> settings);
public slots: public slots:
void clear(); void clear();

View File

@ -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 (pressedKey->key() == Qt::Key_Delete) {
if (ui->listWidget_wpaConfigSection->hasFocus() && if (ui->listWidget_wpaConfigSection->hasFocus() &&
@ -111,10 +111,10 @@ void WirelessWidget::keyPressEvent(QKeyEvent *pressedKey)
delete ui->listWidget_wpaConfigSection->currentItem(); delete ui->listWidget_wpaConfigSection->currentItem();
else if (ui->listWidget_freq->hasFocus() && else if (ui->listWidget_freq->hasFocus() &&
(ui->listWidget_freq->currentItem() != 0)) (ui->listWidget_freq->currentItem() != 0))
delete ui->listWidget_freq->currentItem(); delete ui->listWidget_freq->currentItem();
else if (ui->listWidget_drivers->hasFocus() && else if (ui->listWidget_drivers->hasFocus() &&
(ui->listWidget_drivers->currentItem() != 0)) (ui->listWidget_drivers->currentItem() != 0))
delete ui->listWidget_drivers->currentItem(); delete ui->listWidget_drivers->currentItem();
} }
} }
@ -209,49 +209,50 @@ QMap<QString, QString> WirelessWidget::getSettings()
{ {
QMap<QString, QString> wirelessSettings; QMap<QString, QString> wirelessSettings;
if (isOk() == 0) { if (isOk() != 0)
wirelessSettings[QString("Security")] = ui->comboBox_security->currentText(); return wirelessSettings;
wirelessSettings[QString("ESSID")] = QString("'") + ui->lineEdit_essid->text() + QString("'");
if ((ui->comboBox_security->currentText() == QString("wep")) || wirelessSettings[QString("Security")] = ui->comboBox_security->currentText();
(ui->comboBox_security->currentText() == QString("wpa"))) wirelessSettings[QString("ESSID")] = QString("'") + ui->lineEdit_essid->text() + QString("'");
wirelessSettings[QString("Key")] = QString("'") + ui->lineEdit_key->text() + QString("'"); if ((ui->comboBox_security->currentText() == QString("wep")) ||
if (ui->comboBox_security->currentText() == QString("wpa-configsection")) { (ui->comboBox_security->currentText() == QString("wpa")))
QStringList section; wirelessSettings[QString("Key")] = QString("'") + ui->lineEdit_key->text() + QString("'");
for (int i=0; i<ui->listWidget_wpaConfigSection->count(); i++) if (ui->comboBox_security->currentText() == QString("wpa-configsection")) {
section.append(QString("'") + ui->listWidget_wpaConfigSection->item(i)->text() + QString("'")); QStringList section;
wirelessSettings[QString("WPAConfigSection")] = QString("\n") + section.join(QString("\n")) + QString("\n"); for (int i=0; i<ui->listWidget_wpaConfigSection->count(); i++)
} section.append(QString("'") + ui->listWidget_wpaConfigSection->item(i)->text() + QString("'"));
if (ui->comboBox_security->currentText() == QString("wpa-config")) wirelessSettings[QString("WPAConfigSection")] = QString("\n") + section.join(QString("\n")) + QString("\n");
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; i<ui->listWidget_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; i<ui->listWidget_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 (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; i<ui->listWidget_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; i<ui->listWidget_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; return wirelessSettings;
} }
@ -288,44 +289,46 @@ int WirelessWidget::isOk()
} }
void WirelessWidget::setSettings(QMap<QString, QString> settings) void WirelessWidget::setSettings(const QMap<QString, QString> settings)
{ {
if (settings.contains(QString("Security"))) QMap<QString, QString> wirelessSettings = settings;
if (wirelessSettings.contains(QString("Security")))
for (int i=0; i<ui->comboBox_security->count(); i++) for (int i=0; i<ui->comboBox_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); ui->comboBox_security->setCurrentIndex(i);
if (settings.contains(QString("ESSID"))) if (wirelessSettings.contains(QString("ESSID")))
ui->lineEdit_essid->setText(settings[QString("ESSID")].remove(QString("'"))); ui->lineEdit_essid->setText(wirelessSettings[QString("ESSID")].remove(QString("'")));
if (settings.contains(QString("Key"))) if (wirelessSettings.contains(QString("Key")))
ui->lineEdit_key->setText(settings[QString("Key")].remove(QString("'"))); ui->lineEdit_key->setText(wirelessSettings[QString("Key")].remove(QString("'")));
if (settings.contains(QString("WPAConfigSection"))) if (wirelessSettings.contains(QString("WPAConfigSection")))
ui->listWidget_wpaConfigSection->addItems(settings[QString("WPAConfigSection")].split(QString("\n"))); ui->listWidget_wpaConfigSection->addItems(wirelessSettings[QString("WPAConfigSection")].split(QString("\n")));
if (settings.contains(QString("WPAConfigFile"))) if (wirelessSettings.contains(QString("WPAConfigFile")))
ui->lineEdit_wpaConfig->setText(settings[QString("WPAConfigFile")].remove(QString("'"))); ui->lineEdit_wpaConfig->setText(wirelessSettings[QString("WPAConfigFile")].remove(QString("'")));
if (settings.contains(QString("Hidden"))) if (wirelessSettings.contains(QString("Hidden")))
if (settings[QString("Hidden")].remove(QString("'")) == QString("yes")) if (wirelessSettings[QString("Hidden")].remove(QString("'")) == QString("yes"))
ui->checkBox_hidden->setCheckState(Qt::Checked); ui->checkBox_hidden->setCheckState(Qt::Checked);
if (settings.contains(QString("AdHoc"))) if (wirelessSettings.contains(QString("AdHoc")))
if (settings[QString("AdHoc")].remove(QString("'")) == QString("yes")) if (wirelessSettings[QString("AdHoc")].remove(QString("'")) == QString("yes"))
ui->checkBox_adhoc->setCheckState(Qt::Checked); ui->checkBox_adhoc->setCheckState(Qt::Checked);
if (settings.contains(QString("ScanFrequencies"))) if (wirelessSettings.contains(QString("ScanFrequencies")))
ui->listWidget_freq->addItems(settings[QString("ScanFrequencies")].split(QString("\n"))); ui->listWidget_freq->addItems(wirelessSettings[QString("ScanFrequencies")].split(QString("\n")));
if (settings.contains(QString("Priority"))) if (wirelessSettings.contains(QString("Priority")))
ui->spinBox_priority->setValue(settings[QString("Priority")].toInt()); ui->spinBox_priority->setValue(wirelessSettings[QString("Priority")].toInt());
if (settings.contains(QString("Country"))) if (wirelessSettings.contains(QString("Country")))
ui->lineEdit_country->setText(settings[QString("Country")].remove(QString("'"))); ui->lineEdit_country->setText(wirelessSettings[QString("Country")].remove(QString("'")));
if (settings.contains(QString("WPAGroup"))) if (wirelessSettings.contains(QString("WPAGroup")))
ui->lineEdit_wpaGroup->setText(settings[QString("WPAGroup")].remove(QString("'"))); ui->lineEdit_wpaGroup->setText(wirelessSettings[QString("WPAGroup")].remove(QString("'")));
if (settings.contains(QString("WPADriver"))) if (wirelessSettings.contains(QString("WPADriver")))
ui->listWidget_drivers->addItems(settings[QString("WPADriver")].split(QString(","))); ui->listWidget_drivers->addItems(wirelessSettings[QString("WPADriver")].split(QString(",")));
if (settings.contains(QString("RFKill"))) if (wirelessSettings.contains(QString("RFKill")))
for (int i=0; i<ui->comboBox_rfkill->count(); i++) for (int i=0; i<ui->comboBox_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); ui->comboBox_rfkill->setCurrentIndex(i);
if (settings.contains(QString("TimeoutWPA"))) if (wirelessSettings.contains(QString("TimeoutWPA")))
ui->spinBox_timeoutWpa->setValue(settings[QString("TimeoutWPA")].toInt()); ui->spinBox_timeoutWpa->setValue(wirelessSettings[QString("TimeoutWPA")].toInt());
if (settings.contains(QString("ExcludeAuto"))) if (wirelessSettings.contains(QString("ExcludeAuto")))
if (settings[QString("ExcludeAuto")].remove(QString("'")) == QString("yes")) if (wirelessSettings[QString("ExcludeAuto")].remove(QString("'")) == QString("yes"))
ui->checkBox_exclude->setCheckState(Qt::Checked); ui->checkBox_exclude->setCheckState(Qt::Checked);
changeSecurity(ui->comboBox_security->currentText()); changeSecurity(ui->comboBox_security->currentText());

View File

@ -37,7 +37,7 @@ public:
~WirelessWidget(); ~WirelessWidget();
QMap<QString, QString> getSettings(); QMap<QString, QString> getSettings();
int isOk(); int isOk();
void setSettings(QMap<QString, QString> settings); void setSettings(const QMap<QString, QString> settings);
public slots: public slots:
void clear(); void clear();
@ -55,7 +55,7 @@ private:
QDir *rfkillDirectory; QDir *rfkillDirectory;
Ui::WirelessWidget *ui; Ui::WirelessWidget *ui;
void createActions(); void createActions();
void keyPressEvent(QKeyEvent *pressedKey); void keyPressEvent(const QKeyEvent *pressedKey);
}; };