refactoring of profile widgets

This commit is contained in:
arcan1s 2015-02-27 18:10:23 +03:00
parent 8b33ec859b
commit dcdf03f639
24 changed files with 526 additions and 722 deletions

View File

@ -8,7 +8,7 @@ ProjectRootRelative=./
[CMake][CMake Build Directory 0]
Build Directory Path=file:///home/arcanis/Documents/github/netctl-gui/build
Build Type=Debug
Build Type=Release
CMake Binary=file:///usr/bin/cmake
Environment Profile=
Extra Arguments=

View File

@ -40,26 +40,16 @@ void BridgeWidget::clear()
}
void BridgeWidget::setShown(const bool state)
{
if (state)
show();
else
hide();
}
QMap<QString, QString> BridgeWidget::getSettings()
{
QMap<QString, QString> bridgeSettings;
QMap<QString, QString> settings;
if (isOk() != 0)
return bridgeSettings;
if (isOk() != 0) return settings;
if (ui->checkBox_skip->checkState() == Qt::Checked)
bridgeSettings[QString("SkipForwardingDelay")] = QString("yes");
settings[QString("SkipForwardingDelay")] = QString("yes");
return bridgeSettings;
return settings;
}
@ -73,9 +63,8 @@ int BridgeWidget::isOk()
void BridgeWidget::setSettings(const QMap<QString, QString> settings)
{
clear();
QMap<QString, QString> bridgeSettings = settings;
if (bridgeSettings.contains(QString("SkipForwardingDelay")))
if (bridgeSettings[QString("SkipForwardingDelay")] == QString("yes"))
if (settings.contains(QString("SkipForwardingDelay")))
if (settings[QString("SkipForwardingDelay")] == QString("yes"))
ui->checkBox_skip->setCheckState(Qt::Checked);
}

View File

@ -38,7 +38,6 @@ public:
public slots:
void clear();
void setShown(const bool state);
private:
Ui::BridgeWidget *ui;

View File

@ -54,15 +54,6 @@ void EthernetWidget::clear()
}
void EthernetWidget::setShown(const bool state)
{
if (state)
show();
else
hide();
}
void EthernetWidget::createActions()
{
connect(ui->pushButton_ethernetAdvanced, SIGNAL(clicked(bool)), this, SLOT(showAdvanced()));
@ -73,8 +64,7 @@ void EthernetWidget::createActions()
void EthernetWidget::selectWpaConfig()
{
QString filename = QFileDialog::getOpenFileName(
this,
QString filename = QFileDialog::getOpenFileName(this,
QApplication::translate("EthernetWidget", "Select wpa configuration file"),
QDir::currentPath(),
QApplication::translate("EthernetWidget", "Configuration files (*.conf)"));
@ -97,33 +87,29 @@ void EthernetWidget::showAdvanced()
void EthernetWidget::showWpa(const int state)
{
if (state == 0)
ui->widget_wpa->setHidden(true);
else
ui->widget_wpa->setHidden(false);
ui->widget_wpa->setHidden(state == 0);
}
QMap<QString, QString> EthernetWidget::getSettings()
{
QMap<QString, QString> ethernetSettings;
QMap<QString, QString> settings;
if (isOk() != 0)
return ethernetSettings;
if (isOk() != 0) return settings;
if (ui->checkBox_skip->checkState() == Qt::Checked)
ethernetSettings[QString("SkipNoCarrier")] = QString("yes");
settings[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();
settings[QString("Auth8021X")] = QString("yes");
settings[QString("WPAConfigFile")] = QString("'%1'").arg(ui->lineEdit_wpaConfig->text());
settings[QString("WPADriver")] = ui->comboBox_driver->currentText();
}
if (ui->spinBox_timeoutCarrier->value() != 5)
ethernetSettings[QString("TimeoutCarrier")] = QString::number(ui->spinBox_timeoutCarrier->value());
settings[QString("TimeoutCarrier")] = QString::number(ui->spinBox_timeoutCarrier->value());
if (ui->spinBox_timeoutWpa->value() != 15)
ethernetSettings[QString("TimeoutWPA")] = QString::number(ui->spinBox_timeoutWpa->value());
settings[QString("TimeoutWPA")] = QString::number(ui->spinBox_timeoutWpa->value());
return ethernetSettings;
return settings;
}
@ -141,24 +127,23 @@ int EthernetWidget::isOk()
void EthernetWidget::setSettings(const QMap<QString, QString> settings)
{
clear();
QMap<QString, QString> ethernetSettings = settings;
if (ethernetSettings.contains(QString("SkipNoCarrier")))
if (ethernetSettings[QString("SkipNoCarrier")] == QString("yes"))
if (settings.contains(QString("SkipNoCarrier")))
if (settings[QString("SkipNoCarrier")] == QString("yes"))
ui->checkBox_skip->setCheckState(Qt::Checked);
if (ethernetSettings.contains(QString("Auth8021X")))
if (ethernetSettings[QString("Auth8021X")] == QString("yes"))
if (settings.contains(QString("Auth8021X")))
if (settings[QString("Auth8021X")] == QString("yes"))
ui->checkBox_8021x->setCheckState(Qt::Checked);
if (ethernetSettings.contains(QString("WPAConfigFile")))
ui->lineEdit_wpaConfig->setText(ethernetSettings[QString("WPAConfigFile")]);
if (ethernetSettings.contains(QString("WPADriver")))
for (int i=0; i<ui->comboBox_driver->count(); i++)
if (ethernetSettings[QString("WPADriver")] == ui->comboBox_driver->itemText(i))
ui->comboBox_driver->setCurrentIndex(i);
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());
if (settings.contains(QString("WPAConfigFile")))
ui->lineEdit_wpaConfig->setText(settings[QString("WPAConfigFile")]);
if (settings.contains(QString("WPADriver"))) {
int index = ui->comboBox_driver->findText(settings[QString("WPADriver")]);
ui->comboBox_driver->setCurrentIndex(index);
}
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());
showWpa(ui->checkBox_8021x->checkState());
}

View File

@ -39,7 +39,6 @@ public:
public slots:
void clear();
void setShown(const bool state);
private slots:
void selectWpaConfig();

View File

@ -67,15 +67,6 @@ void GeneralWidget::clear()
}
void GeneralWidget::setShown(const bool state)
{
if (state)
show();
else
hide();
}
void GeneralWidget::createActions()
{
connect(ui->pushButton_generalAdvanced, SIGNAL(clicked(bool)), this, SLOT(showAdvanced()));
@ -102,10 +93,10 @@ void GeneralWidget::keyPressEvent(QKeyEvent *pressedKey)
{
if (pressedKey->key() == Qt::Key_Delete) {
if (ui->listWidget_bindto->hasFocus() &&
(ui->listWidget_bindto->currentItem() != 0))
(ui->listWidget_bindto->currentItem() != nullptr))
delete ui->listWidget_bindto->currentItem();
else if (ui->listWidget_after->hasFocus() &&
(ui->listWidget_after->currentItem() != 0))
(ui->listWidget_after->currentItem() != nullptr))
delete ui->listWidget_after->currentItem();
}
}
@ -125,36 +116,35 @@ void GeneralWidget::showAdvanced()
QMap<QString, QString> GeneralWidget::getSettings()
{
QMap<QString, QString> generalSettings;
QMap<QString, QString> settings;
if (isOk() != 0)
return generalSettings;
if (isOk() != 0) return settings;
generalSettings[QString("Description")] = QString("'") + ui->lineEdit_description->text() + QString("'");
generalSettings[QString("Connection")] = ui->comboBox_connection->currentText();
generalSettings[QString("Interface")] = ui->comboBox_interface->currentText();
settings[QString("Description")] = QString("'%1'").arg(ui->lineEdit_description->text());
settings[QString("Connection")] = ui->comboBox_connection->currentText();
settings[QString("Interface")] = ui->comboBox_interface->currentText();
if (ui->listWidget_bindto->count() != 0) {
QStringList interfaces;
for (int i=0; i<ui->listWidget_bindto->count(); i++)
interfaces.append(ui->listWidget_bindto->item(i)->text());
generalSettings[QString("BindsToInterfaces")] = interfaces.join(QChar(' '));
settings[QString("BindsToInterfaces")] = interfaces.join(QChar(' '));
}
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(QChar(' '));
settings[QString("After")] = profiles.join(QChar(' '));
}
if (!ui->lineEdit_execUpPost->text().isEmpty())
generalSettings[QString("ExecUpPost")] = QString("'") + ui->lineEdit_execUpPost->text() + QString("'");
settings[QString("ExecUpPost")] = QString("'%1'").arg(ui->lineEdit_execUpPost->text());
if (!ui->lineEdit_execDownPre->text().isEmpty())
generalSettings[QString("ExecDownPre")] = QString("'") + ui->lineEdit_execDownPre->text() + QString("'");
settings[QString("ExecDownPre")] = QString("'%1'").arg(ui->lineEdit_execDownPre->text());
if (ui->checkBox_forceConnect->checkState() == Qt::Checked)
generalSettings[QString("ForceConnect")] = QString("yes");
settings[QString("ForceConnect")] = QString("yes");
if (ui->checkBox_debug->checkState() == Qt::Checked)
generalSettings[QString("NETCTL_DEBUG")] = QString("yes");
settings[QString("NETCTL_DEBUG")] = QString("yes");
return generalSettings;
return settings;
}
@ -162,10 +152,10 @@ int GeneralWidget::isOk()
{
// bind interfaces is not set
if ((ui->comboBox_connection->currentText() == QString("bond")) ||
(ui->comboBox_connection->currentText() == QString("bridge")) ||
(ui->comboBox_connection->currentText() == QString("vlan")) ||
(ui->comboBox_connection->currentText() == QString("macvlan")) ||
(ui->comboBox_connection->currentText() == QString("openvswitch")))
(ui->comboBox_connection->currentText() == QString("bridge")) ||
(ui->comboBox_connection->currentText() == QString("vlan")) ||
(ui->comboBox_connection->currentText() == QString("macvlan")) ||
(ui->comboBox_connection->currentText() == QString("openvswitch")))
if (ui->listWidget_bindto->count() == 0)
return 1;
// empty description
@ -179,30 +169,29 @@ int GeneralWidget::isOk()
void GeneralWidget::setSettings(const QMap<QString, QString> settings)
{
clear();
QMap<QString, QString> generalSettings = settings;
if (generalSettings.contains(QString("Description")))
ui->lineEdit_description->setText(generalSettings[QString("Description")]);
if (generalSettings.contains(QString("Connection")))
for (int i=0; i<ui->comboBox_connection->count(); i++)
if (generalSettings[QString("Connection")] == ui->comboBox_connection->itemText(i))
ui->comboBox_connection->setCurrentIndex(i);
if (generalSettings.contains(QString("Interface"))) {
ui->comboBox_interface->addItem(generalSettings[QString("Interface")]);
ui->comboBox_interface->setCurrentIndex(ui->comboBox_interface->count()-1);
if (settings.contains(QString("Description")))
ui->lineEdit_description->setText(settings[QString("Description")]);
if (settings.contains(QString("Connection"))) {
int index = ui->comboBox_connection->findText(settings[QString("Connection")]);
ui->comboBox_connection->setCurrentIndex(index);
}
if (generalSettings.contains(QString("BindsToInterfaces")))
ui->listWidget_bindto->addItems(generalSettings[QString("BindsToInterfaces")].split(QChar('\n')));
if (generalSettings.contains(QString("After")))
ui->listWidget_after->addItems(generalSettings[QString("After")].split(QChar('\n')));
if (generalSettings.contains(QString("ExecUpPost")))
ui->lineEdit_execUpPost->setText(generalSettings[QString("ExecUpPost")]);
if (generalSettings.contains(QString("ExecDownPre")))
ui->lineEdit_execDownPre->setText(generalSettings[QString("ExecDownPre")]);
if (generalSettings.contains(QString("ForceConnect")))
if (generalSettings[QString("ForceConnect")] == QString("yes"))
if (settings.contains(QString("Interface"))) {
ui->comboBox_interface->addItem(settings[QString("Interface")]);
ui->comboBox_interface->setCurrentIndex(ui->comboBox_interface->count() - 1);
}
if (settings.contains(QString("BindsToInterfaces")))
ui->listWidget_bindto->addItems(settings[QString("BindsToInterfaces")].split(QChar('\n')));
if (settings.contains(QString("After")))
ui->listWidget_after->addItems(settings[QString("After")].split(QChar('\n')));
if (settings.contains(QString("ExecUpPost")))
ui->lineEdit_execUpPost->setText(settings[QString("ExecUpPost")]);
if (settings.contains(QString("ExecDownPre")))
ui->lineEdit_execDownPre->setText(settings[QString("ExecDownPre")]);
if (settings.contains(QString("ForceConnect")))
if (settings[QString("ForceConnect")] == QString("yes"))
ui->checkBox_forceConnect->setCheckState(Qt::Checked);
if (generalSettings.contains(QString("NETCTL_DEBUG")))
if (generalSettings[QString("NETCTL_DEBUG")] == QString("yes"))
if (settings.contains(QString("NETCTL_DEBUG")))
if (settings[QString("NETCTL_DEBUG")] == QString("yes"))
ui->checkBox_debug->setCheckState(Qt::Checked);
}

View File

@ -43,7 +43,6 @@ public:
public slots:
void clear();
void setShown(const bool state);
private slots:
void addAfter();

View File

@ -92,15 +92,6 @@ void IpWidget::clear()
}
void IpWidget::setShown(const bool state)
{
if (state)
show();
else
hide();
}
void IpWidget::createActions()
{
connect(ui->pushButton_ipAdvanced, SIGNAL(clicked(bool)), this, SLOT(showAdvanced()));
@ -151,25 +142,25 @@ void IpWidget::keyPressEvent(QKeyEvent *pressedKey)
{
if (pressedKey->key() == Qt::Key_Delete) {
if (ui->listWidget_ipAddress->hasFocus() &&
(ui->listWidget_ipAddress->currentItem() != 0))
(ui->listWidget_ipAddress->currentItem() != nullptr))
delete ui->listWidget_ipAddress->currentItem();
else if (ui->listWidget_ipRoutes->hasFocus() &&
(ui->listWidget_ipRoutes->currentItem() != 0))
(ui->listWidget_ipRoutes->currentItem() != nullptr))
delete ui->listWidget_ipRoutes->currentItem();
else if (ui->listWidget_ipAddress6->hasFocus() &&
(ui->listWidget_ipAddress6->currentItem() != 0))
(ui->listWidget_ipAddress6->currentItem() != nullptr))
delete ui->listWidget_ipAddress6->currentItem();
else if (ui->listWidget_ipRoutes6->hasFocus() &&
(ui->listWidget_ipRoutes6->currentItem() != 0))
(ui->listWidget_ipRoutes6->currentItem() != nullptr))
delete ui->listWidget_ipRoutes6->currentItem();
else if (ui->listWidget_custom->hasFocus() &&
(ui->listWidget_custom->currentItem() != 0))
(ui->listWidget_custom->currentItem() != nullptr))
delete ui->listWidget_custom->currentItem();
else if (ui->listWidget_dns->hasFocus() &&
(ui->listWidget_dns->currentItem() != 0))
(ui->listWidget_dns->currentItem() != nullptr))
delete ui->listWidget_dns->currentItem();
else if (ui->listWidget_dnsOptions->hasFocus() &&
(ui->listWidget_dnsOptions->currentItem() != 0))
(ui->listWidget_dnsOptions->currentItem() != nullptr))
delete ui->listWidget_dnsOptions->currentItem();
}
}
@ -247,61 +238,36 @@ void IpWidget::addDnsOpt()
void IpWidget::changeIpMode(const QString currentText)
{
if (currentText == QString("dhcp"))
ui->widget_ip->setHidden(true);
else if (currentText == QString("static"))
ui->widget_ip->setHidden(false);
ui->widget_ip->setHidden(currentText == QString("dhcp"));
}
void IpWidget::ipEnable(const int state)
{
if (state == 0) {
ui->comboBox_ip->setDisabled(true);
ui->widget_ip->setDisabled(true);
ui->widget_ipRoutes->setDisabled(true);
} else {
ui->comboBox_ip->setEnabled(true);
ui->widget_ip->setEnabled(true);
ui->widget_ipRoutes->setEnabled(true);
}
ui->comboBox_ip->setDisabled(state == 0);
ui->widget_ip->setDisabled(state == 0);
ui->widget_ipRoutes->setDisabled(state == 0);
}
void IpWidget::changeIp6Mode(const QString currentText)
{
if ((currentText == QString("dhcp")) ||
(currentText == QString("dhcp-noaddr")))
ui->widget_ip6->setHidden(true);
else if ((currentText == QString("static")) ||
(currentText == QString("stateless")))
ui->widget_ip6->setHidden(false);
ui->widget_ip6->setHidden(currentText.startsWith(QString("dhcp")));
}
void IpWidget::ip6Enable(const int state)
{
if (state == 0) {
ui->comboBox_ip6->setDisabled(true);
ui->widget_ip6->setDisabled(true);
ui->widget_ipRoutes6->setDisabled(true);
} else {
ui->comboBox_ip6->setEnabled(true);
ui->widget_ip6->setEnabled(true);
ui->widget_ipRoutes6->setEnabled(true);
}
ui->comboBox_ip6->setDisabled(state == 0);
ui->widget_ip6->setDisabled(state == 0);
ui->widget_ipRoutes6->setDisabled(state == 0);
}
void IpWidget::changeDhcpClient(const QString currentText)
{
if (currentText == QString("dhcpcd")) {
ui->widget_dhcpcdOpt->setHidden(false);
ui->widget_dhclientOpt->setHidden(true);
} else if (currentText == QString("dhclient")) {
ui->widget_dhcpcdOpt->setHidden(true);
ui->widget_dhclientOpt->setHidden(false);
}
ui->widget_dhcpcdOpt->setHidden(currentText != QString("dhcpcd"));
ui->widget_dhclientOpt->setHidden(currentText == QString("dhcpcd"));
}
@ -319,106 +285,105 @@ void IpWidget::showAdvanced()
QMap<QString, QString> IpWidget::getSettings()
{
QMap<QString, QString> ipSettings;
QMap<QString, QString> settings;
if (isOk() != 0)
return ipSettings;
if (isOk() != 0) return settings;
if (ui->checkBox_ip->checkState() == Qt::Checked) {
ipSettings[QString("IP")] = ui->comboBox_ip->currentText();
settings[QString("IP")] = ui->comboBox_ip->currentText();
if (ui->comboBox_ip->currentText() == QString("static")) {
QStringList addresses;
for (int i=0; i<ui->listWidget_ipAddress->count(); i++)
addresses.append(QString("'") + ui->listWidget_ipAddress->item(i)->text() + QString("'"));
ipSettings[QString("Address")] = addresses.join(QChar(' '));
ipSettings[QString("Gateway")] = QString("'") + ui->lineEdit_gateway->text() + QString("'");
addresses.append(QString("'%1'").arg(ui->listWidget_ipAddress->item(i)->text()));
settings[QString("Address")] = addresses.join(QChar(' '));
settings[QString("Gateway")] = QString("'%1'").arg(ui->lineEdit_gateway->text());
}
if (ui->listWidget_ipRoutes->count() > 0) {
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(QChar(' '));
routes.append(QString("'%1'").arg(ui->listWidget_ipRoutes->item(i)->text()));
settings[QString("Routes")] = routes.join(QChar(' '));
}
} else
ipSettings[QString("IP")] = QString("no");
settings[QString("IP")] = QString("no");
if (ui->checkBox_ip6->checkState() == Qt::Checked) {
ipSettings[QString("IP6")] = ui->comboBox_ip6->currentText();
settings[QString("IP6")] = ui->comboBox_ip6->currentText();
if ((ui->comboBox_ip6->currentText() == QString("static")) ||
(ui->comboBox_ip6->currentText() == QString("stateless"))) {
(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(QChar(' '));
ipSettings[QString("Gateway6")] = QString("'") + ui->lineEdit_gateway6->text() + QString("'");
addresses.append(QString("'%1'").arg(ui->listWidget_ipAddress6->item(i)->text()));
settings[QString("Address6")] = addresses.join(QChar(' '));
settings[QString("Gateway6")] = QString("'%1'").arg(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(QChar(' '));
routes.append(QString("'%1'").arg(ui->listWidget_ipRoutes6->item(i)->text()));
settings[QString("Routes6")] = routes.join(QChar(' '));
}
} else
ipSettings[QString("IP6")] = QString("no");
settings[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(QChar(' '));
custom.append(QString("'%1'").arg(ui->listWidget_custom->item(i)->text()));
settings[QString("IPCustom")] = custom.join(QChar(' '));
}
if (!ui->lineEdit_hostname->text().isEmpty())
ipSettings[QString("Hostname")] = QString("'") + ui->lineEdit_hostname->text() + QString("'");
settings[QString("Hostname")] = QString("'%1'").arg(ui->lineEdit_hostname->text());
if (ui->spinBox_timeoutDad->value() != 3)
ipSettings[QString("TimeoutDAD")] = QString::number(ui->spinBox_timeoutDad->value());
settings[QString("TimeoutDAD")] = QString::number(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("'");
settings[QString("DhcpcdOptions")] = QString("'%1'").arg(ui->lineEdit_dhcpcdOpt->text());
} else if (ui->comboBox_dhcp->currentText() == QString("dhclient")) {
ipSettings[QString("DHCPClient")] = ui->comboBox_dhcp->currentText();
settings[QString("DHCPClient")] = ui->comboBox_dhcp->currentText();
if (!ui->lineEdit_dhclientOpt->text().isEmpty())
ipSettings[QString("DhclientOptions")] = QString("'") + ui->lineEdit_dhclientOpt->text() + QString("'");
settings[QString("DhclientOptions")] = QString("'%1'").arg(ui->lineEdit_dhclientOpt->text());
if (!ui->lineEdit_dhclientOpt6->text().isEmpty())
ipSettings[QString("DhclientOptions6")] = QString("'") + ui->lineEdit_dhclientOpt6->text() + QString("'");
settings[QString("DhclientOptions6")] = QString("'%1'").arg(ui->lineEdit_dhclientOpt6->text());
}
if (ui->spinBox_timeoutDhcp->value() != 30)
ipSettings[QString("TimeoutDHCP")] = QString::number(ui->spinBox_timeoutDhcp->value());
settings[QString("TimeoutDHCP")] = QString::number(ui->spinBox_timeoutDhcp->value());
if (ui->checkBox_dhcp->checkState() == Qt::Checked)
ipSettings[QString("DHCPReleaseOnStop")] = QString("yes");
settings[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(QChar(' '));
dns.append(QString("'%1'").arg(ui->listWidget_dns->item(i)->text()));
settings[QString("DNS")] = dns.join(QChar(' '));
}
if (!ui->lineEdit_dnsDomain->text().isEmpty())
ipSettings[QString("DNSDomain")] = QString("'") + ui->lineEdit_dnsDomain->text() + QString("'");
settings[QString("DNSDomain")] = QString("'%1'").arg(ui->lineEdit_dnsDomain->text());
if (!ui->lineEdit_dnsSearch->text().isEmpty())
ipSettings[QString("DNSSearch")] = QString("'") + ui->lineEdit_dnsSearch->text() + QString("'");
settings[QString("DNSSearch")] = QString("'%1'").arg(ui->lineEdit_dnsSearch->text());
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(QChar(' '));
dnsOpt.append(QString("'%1'").arg(ui->listWidget_dnsOptions->item(i)->text()));
settings[QString("DNSOptions")] = dnsOpt.join(QChar(' '));
}
return ipSettings;
return settings;
}
int IpWidget::isOk()
{
// ip settings is not set
if (ui->checkBox_ip->checkState() == Qt::Checked)
if (ui->comboBox_ip->currentText() == QString("static"))
if ((ui->listWidget_ipAddress->count() == 0) ||
(ui->lineEdit_gateway->text().isEmpty()))
return 1;
if ((ui->checkBox_ip->checkState() == Qt::Checked) &&
(ui->comboBox_ip->currentText() == QString("static")))
if ((ui->listWidget_ipAddress->count() == 0) ||
(ui->lineEdit_gateway->text().isEmpty()))
return 1;
// ipv6 settings is not set
if (ui->checkBox_ip6->checkState() == Qt::Checked)
if ((ui->comboBox_ip6->currentText() == QString("static")) ||
(ui->comboBox_ip6->currentText() == QString("stateless")))
if ((ui->listWidget_ipAddress6->count() == 0) ||
(ui->lineEdit_gateway6->text().isEmpty()))
return 2;
if ((ui->checkBox_ip6->checkState() == Qt::Checked) &&
((ui->comboBox_ip6->currentText() == QString("static")) ||
(ui->comboBox_ip6->currentText() == QString("stateless"))))
if ((ui->listWidget_ipAddress6->count() == 0) ||
(ui->lineEdit_gateway6->text().isEmpty()))
return 2;
// all fine
return 0;
}
@ -427,70 +392,66 @@ int IpWidget::isOk()
void IpWidget::setSettings(const QMap<QString, QString> settings)
{
clear();
QMap<QString, QString> ipSettings = settings;
if (ipSettings.contains(QString("IP"))) {
if (ipSettings[QString("IP")] == QString("no"))
if (settings.contains(QString("IP"))) {
if (settings[QString("IP")] == QString("no"))
ui->checkBox_ip->setCheckState(Qt::Unchecked);
else {
ui->checkBox_ip->setCheckState(Qt::Checked);
for (int i=0; i<ui->comboBox_ip->count(); i++)
if (ipSettings[QString("IP")] == ui->comboBox_ip->itemText(i))
ui->comboBox_ip->setCurrentIndex(i);
int index = ui->comboBox_ip->findText(settings[QString("IP")]);
ui->comboBox_ip->setCurrentIndex(index);
}
}
if (ipSettings.contains(QString("Address")))
ui->listWidget_ipAddress->addItems(ipSettings[QString("Address")].split(QChar('\n')));
if (ipSettings.contains(QString("Gateway")))
ui->lineEdit_gateway->setText(ipSettings[QString("Gateway")]);
if (ipSettings.contains(QString("Routes")))
ui->listWidget_ipRoutes->addItems(ipSettings[QString("Routes")].split(QChar('\n')));
if (ipSettings.contains(QString("IP6"))) {
if (ipSettings[QString("IP6")] == QString("no"))
if (settings.contains(QString("Address")))
ui->listWidget_ipAddress->addItems(settings[QString("Address")].split(QChar('\n')));
if (settings.contains(QString("Gateway")))
ui->lineEdit_gateway->setText(settings[QString("Gateway")]);
if (settings.contains(QString("Routes")))
ui->listWidget_ipRoutes->addItems(settings[QString("Routes")].split(QChar('\n')));
if (settings.contains(QString("IP6"))) {
if (settings[QString("IP6")] == QString("no"))
ui->checkBox_ip6->setCheckState(Qt::Unchecked);
else {
ui->checkBox_ip6->setCheckState(Qt::Checked);
for (int i=0; i<ui->comboBox_ip6->count(); i++)
if (ipSettings[QString("IP6")] == ui->comboBox_ip6->itemText(i))
ui->comboBox_ip6->setCurrentIndex(i);
int index = ui->comboBox_ip6->findText(settings[QString("IP6")]);
ui->comboBox_ip6->setCurrentIndex(index);
}
}
if (ipSettings.contains(QString("Address6")))
ui->listWidget_ipAddress6->addItems(ipSettings[QString("Address6")].split(QChar('\n')));
if (ipSettings.contains(QString("Gateway6")))
ui->lineEdit_gateway6->setText(ipSettings[QString("Gateway6")]);
if (ipSettings.contains(QString("Routes6")))
ui->listWidget_ipRoutes6->addItems(ipSettings[QString("Routes6")].split(QChar('\n')));
if (ipSettings.contains(QString("IPCustom")))
ui->listWidget_custom->addItems(ipSettings[QString("IPCustom")].split(QChar('\n')));
if (ipSettings.contains(QString("Hostname")))
ui->lineEdit_hostname->setText(ipSettings[QString("Hostname")]);
if (ipSettings.contains(QString("TimeoutDAD")))
ui->spinBox_timeoutDad->setValue(ipSettings[QString("TimeoutDAD")].toInt());
if (ipSettings.contains(QString("DHCPClient")))
for (int i=0; i<ui->comboBox_dhcp->count(); i++)
if (ipSettings[QString("DHCPClient")] == ui->comboBox_dhcp->itemText(i))
ui->comboBox_dhcp->setCurrentIndex(i);
if (ipSettings.contains(QString("DhcpcdOptions")))
ui->lineEdit_dhcpcdOpt->setText(ipSettings[QString("DhcpcdOptions")]
.remove(QChar('\'')).remove(QChar('"')));
if (ipSettings.contains(QString("DhclientOptions")))
ui->lineEdit_dhclientOpt->setText(ipSettings[QString("DhclientOptions")]);
if (ipSettings.contains(QString("DhclientOptions6")))
ui->lineEdit_dhclientOpt6->setText(ipSettings[QString("DhclientOptions6")]);
if (ipSettings.contains(QString("TimeoutDHCP")))
ui->spinBox_timeoutDhcp->setValue(ipSettings[QString("TimeoutDHCP")].toInt());
if (ipSettings.contains(QString("DHCPReleaseOnStop")))
if (ipSettings[QString("DHCPReleaseOnStop")] == QString("yes"))
if (settings.contains(QString("Address6")))
ui->listWidget_ipAddress6->addItems(settings[QString("Address6")].split(QChar('\n')));
if (settings.contains(QString("Gateway6")))
ui->lineEdit_gateway6->setText(settings[QString("Gateway6")]);
if (settings.contains(QString("Routes6")))
ui->listWidget_ipRoutes6->addItems(settings[QString("Routes6")].split(QChar('\n')));
if (settings.contains(QString("IPCustom")))
ui->listWidget_custom->addItems(settings[QString("IPCustom")].split(QChar('\n')));
if (settings.contains(QString("Hostname")))
ui->lineEdit_hostname->setText(settings[QString("Hostname")]);
if (settings.contains(QString("TimeoutDAD")))
ui->spinBox_timeoutDad->setValue(settings[QString("TimeoutDAD")].toInt());
if (settings.contains(QString("DHCPClient"))) {
int index = ui->comboBox_dhcp->findText(settings[QString("DHCPClient")]);
ui->comboBox_dhcp->setCurrentIndex(index);
}
if (settings.contains(QString("DhcpcdOptions")))
ui->lineEdit_dhcpcdOpt->setText(settings[QString("DhcpcdOptions")]);
if (settings.contains(QString("DhclientOptions")))
ui->lineEdit_dhclientOpt->setText(settings[QString("DhclientOptions")]);
if (settings.contains(QString("DhclientOptions6")))
ui->lineEdit_dhclientOpt6->setText(settings[QString("DhclientOptions6")]);
if (settings.contains(QString("TimeoutDHCP")))
ui->spinBox_timeoutDhcp->setValue(settings[QString("TimeoutDHCP")].toInt());
if (settings.contains(QString("DHCPReleaseOnStop")))
if (settings[QString("DHCPReleaseOnStop")] == QString("yes"))
ui->checkBox_dhcp->setCheckState(Qt::Checked);
if (ipSettings.contains(QString("DNS")))
ui->listWidget_dns->addItems(ipSettings[QString("DNS")].split(QChar('\n')));
if (ipSettings.contains(QString("DNSDomain")))
ui->lineEdit_dnsDomain->setText(ipSettings[QString("DNSDomain")]);
if (ipSettings.contains(QString("DNSSearch")))
ui->lineEdit_dnsSearch->setText(ipSettings[QString("DNSSearch")]);
if (ipSettings.contains(QString("DNSOptions")))
ui->listWidget_dnsOptions->addItems(ipSettings[QString("DNSOptions")].split(QChar('\n')));
if (settings.contains(QString("DNS")))
ui->listWidget_dns->addItems(settings[QString("DNS")].split(QChar('\n')));
if (settings.contains(QString("DNSDomain")))
ui->lineEdit_dnsDomain->setText(settings[QString("DNSDomain")]);
if (settings.contains(QString("DNSSearch")))
ui->lineEdit_dnsSearch->setText(settings[QString("DNSSearch")]);
if (settings.contains(QString("DNSOptions")))
ui->listWidget_dnsOptions->addItems(settings[QString("DNSOptions")].split(QChar('\n')));
ipEnable(ui->checkBox_ip->checkState());
changeIpMode(ui->comboBox_ip->currentText());

View File

@ -38,7 +38,6 @@ public:
public slots:
void clear();
void setShown(const bool state);
private slots:
// buttons

View File

@ -42,34 +42,24 @@ void MacvlanWidget::clear()
}
void MacvlanWidget::setShown(const bool state)
{
if (state)
show();
else
hide();
}
void MacvlanWidget::createFilter()
{
// mac
ui->lineEdit_mac->setInputMask(QString(">HH:HH:HH:HH:HH:HH"));
ui->lineEdit_mac->setInputMask(QString(">hh:hh:hh:hh:hh:hh"));
}
QMap<QString, QString> MacvlanWidget::getSettings()
{
QMap<QString, QString> macvlanSettings;
QMap<QString, QString> settings;
if (isOk() != 0)
return macvlanSettings;
if (isOk() != 0) return settings;
macvlanSettings[QString("Mode")] = ui->comboBox_mode->currentText();
if (!ui->lineEdit_mac->text().remove(QChar(':')).remove(QChar(' ')).isEmpty())
macvlanSettings[QString("MACAddress")] = ui->lineEdit_mac->text();
settings[QString("Mode")] = ui->comboBox_mode->currentText();
if (!ui->lineEdit_mac->text().remove(QChar(':')).isEmpty())
settings[QString("MACAddress")] = ui->lineEdit_mac->text();
return macvlanSettings;
return settings;
}
@ -83,12 +73,11 @@ int MacvlanWidget::isOk()
void MacvlanWidget::setSettings(const QMap<QString, QString> settings)
{
clear();
QMap<QString, QString> macvlanSettings = settings;
if (macvlanSettings.contains(QString("Mode")))
for (int i=0; i<ui->comboBox_mode->count(); i++)
if (macvlanSettings[QString("Mode")] == ui->comboBox_mode->itemText(i))
ui->comboBox_mode->setCurrentIndex(i);
if (macvlanSettings.contains(QString("MACAddress")))
ui->lineEdit_mac->setText(macvlanSettings[QString("MACAddress")]);
if (settings.contains(QString("Mode"))) {
int index = ui->comboBox_mode->findText(settings[QString("Mode")]);
ui->comboBox_mode->setCurrentIndex(index);
}
if (settings.contains(QString("MACAddress")))
ui->lineEdit_mac->setText(settings[QString("MACAddress")]);
}

View File

@ -38,7 +38,6 @@ public:
public slots:
void clear();
void setShown(const bool state);
private:
Ui::MacvlanWidget *ui;

View File

@ -580,127 +580,127 @@ void MainWindow::profileTabChangeState(const QString current)
if (debug) qDebug() << PDEBUG << ":" << "Current type" << current;
if (current == QString("ethernet")) {
generalWid->setShown(true);
ipWid->setShown(true);
bridgeWid->setShown(false);
ethernetWid->setShown(true);
macvlanWid->setShown(false);
mobileWid->setShown(false);
pppoeWid->setShown(false);
tunnelWid->setShown(false);
tuntapWid->setShown(false);
vlanWid->setShown(false);
wirelessWid->setShown(false);
generalWid->setVisible(true);
ipWid->setVisible(true);
bridgeWid->setVisible(false);
ethernetWid->setVisible(true);
macvlanWid->setVisible(false);
mobileWid->setVisible(false);
pppoeWid->setVisible(false);
tunnelWid->setVisible(false);
tuntapWid->setVisible(false);
vlanWid->setVisible(false);
wirelessWid->setVisible(false);
} else if (current == QString("wireless")) {
generalWid->setShown(true);
ipWid->setShown(true);
bridgeWid->setShown(false);
ethernetWid->setShown(false);
macvlanWid->setShown(false);
mobileWid->setShown(false);
pppoeWid->setShown(false);
tunnelWid->setShown(false);
tuntapWid->setShown(false);
vlanWid->setShown(false);
wirelessWid->setShown(true);
generalWid->setVisible(true);
ipWid->setVisible(true);
bridgeWid->setVisible(false);
ethernetWid->setVisible(false);
macvlanWid->setVisible(false);
mobileWid->setVisible(false);
pppoeWid->setVisible(false);
tunnelWid->setVisible(false);
tuntapWid->setVisible(false);
vlanWid->setVisible(false);
wirelessWid->setVisible(true);
} else if ((current == QString("bond")) ||
(current == QString("dummy")) ||
(current == QString("openvswitch"))) {
generalWid->setShown(true);
ipWid->setShown(true);
bridgeWid->setShown(false);
ethernetWid->setShown(false);
macvlanWid->setShown(false);
mobileWid->setShown(false);
pppoeWid->setShown(false);
tunnelWid->setShown(false);
tuntapWid->setShown(false);
vlanWid->setShown(false);
wirelessWid->setShown(false);
generalWid->setVisible(true);
ipWid->setVisible(true);
bridgeWid->setVisible(false);
ethernetWid->setVisible(false);
macvlanWid->setVisible(false);
mobileWid->setVisible(false);
pppoeWid->setVisible(false);
tunnelWid->setVisible(false);
tuntapWid->setVisible(false);
vlanWid->setVisible(false);
wirelessWid->setVisible(false);
} else if (current == QString("bridge")) {
generalWid->setShown(true);
ipWid->setShown(true);
bridgeWid->setShown(true);
ethernetWid->setShown(false);
macvlanWid->setShown(false);
mobileWid->setShown(false);
pppoeWid->setShown(false);
tunnelWid->setShown(false);
tuntapWid->setShown(false);
vlanWid->setShown(false);
wirelessWid->setShown(false);
generalWid->setVisible(true);
ipWid->setVisible(true);
bridgeWid->setVisible(true);
ethernetWid->setVisible(false);
macvlanWid->setVisible(false);
mobileWid->setVisible(false);
pppoeWid->setVisible(false);
tunnelWid->setVisible(false);
tuntapWid->setVisible(false);
vlanWid->setVisible(false);
wirelessWid->setVisible(false);
} else if (current == QString("pppoe")) {
generalWid->setShown(true);
ipWid->setShown(false);
bridgeWid->setShown(false);
ethernetWid->setShown(false);
macvlanWid->setShown(false);
mobileWid->setShown(false);
pppoeWid->setShown(true);
tunnelWid->setShown(false);
tuntapWid->setShown(false);
vlanWid->setShown(false);
wirelessWid->setShown(false);
generalWid->setVisible(true);
ipWid->setVisible(false);
bridgeWid->setVisible(false);
ethernetWid->setVisible(false);
macvlanWid->setVisible(false);
mobileWid->setVisible(false);
pppoeWid->setVisible(true);
tunnelWid->setVisible(false);
tuntapWid->setVisible(false);
vlanWid->setVisible(false);
wirelessWid->setVisible(false);
} else if (current == QString("mobile_ppp")) {
generalWid->setShown(true);
ipWid->setShown(false);
bridgeWid->setShown(false);
ethernetWid->setShown(false);
macvlanWid->setShown(false);
mobileWid->setShown(true);
pppoeWid->setShown(false);
tunnelWid->setShown(false);
tuntapWid->setShown(false);
vlanWid->setShown(false);
wirelessWid->setShown(false);
generalWid->setVisible(true);
ipWid->setVisible(false);
bridgeWid->setVisible(false);
ethernetWid->setVisible(false);
macvlanWid->setVisible(false);
mobileWid->setVisible(true);
pppoeWid->setVisible(false);
tunnelWid->setVisible(false);
tuntapWid->setVisible(false);
vlanWid->setVisible(false);
wirelessWid->setVisible(false);
} else if (current == QString("tunnel")) {
generalWid->setShown(true);
ipWid->setShown(true);
bridgeWid->setShown(false);
ethernetWid->setShown(false);
macvlanWid->setShown(false);
mobileWid->setShown(false);
pppoeWid->setShown(false);
tunnelWid->setShown(true);
tuntapWid->setShown(false);
vlanWid->setShown(false);
wirelessWid->setShown(false);
generalWid->setVisible(true);
ipWid->setVisible(true);
bridgeWid->setVisible(false);
ethernetWid->setVisible(false);
macvlanWid->setVisible(false);
mobileWid->setVisible(false);
pppoeWid->setVisible(false);
tunnelWid->setVisible(true);
tuntapWid->setVisible(false);
vlanWid->setVisible(false);
wirelessWid->setVisible(false);
} else if (current == QString("tuntap")) {
generalWid->setShown(true);
ipWid->setShown(true);
bridgeWid->setShown(false);
ethernetWid->setShown(false);
macvlanWid->setShown(false);
mobileWid->setShown(false);
pppoeWid->setShown(false);
tunnelWid->setShown(false);
tuntapWid->setShown(true);
vlanWid->setShown(false);
wirelessWid->setShown(false);
generalWid->setVisible(true);
ipWid->setVisible(true);
bridgeWid->setVisible(false);
ethernetWid->setVisible(false);
macvlanWid->setVisible(false);
mobileWid->setVisible(false);
pppoeWid->setVisible(false);
tunnelWid->setVisible(false);
tuntapWid->setVisible(true);
vlanWid->setVisible(false);
wirelessWid->setVisible(false);
} else if (current == QString("vlan")) {
generalWid->setShown(true);
ipWid->setShown(true);
bridgeWid->setShown(false);
ethernetWid->setShown(true);
macvlanWid->setShown(false);
mobileWid->setShown(false);
pppoeWid->setShown(false);
tunnelWid->setShown(false);
tuntapWid->setShown(false);
vlanWid->setShown(true);
wirelessWid->setShown(false);
generalWid->setVisible(true);
ipWid->setVisible(true);
bridgeWid->setVisible(false);
ethernetWid->setVisible(true);
macvlanWid->setVisible(false);
mobileWid->setVisible(false);
pppoeWid->setVisible(false);
tunnelWid->setVisible(false);
tuntapWid->setVisible(false);
vlanWid->setVisible(true);
wirelessWid->setVisible(false);
} else if (current == QString("macvlan")) {
generalWid->setShown(true);
ipWid->setShown(true);
bridgeWid->setShown(false);
ethernetWid->setShown(true);
macvlanWid->setShown(true);
mobileWid->setShown(false);
pppoeWid->setShown(false);
tunnelWid->setShown(false);
tuntapWid->setShown(false);
vlanWid->setShown(false);
wirelessWid->setShown(false);
generalWid->setVisible(true);
ipWid->setVisible(true);
bridgeWid->setVisible(false);
ethernetWid->setVisible(true);
macvlanWid->setVisible(true);
mobileWid->setVisible(false);
pppoeWid->setVisible(false);
tunnelWid->setVisible(false);
tuntapWid->setVisible(false);
vlanWid->setVisible(false);
wirelessWid->setVisible(false);
}
}

View File

@ -56,15 +56,6 @@ void MobileWidget::clear()
}
void MobileWidget::setShown(const bool state)
{
if (state)
show();
else
hide();
}
void MobileWidget::createActions()
{
connect(ui->pushButton_mobileAdvanced, SIGNAL(clicked(bool)), this, SLOT(showAdvanced()));
@ -74,8 +65,7 @@ void MobileWidget::createActions()
void MobileWidget::selectOptionsFile()
{
QString filename = QFileDialog::getOpenFileName(
this,
QString filename = QFileDialog::getOpenFileName(this,
QApplication::translate("MobileWidget", "Select options file"),
QDir::currentPath(),
QApplication::translate("MobileWidget", "Configuration files (*.conf)"));
@ -98,31 +88,30 @@ void MobileWidget::showAdvanced()
QMap<QString, QString> MobileWidget::getSettings()
{
QMap<QString, QString> mobileSettings;
QMap<QString, QString> settings;
if (isOk() != 0)
return mobileSettings;
if (isOk() != 0) return settings;
if (!ui->lineEdit_username->text().isEmpty())
mobileSettings[QString("User")] = QString("'") + ui->lineEdit_username->text() + QString("'");
settings[QString("User")] = QString("'%1'").arg(ui->lineEdit_username->text());
if (!ui->lineEdit_password->text().isEmpty())
mobileSettings[QString("Password")] = QString("'") + ui->lineEdit_password->text() + QString("'");
mobileSettings[QString("AccessPointName")] = ui->lineEdit_apn->text();
settings[QString("Password")] = QString("'%1'").arg(ui->lineEdit_password->text());
settings[QString("AccessPointName")] = ui->lineEdit_apn->text();
if (!ui->lineEdit_pin->text().isEmpty())
mobileSettings[QString("PIN")] = QString("'") + ui->lineEdit_pin->text() + QString("'");
settings[QString("PIN")] = QString("'%1'").arg(ui->lineEdit_pin->text());
else
mobileSettings[QString("PIN")] = QString("None");
mobileSettings[QString("Mode")] = ui->comboBox_mode->currentText();
settings[QString("PIN")] = QString("None");
settings[QString("Mode")] = ui->comboBox_mode->currentText();
if (ui->spinBox_fail->value() != 5)
mobileSettings[QString("MaxFail")] = QString::number(ui->spinBox_fail->value());
settings[QString("MaxFail")] = QString::number(ui->spinBox_fail->value());
if (ui->checkBox_route->checkState() == Qt::Unchecked)
mobileSettings[QString("DefaultRoute")] = QString("false");
settings[QString("DefaultRoute")] = QString("false");
if (ui->checkBox_dns->checkState() == Qt::Unchecked)
mobileSettings[QString("UsePeerDNS")] = QString("false");
settings[QString("UsePeerDNS")] = QString("false");
if (!ui->lineEdit_options->text().isEmpty())
mobileSettings[QString("OptionsFile")] = QString("'") + ui->lineEdit_options->text() + QString("'");
settings[QString("OptionsFile")] = QString("'%1'").arg(ui->lineEdit_options->text());
return mobileSettings;
return settings;
}
@ -143,28 +132,27 @@ int MobileWidget::isOk()
void MobileWidget::setSettings(const QMap<QString, QString> settings)
{
clear();
QMap<QString, QString> mobileSettings = settings;
if (mobileSettings.contains(QString("User")))
ui->lineEdit_username->setText(mobileSettings[QString("User")]);
if (mobileSettings.contains(QString("Password")))
ui->lineEdit_password->setText(mobileSettings[QString("Password")]);
if (mobileSettings.contains(QString("AccessPointName")))
ui->lineEdit_apn->setText(mobileSettings[QString("AccessPointName")]);
if (mobileSettings.contains(QString("PIN")))
ui->lineEdit_pin->setText(mobileSettings[QString("PIN")]);
if (mobileSettings.contains(QString("Mode")))
for (int i=0; i<ui->comboBox_mode->count(); i++)
if (mobileSettings[QString("Mode")] == ui->comboBox_mode->itemText(i))
ui->comboBox_mode->setCurrentIndex(i);
if (mobileSettings.contains(QString("MaxFail")))
ui->spinBox_fail->setValue(mobileSettings[QString("MaxFail")].toInt());
if (mobileSettings.contains(QString("DefaultRoute")))
if (mobileSettings[QString("DefaultRoute")] == QString("false"))
if (settings.contains(QString("User")))
ui->lineEdit_username->setText(settings[QString("User")]);
if (settings.contains(QString("Password")))
ui->lineEdit_password->setText(settings[QString("Password")]);
if (settings.contains(QString("AccessPointName")))
ui->lineEdit_apn->setText(settings[QString("AccessPointName")]);
if (settings.contains(QString("PIN")))
ui->lineEdit_pin->setText(settings[QString("PIN")]);
if (settings.contains(QString("Mode"))) {
int index = ui->comboBox_mode->findText(settings[QString("Mode")]);
ui->comboBox_mode->setCurrentIndex(index);
}
if (settings.contains(QString("MaxFail")))
ui->spinBox_fail->setValue(settings[QString("MaxFail")].toInt());
if (settings.contains(QString("DefaultRoute")))
if (settings[QString("DefaultRoute")] == QString("false"))
ui->checkBox_route->setCheckState(Qt::Unchecked);
if (mobileSettings.contains(QString("UsePeerDNS")))
if (mobileSettings[QString("UsePeerDNS")] == QString("false"))
if (settings.contains(QString("UsePeerDNS")))
if (settings[QString("UsePeerDNS")] == QString("false"))
ui->checkBox_dns->setCheckState(Qt::Unchecked);
if (mobileSettings.contains(QString("OptionsFile")))
ui->lineEdit_options->setText(mobileSettings[QString("OptionsFile")]);
if (settings.contains(QString("OptionsFile")))
ui->lineEdit_options->setText(settings[QString("OptionsFile")]);
}

View File

@ -38,7 +38,6 @@ public:
public slots:
void clear();
void setShown(const bool state);
private slots:
void selectOptionsFile();

View File

@ -65,21 +65,12 @@ void PppoeWidget::clear()
}
void PppoeWidget::setShown(const bool state)
{
if (state)
show();
else
hide();
}
void PppoeWidget::createFilter()
{
// session mac
ui->lineEdit_session->setInputMask(QString(">99999:HH:HH:HH:HH:HH:HH"));
ui->lineEdit_session->setInputMask(QString(">00000:hh:hh:hh:hh:hh:hh"));
// mac
ui->lineEdit_mac->setInputMask(QString(">HH:HH:HH:HH:HH:HH"));
ui->lineEdit_mac->setInputMask(QString(">hh:hh:hh:hh:hh:hh"));
}
@ -93,17 +84,13 @@ void PppoeWidget::createActions()
void PppoeWidget::changeMode(const QString currentText)
{
if (currentText == QString("persist"))
ui->widget_timeout->setHidden(true);
else if (currentText == QString("demand"))
ui->widget_timeout->setHidden(false);
ui->widget_timeout->setHidden(currentText == QString("persist"));
}
void PppoeWidget::selectOptionsFile()
{
QString filename = QFileDialog::getOpenFileName(
this,
QString filename = QFileDialog::getOpenFileName(this,
QApplication::translate("PppoeWidget", "Select options file"),
QDir::currentPath(),
QApplication::translate("PppoeWidget", "Configuration files (*.conf)"));
@ -126,45 +113,43 @@ void PppoeWidget::showAdvanced()
QMap<QString, QString> PppoeWidget::getSettings()
{
QMap<QString, QString> pppoeSettings;
QMap<QString, QString> settings;
if (isOk() != 0)
return pppoeSettings;
if (isOk() != 0) return settings;
if (!ui->lineEdit_username->text().isEmpty())
pppoeSettings[QString("User")] = QString("'") + ui->lineEdit_username->text() + QString("'");
settings[QString("User")] = QString("'%1'").arg(ui->lineEdit_username->text());
if (!ui->lineEdit_password->text().isEmpty())
pppoeSettings[QString("Password")] = QString("'") + ui->lineEdit_password->text() + QString("'");
pppoeSettings[QString("ConnectionMode")] = QString("'") + ui->comboBox_connection->currentText() + QString("'");
settings[QString("Password")] = QString("'%1'").arg(ui->lineEdit_password->text());
settings[QString("ConnectionMode")] = QString("'%1'").arg(ui->comboBox_connection->currentText());
if (ui->comboBox_connection->currentText() == QString("demand"))
pppoeSettings[QString("IdleTimeout")] = QString::number(ui->spinBox_timeout->value());
settings[QString("IdleTimeout")] = QString::number(ui->spinBox_timeout->value());
if (ui->spinBox_fail->value() != 5)
pppoeSettings[QString("MaxFail")] = QString::number(ui->spinBox_fail->value());
settings[QString("MaxFail")] = QString::number(ui->spinBox_fail->value());
if (ui->checkBox_route->checkState() == Qt::Unchecked)
pppoeSettings[QString("DefaultRoute")] = QString("false");
settings[QString("DefaultRoute")] = QString("false");
if (ui->checkBox_dns->checkState() == Qt::Unchecked)
pppoeSettings[QString("UsePeerDNS")] = QString("false");
settings[QString("UsePeerDNS")] = QString("false");
if (!ui->lineEdit_unit->text().isEmpty())
pppoeSettings[QString("PPPUnit")] = ui->lineEdit_unit->text();
settings[QString("PPPUnit")] = ui->lineEdit_unit->text();
if (ui->spinBox_lcpInterval->value() != 30)
pppoeSettings[QString("LCPEchoInterval")] = QString::number(ui->spinBox_lcpInterval->value());
settings[QString("LCPEchoInterval")] = QString::number(ui->spinBox_lcpInterval->value());
if (ui->spinBox_lcpFailure->value() != 4)
pppoeSettings[QString("LCPEchoFailure")] = QString::number(ui->spinBox_lcpFailure->value());
settings[QString("LCPEchoFailure")] = QString::number(ui->spinBox_lcpFailure->value());
if (!ui->lineEdit_options->text().isEmpty())
pppoeSettings[QString("OptionsFile")] = QString("'") + ui->lineEdit_options->text() + QString("'");
settings[QString("OptionsFile")] = QString("'%1'").arg(ui->lineEdit_options->text());
if (!ui->lineEdit_service->text().isEmpty())
pppoeSettings[QString("PPPoEService")] = QString("'") + ui->lineEdit_service->text() + QString("'");
settings[QString("PPPoEService")] = QString("'%1'").arg(ui->lineEdit_service->text());
if (!ui->lineEdit_ac->text().isEmpty())
pppoeSettings[QString("PPPoEAC")] = QString("'") + ui->lineEdit_ac->text() + QString("'");
if (!ui->lineEdit_session->text().remove(QChar(':')).remove(QChar(' ')).isEmpty())
pppoeSettings[QString("PPPoESession")] = QString("'") + ui->lineEdit_session->text()
.remove(QChar('\'')).remove(QChar('"')) + QString("'");
if (!ui->lineEdit_mac->text().remove(QChar(':')).remove(QChar(' ')).isEmpty())
pppoeSettings[QString("PPPoEMAC")] = QString("'") + ui->lineEdit_mac->text() + QString("'");
settings[QString("PPPoEAC")] = QString("'%1'").arg(ui->lineEdit_ac->text());
if (!ui->lineEdit_session->text().remove(QChar(':')).isEmpty())
settings[QString("PPPoESession")] = QString("'%1'").arg(ui->lineEdit_session->text());
if (!ui->lineEdit_mac->text().remove(QChar(':')).isEmpty())
settings[QString("PPPoEMAC")] = QString("'%1'").arg(ui->lineEdit_mac->text());
if (ui->checkBox_ipv6->checkState() == Qt::Checked)
pppoeSettings[QString("PPPoEIP6")] = QString("yes");
settings[QString("PPPoEIP6")] = QString("yes");
return pppoeSettings;
return settings;
}
@ -175,19 +160,19 @@ int PppoeWidget::isOk()
if (!QFile(ui->lineEdit_options->text()).exists())
return 1;
// mac address
if (!ui->lineEdit_mac->text().remove(QChar(':')).remove(QChar(' ')).isEmpty())
if (ui->lineEdit_mac->text().contains(QChar(' ')))
if (!ui->lineEdit_mac->text().remove(QChar(':')).isEmpty())
if (ui->lineEdit_mac->text().length() != (6 * 2 + 5))
return 2;
// session id is not set
if (!ui->lineEdit_session->text().remove(QChar(':')).remove(QChar(' ')).isEmpty())
if (ui->lineEdit_session->text().split(QChar(':'))[0].remove(QChar(' ')).isEmpty())
if (!ui->lineEdit_session->text().remove(QChar(':')).isEmpty())
if (ui->lineEdit_session->text().split(QChar(':'))[0].isEmpty())
return 3;
// session mac address
if (!ui->lineEdit_session->text().remove(QChar(':')).remove(QChar(' ')).isEmpty()) {
if (!ui->lineEdit_session->text().remove(QChar(':')).isEmpty()) {
QStringList item = ui->lineEdit_session->text().split(QChar(':'));
for (int i=1; i<7; i++)
if (item[i].contains(QChar(' ')))
return 4;
item.removeFirst();
if (item.join(QChar(':')).length() != (6 * 2 + 5))
return 4;
}
// all fine
return 0;
@ -197,44 +182,43 @@ int PppoeWidget::isOk()
void PppoeWidget::setSettings(const QMap<QString, QString> settings)
{
clear();
QMap<QString, QString> pppoeSettings = settings;
if (pppoeSettings.contains(QString("User")))
ui->lineEdit_username->setText(pppoeSettings[QString("User")]);
if (pppoeSettings.contains(QString("Password")))
ui->lineEdit_password->setText(pppoeSettings[QString("Password")]);
if (pppoeSettings.contains(QString("ConnectionMode")))
for (int i=0; i<ui->comboBox_connection->count(); i++)
if (pppoeSettings[QString("ConnectionMode")] == ui->comboBox_connection->itemText(i))
ui->comboBox_connection->setCurrentIndex(i);
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")] == QString("false"))
if (settings.contains(QString("User")))
ui->lineEdit_username->setText(settings[QString("User")]);
if (settings.contains(QString("Password")))
ui->lineEdit_password->setText(settings[QString("Password")]);
if (settings.contains(QString("ConnectionMode"))) {
int index = ui->comboBox_connection->findText(settings[QString("ConnectionMode")]);
ui->comboBox_connection->setCurrentIndex(index);
}
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")] == QString("false"))
ui->checkBox_route->setCheckState(Qt::Unchecked);
if (pppoeSettings.contains(QString("UsePeerDNS")))
if (pppoeSettings[QString("UsePeerDNS")] == QString("false"))
if (settings.contains(QString("UsePeerDNS")))
if (settings[QString("UsePeerDNS")] == QString("false"))
ui->checkBox_dns->setCheckState(Qt::Unchecked);
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")]);
if (pppoeSettings.contains(QString("PPPoEService")))
ui->lineEdit_service->setText(pppoeSettings[QString("PPPoEService")]);
if (pppoeSettings.contains(QString("PPPoEAC")))
ui->lineEdit_ac->setText(pppoeSettings[QString("PPPoEAC")]);
if (pppoeSettings.contains(QString("PPPoESession")))
ui->lineEdit_session->setText(pppoeSettings[QString("PPPoESession")]);
if (pppoeSettings.contains(QString("PPPoEMAC")))
ui->lineEdit_mac->setText(pppoeSettings[QString("PPPoEMAC")]);
if (pppoeSettings.contains(QString("PPPoEIP6")))
if (pppoeSettings[QString("PPPoEIP6")] == QString("yes"))
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")]);
if (settings.contains(QString("PPPoEService")))
ui->lineEdit_service->setText(settings[QString("PPPoEService")]);
if (settings.contains(QString("PPPoEAC")))
ui->lineEdit_ac->setText(settings[QString("PPPoEAC")]);
if (settings.contains(QString("PPPoESession")))
ui->lineEdit_session->setText(settings[QString("PPPoESession")]);
if (settings.contains(QString("PPPoEMAC")))
ui->lineEdit_mac->setText(settings[QString("PPPoEMAC")]);
if (settings.contains(QString("PPPoEIP6")))
if (settings[QString("PPPoEIP6")] == QString("yes"))
ui->checkBox_dns->setCheckState(Qt::Checked);
changeMode(ui->comboBox_connection->currentText());

View File

@ -38,7 +38,6 @@ public:
public slots:
void clear();
void setShown(const bool state);
private slots:
void changeMode(const QString currentText);

View File

@ -45,15 +45,6 @@ void TunnelWidget::clear()
}
void TunnelWidget::setShown(const bool state)
{
if (state)
show();
else
hide();
}
void TunnelWidget::createFilter()
{
ui->lineEdit_local->setValidator(IpRegExp::ipv4Validator());
@ -63,26 +54,23 @@ void TunnelWidget::createFilter()
QMap<QString, QString> TunnelWidget::getSettings()
{
QMap<QString, QString> tunnelSettings;
QMap<QString, QString> settings;
if (isOk() != 0)
return tunnelSettings;
if (isOk() != 0) return settings;
tunnelSettings[QString("Mode")] = QString("'") + ui->comboBox_mode->currentText() + QString("'");
if (!ui->lineEdit_local->text().remove(QChar('.')).remove(QChar(' ')).isEmpty())
tunnelSettings[QString("Local")] = QString("'") + ui->lineEdit_local->text() + QString("'");
if (!ui->lineEdit_remote->text().remove(QChar('.')).remove(QChar(' ')).isEmpty())
tunnelSettings[QString("Remote")] = QString("'") + ui->lineEdit_remote->text() + QString("'");
settings[QString("Mode")] = QString("'%1'").arg(ui->comboBox_mode->currentText());
if (!IpRegExp::checkString(ui->lineEdit_local->text(), IpRegExp::ip4Regex()))
settings[QString("Local")] = QString("'%1'").arg(ui->lineEdit_local->text());
settings[QString("Remote")] = QString("'%1'").arg(ui->lineEdit_remote->text());
return tunnelSettings;
return settings;
}
int TunnelWidget::isOk()
{
// ip is not correct
if ((!IpRegExp::checkString(ui->lineEdit_local->text(), IpRegExp::ip4Regex())) ||
(!IpRegExp::checkString(ui->lineEdit_remote->text(), IpRegExp::ip4Regex())))
if (!IpRegExp::checkString(ui->lineEdit_remote->text(), IpRegExp::ip4Regex()))
return 1;
// all fine
return 0;
@ -92,14 +80,13 @@ int TunnelWidget::isOk()
void TunnelWidget::setSettings(const QMap<QString, QString> settings)
{
clear();
QMap<QString, QString> tunnelSettings = settings;
if (tunnelSettings.contains(QString("Mode")))
for (int i=0; i<ui->comboBox_mode->count(); i++)
if (tunnelSettings[QString("Mode")] == ui->comboBox_mode->itemText(i))
ui->comboBox_mode->setCurrentIndex(i);
if (tunnelSettings.contains(QString("Local")))
ui->lineEdit_local->setText(tunnelSettings[QString("Local")]);
if (tunnelSettings.contains(QString("Remote")))
ui->lineEdit_remote->setText(tunnelSettings[QString("Remote")]);
if (settings.contains(QString("Mode"))) {
int index = ui->comboBox_mode->findText(settings[QString("Mode")]);
ui->comboBox_mode->setCurrentIndex(index);
}
if (settings.contains(QString("Local")))
ui->lineEdit_local->setText(settings[QString("Local")]);
if (settings.contains(QString("Remote")))
ui->lineEdit_remote->setText(settings[QString("Remote")]);
}

View File

@ -38,7 +38,6 @@ public:
public slots:
void clear();
void setShown(const bool state);
private:
Ui::TunnelWidget *ui;

View File

@ -42,27 +42,17 @@ void TuntapWidget::clear()
}
void TuntapWidget::setShown(const bool state)
{
if (state)
show();
else
hide();
}
QMap<QString, QString> TuntapWidget::getSettings()
{
QMap<QString, QString> tuntapSettings;
QMap<QString, QString> settings;
if (isOk() != 0)
return tuntapSettings;
if (isOk() != 0) return settings;
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("'");
settings[QString("Mode")] = QString("'%1'").arg(ui->comboBox_mode->currentText());
settings[QString("User")] = QString("'%1'").arg(ui->lineEdit_user->text());
settings[QString("Group")] = QString("'%1'").arg(ui->lineEdit_group->text());
return tuntapSettings;
return settings;
}
@ -82,14 +72,13 @@ int TuntapWidget::isOk()
void TuntapWidget::setSettings(const QMap<QString, QString> settings)
{
clear();
QMap<QString, QString> tuntapSettings = settings;
if (tuntapSettings.contains(QString("Mode")))
for (int i=0; i<ui->comboBox_mode->count(); i++)
if (tuntapSettings[QString("Mode")] == ui->comboBox_mode->itemText(i))
ui->comboBox_mode->setCurrentIndex(i);
if (tuntapSettings.contains(QString("User")))
ui->lineEdit_user->setText(tuntapSettings[QString("User")]);
if (tuntapSettings.contains(QString("Group")))
ui->lineEdit_group->setText(tuntapSettings[QString("Group")]);
if (settings.contains(QString("Mode"))) {
int index = ui->comboBox_mode->findText(settings[QString("Mode")]);
ui->comboBox_mode->setCurrentIndex(index);
}
if (settings.contains(QString("User")))
ui->lineEdit_user->setText(settings[QString("User")]);
if (settings.contains(QString("Group")))
ui->lineEdit_group->setText(settings[QString("Group")]);
}

View File

@ -38,7 +38,6 @@ public:
public slots:
void clear();
void setShown(const bool state);
private:
Ui::TuntapWidget *ui;

View File

@ -40,25 +40,15 @@ void VlanWidget::clear()
}
void VlanWidget::setShown(const bool state)
{
if (state)
show();
else
hide();
}
QMap<QString, QString> VlanWidget::getSettings()
{
QMap<QString, QString> vlanSettings;
QMap<QString, QString> settings;
if (isOk() != 0)
return vlanSettings;
if (isOk() != 0) return settings;
vlanSettings[QString("VLANID")] = QString::number(ui->spinBox_vlan->value());
settings[QString("VLANID")] = QString::number(ui->spinBox_vlan->value());
return vlanSettings;
return settings;
}
@ -72,8 +62,7 @@ int VlanWidget::isOk()
void VlanWidget::setSettings(const QMap<QString, QString> settings)
{
clear();
QMap<QString, QString> vlanSettings = settings;
if (vlanSettings.contains(QString("VLANID")))
ui->spinBox_vlan->setValue(vlanSettings[QString("VLANID")].toInt());
if (settings.contains(QString("VLANID")))
ui->spinBox_vlan->setValue(settings[QString("VLANID")].toInt());
}

View File

@ -38,7 +38,6 @@ public:
public slots:
void clear();
void setShown(const bool state);
private:
Ui::VlanWidget *ui;

View File

@ -68,12 +68,12 @@ void WirelessWidget::clear()
if (rfkillDirectory->exists()) {
QStringList rfkillDevices = rfkillDirectory->entryList(QDir::Dirs | QDir::NoDotAndDotDot);
for (int i=0; i<rfkillDevices.count(); i++) {
QFile device(rfkillDirectory->absolutePath() + QDir::separator() + rfkillDevices[i] +
QDir::separator() + QString("name"));
QString deviceName;
if (device.open(QIODevice::ReadOnly))
deviceName = QString(device.readLine()).trimmed();
ui->comboBox_rfkill->addItem(deviceName);
QFile device(QString("%1%2%3%2name").arg(rfkillDirectory->absolutePath())
.arg(QDir::separator())
.arg(rfkillDevices[i]));
if (!device.open(QIODevice::ReadOnly)) continue;
ui->comboBox_rfkill->addItem(QString(device.readLine()).trimmed());
device.close();
}
}
ui->comboBox_rfkill->setCurrentIndex(0);
@ -85,15 +85,6 @@ void WirelessWidget::clear()
}
void WirelessWidget::setShown(const bool state)
{
if (state)
show();
else
hide();
}
void WirelessWidget::createActions()
{
connect(ui->pushButton_wirelessAdvanced, SIGNAL(clicked(bool)), this, SLOT(showAdvanced()));
@ -111,13 +102,13 @@ void WirelessWidget::keyPressEvent(QKeyEvent *pressedKey)
{
if (pressedKey->key() == Qt::Key_Delete) {
if (ui->listWidget_wpaConfigSection->hasFocus() &&
(ui->listWidget_wpaConfigSection->currentItem() != 0))
(ui->listWidget_wpaConfigSection->currentItem() != nullptr))
delete ui->listWidget_wpaConfigSection->currentItem();
else if (ui->listWidget_freq->hasFocus() &&
(ui->listWidget_freq->currentItem() != 0))
(ui->listWidget_freq->currentItem() != nullptr))
delete ui->listWidget_freq->currentItem();
else if (ui->listWidget_drivers->hasFocus() &&
(ui->listWidget_drivers->currentItem() != 0))
(ui->listWidget_drivers->currentItem() != nullptr))
delete ui->listWidget_drivers->currentItem();
}
}
@ -126,11 +117,7 @@ void WirelessWidget::keyPressEvent(QKeyEvent *pressedKey)
void WirelessWidget::addDriver()
{
QString driver = ui->comboBox_drivers->currentText();
bool exists = false;
for (int i=0; i<ui->listWidget_drivers->count(); i++)
if (ui->listWidget_drivers->item(i)->text() == driver)
exists = true;
if (!exists)
if (ui->listWidget_drivers->findItems(driver, Qt::MatchExactly).count() == 0)
ui->listWidget_drivers->addItem(driver);
}
@ -138,11 +125,7 @@ void WirelessWidget::addDriver()
void WirelessWidget::addFreq()
{
QString freq = QString::number(ui->spinBox_freq->value());
bool exists = false;
for (int i=0; i<ui->listWidget_freq->count(); i++)
if (ui->listWidget_freq->item(i)->text() == freq)
exists = true;
if (!exists)
if (ui->listWidget_freq->findItems(freq, Qt::MatchExactly).count() == 0)
ui->listWidget_freq->addItem(freq);
}
@ -156,35 +139,18 @@ void WirelessWidget::addOption()
void WirelessWidget::changeSecurity(const QString currentText)
{
if (currentText == QString("none")) {
ui->widget_essid->setHidden(false);
ui->widget_wpaConfigSection->setHidden(true);
ui->widget_wpaConfig->setHidden(true);
ui->widget_key->setHidden(true);
} else if ((currentText == QString("wep")) ||
(currentText == QString("wpa"))) {
ui->widget_essid->setHidden(false);
ui->widget_wpaConfigSection->setHidden(true);
ui->widget_wpaConfig->setHidden(true);
ui->widget_key->setHidden(false);
} else if (currentText == QString("wpa-configsection")) {
ui->widget_essid->setHidden(true);
ui->widget_wpaConfigSection->setHidden(false);
ui->widget_wpaConfig->setHidden(true);
ui->widget_key->setHidden(true);
} else if (currentText == QString("wpa-config")) {
ui->widget_essid->setHidden(true);
ui->widget_wpaConfigSection->setHidden(true);
ui->widget_wpaConfig->setHidden(false);
ui->widget_key->setHidden(true);
}
ui->widget_essid->setHidden((currentText != QString("none")) &&
(currentText != QString("wep")) &&
(currentText != QString("wpa")));
ui->widget_key->setHidden((currentText != QString("wep")) && (currentText != QString("wpa")));
ui->widget_wpaConfig->setHidden(currentText != QString("wpa-config"));
ui->widget_wpaConfigSection->setHidden(currentText != QString("wpa-configsection"));
}
void WirelessWidget::selectWpaConfig()
{
QString filename = QFileDialog::getOpenFileName(
this,
QString filename = QFileDialog::getOpenFileName(this,
QApplication::translate("EthernetWidget", "Select wpa configuration file"),
QDir::currentPath(),
QApplication::translate("EthernetWidget", "Configuration files (*.conf)"));
@ -207,60 +173,59 @@ void WirelessWidget::showAdvanced()
QMap<QString, QString> WirelessWidget::getSettings()
{
QMap<QString, QString> wirelessSettings;
QMap<QString, QString> settings;
if (isOk() != 0)
return wirelessSettings;
if (isOk() != 0) return settings;
wirelessSettings[QString("Security")] = ui->comboBox_security->currentText();
wirelessSettings[QString("ESSID")] = QString("'") + ui->lineEdit_essid->text() + QString("'");
settings[QString("Security")] = ui->comboBox_security->currentText();
settings[QString("ESSID")] = QString("'%1'").arg(ui->lineEdit_essid->text());
if (ui->comboBox_security->currentText() == QString("wep")) {
if (ui->lineEdit_key->text().indexOf(QString("\\\"")) == 0)
wirelessSettings[QString("Key")] = ui->lineEdit_key->text();
settings[QString("Key")] = ui->lineEdit_key->text();
else
wirelessSettings[QString("Key")] = QString("'") + ui->lineEdit_key->text() + QString("'");
settings[QString("Key")] = QString("'%1'").arg(ui->lineEdit_key->text());
} else if (ui->comboBox_security->currentText() == QString("wpa"))
wirelessSettings[QString("Key")] = QString("'") + ui->lineEdit_key->text() + QString("'");
settings[QString("Key")] = QString("'%1'").arg(ui->lineEdit_key->text());
if (ui->comboBox_security->currentText() == QString("wpa-configsection")) {
QStringList section;
for (int i=0; i<ui->listWidget_wpaConfigSection->count(); i++)
section.append(QString("'") + ui->listWidget_wpaConfigSection->item(i)->text() + QString("'"));
wirelessSettings[QString("WPAConfigSection")] = QString("\n") + section.join(QChar('\n')) + QString("\n");
section.append(QString("'%1'").arg(ui->listWidget_wpaConfigSection->item(i)->text()));
settings[QString("WPAConfigSection")] = QString("\n%1\n").arg(section.join(QChar('\n')));
}
if (ui->comboBox_security->currentText() == QString("wpa-config"))
wirelessSettings[QString("WPAConfigFile")] = QString("'") + ui->lineEdit_wpaConfig->text() + QString("'");
settings[QString("WPAConfigFile")] = QString("'%1'").arg(ui->lineEdit_wpaConfig->text());
if (ui->checkBox_hidden->checkState() == Qt::Checked)
wirelessSettings[QString("Hidden")] = QString("yes");
settings[QString("Hidden")] = QString("yes");
if (ui->checkBox_adhoc->checkState() == Qt::Checked)
wirelessSettings[QString("AdHoc")] = QString("yes");
settings[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(QChar(' '));
settings[QString("ScanFrequencies")] = freqs.join(QChar(' '));
}
if (ui->spinBox_frequency->value() != 2000)
wirelessSettings[QString("Frequency")] = QString::number(ui->spinBox_frequency->value());
settings[QString("Frequency")] = QString::number(ui->spinBox_frequency->value());
if (ui->spinBox_priority->value() != 0)
wirelessSettings[QString("Priority")] = QString::number(ui->spinBox_priority->value());
settings[QString("Priority")] = QString::number(ui->spinBox_priority->value());
if (!ui->lineEdit_country->text().isEmpty())
wirelessSettings[QString("Country")] = QString("'") + ui->lineEdit_country->text() + QString("'");
settings[QString("Country")] = QString("'%1'").arg(ui->lineEdit_country->text());
if (ui->lineEdit_wpaGroup->text() != QString("wheel"))
wirelessSettings[QString("WPAGroup")] = QString("'") + ui->lineEdit_wpaGroup->text() + QString("'");
settings[QString("WPAGroup")] = QString("'%1'").arg(ui->lineEdit_wpaGroup->text());
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(QChar(',')) + QString("'");
settings[QString("WPADriver")] = QString("'%1'").arg(drivers.join(QChar(',')));
}
if (ui->comboBox_rfkill->currentText() != QString("auto"))
wirelessSettings[QString("RFKill")] = ui->comboBox_rfkill->currentText();
settings[QString("RFKill")] = ui->comboBox_rfkill->currentText();
if (ui->spinBox_timeoutWpa->value() != 15)
wirelessSettings[QString("TimeoutWPA")] = QString::number(ui->spinBox_timeoutWpa->value());
settings[QString("TimeoutWPA")] = QString::number(ui->spinBox_timeoutWpa->value());
if (ui->checkBox_exclude->checkState() == Qt::Checked)
wirelessSettings[QString("ExcludeAuto")] = QString("yes");
settings[QString("ExcludeAuto")] = QString("yes");
return wirelessSettings;
return settings;
}
@ -268,7 +233,7 @@ int WirelessWidget::isOk()
{
// empty key
if ((ui->comboBox_security->currentText() == QString("wep")) ||
(ui->comboBox_security->currentText() == QString("wpa")))
(ui->comboBox_security->currentText() == QString("wpa")))
if (ui->lineEdit_key->text().isEmpty())
return 1;
// empty settings
@ -285,8 +250,8 @@ int WirelessWidget::isOk()
return 4;
// essid is not set
if ((ui->comboBox_security->currentText() == QString("none")) ||
(ui->comboBox_security->currentText() == QString("wep")) ||
(ui->comboBox_security->currentText() == QString("wpa")))
(ui->comboBox_security->currentText() == QString("wep")) ||
(ui->comboBox_security->currentText() == QString("wpa")))
if (ui->lineEdit_essid->text().isEmpty())
return 5;
// all fine
@ -297,52 +262,52 @@ int WirelessWidget::isOk()
void WirelessWidget::setSettings(const QMap<QString, QString> settings)
{
clear();
QMap<QString, QString> wirelessSettings = settings;
if (wirelessSettings.contains(QString("Security")))
for (int i=0; i<ui->comboBox_security->count(); i++)
if (wirelessSettings[QString("Security")] == ui->comboBox_security->itemText(i))
ui->comboBox_security->setCurrentIndex(i);
if (wirelessSettings.contains(QString("ESSID")))
ui->lineEdit_essid->setText(wirelessSettings[QString("ESSID")]);
if (wirelessSettings.contains(QString("Key"))) {
// workaround for wireless-wep example
if (wirelessSettings.contains(QString("Security")))
if ((wirelessSettings[QString("Security")] == QString("wep")) &&
(wirelessSettings[QString("Key")][0] == QChar('"')))
wirelessSettings[QString("Key")] = QChar('\\') + wirelessSettings[QString("Key")];
ui->lineEdit_key->setText(wirelessSettings[QString("Key")]);
if (settings.contains(QString("Security"))) {
int index = ui->comboBox_security->findText(settings[QString("Security")]);
ui->comboBox_security->setCurrentIndex(index);
}
if (wirelessSettings.contains(QString("WPAConfigSection")))
ui->listWidget_wpaConfigSection->addItems(wirelessSettings[QString("WPAConfigSection")].split(QChar('\n')));
if (wirelessSettings.contains(QString("WPAConfigFile")))
ui->lineEdit_wpaConfig->setText(wirelessSettings[QString("WPAConfigFile")]);
if (wirelessSettings.contains(QString("Hidden")))
if (wirelessSettings[QString("Hidden")] == QString("yes"))
if (settings.contains(QString("ESSID")))
ui->lineEdit_essid->setText(settings[QString("ESSID")]);
if (settings.contains(QString("Key"))) {
QString key = settings[QString("Key")];
// workaround for wireless-wep example
if (settings.contains(QString("Security")))
if ((settings[QString("Security")] == QString("wep")) &&
(key[0] == QChar('"')))
key = QChar('\\') + key;
ui->lineEdit_key->setText(key);
}
if (settings.contains(QString("WPAConfigSection")))
ui->listWidget_wpaConfigSection->addItems(settings[QString("WPAConfigSection")].split(QChar('\n')));
if (settings.contains(QString("WPAConfigFile")))
ui->lineEdit_wpaConfig->setText(settings[QString("WPAConfigFile")]);
if (settings.contains(QString("Hidden")))
if (settings[QString("Hidden")] == QString("yes"))
ui->checkBox_hidden->setCheckState(Qt::Checked);
if (wirelessSettings.contains(QString("AdHoc")))
if (wirelessSettings[QString("AdHoc")] == QString("yes"))
if (settings.contains(QString("AdHoc")))
if (settings[QString("AdHoc")] == QString("yes"))
ui->checkBox_adhoc->setCheckState(Qt::Checked);
if (wirelessSettings.contains(QString("ScanFrequencies")))
ui->listWidget_freq->addItems(wirelessSettings[QString("ScanFrequencies")].split(QChar('\n')));
if (wirelessSettings.contains(QString("Frequency")))
ui->spinBox_frequency->setValue(wirelessSettings[QString("Frequency")].toInt());
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")]);
if (wirelessSettings.contains(QString("WPAGroup")))
ui->lineEdit_wpaGroup->setText(wirelessSettings[QString("WPAGroup")]);
if (wirelessSettings.contains(QString("WPADriver")))
ui->listWidget_drivers->addItems(wirelessSettings[QString("WPADriver")].split(QChar(',')));
if (wirelessSettings.contains(QString("RFKill")))
for (int i=0; i<ui->comboBox_rfkill->count(); i++)
if (wirelessSettings[QString("RFKill")] == ui->comboBox_rfkill->itemText(i))
ui->comboBox_rfkill->setCurrentIndex(i);
if (wirelessSettings.contains(QString("TimeoutWPA")))
ui->spinBox_timeoutWpa->setValue(wirelessSettings[QString("TimeoutWPA")].toInt());
if (wirelessSettings.contains(QString("ExcludeAuto")))
if (wirelessSettings[QString("ExcludeAuto")] == QString("yes"))
if (settings.contains(QString("ScanFrequencies")))
ui->listWidget_freq->addItems(settings[QString("ScanFrequencies")].split(QChar('\n')));
if (settings.contains(QString("Frequency")))
ui->spinBox_frequency->setValue(settings[QString("Frequency")].toInt());
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")]);
if (settings.contains(QString("WPAGroup")))
ui->lineEdit_wpaGroup->setText(settings[QString("WPAGroup")]);
if (settings.contains(QString("WPADriver")))
ui->listWidget_drivers->addItems(settings[QString("WPADriver")].split(QChar(',')));
if (settings.contains(QString("RFKill"))) {
int index = ui->comboBox_rfkill->findText(settings[QString("RFKill")]);
ui->comboBox_rfkill->setCurrentIndex(index);
}
if (settings.contains(QString("TimeoutWPA")))
ui->spinBox_timeoutWpa->setValue(settings[QString("TimeoutWPA")].toInt());
if (settings.contains(QString("ExcludeAuto")))
if (settings[QString("ExcludeAuto")] == QString("yes"))
ui->checkBox_exclude->setCheckState(Qt::Checked);
changeSecurity(ui->comboBox_security->currentText());

View File

@ -41,7 +41,6 @@ public:
public slots:
void clear();
void setShown(const bool state);
private slots:
void addDriver();