small fixes

This commit is contained in:
arcan1s 2014-02-26 02:21:42 +04:00
parent 946b470d11
commit 0c219544b2
19 changed files with 333 additions and 208 deletions

View File

@ -43,9 +43,9 @@ void BridgeWidget::clear()
void BridgeWidget::setShown(bool state) void BridgeWidget::setShown(bool state)
{ {
if (state) if (state)
BridgeWidget::show(); show();
else else
BridgeWidget::hide(); hide();
} }

View File

@ -36,14 +36,53 @@ void ErrorWindow::setMessage(int mess)
{ {
QString message; QString message;
switch(mess) { switch(mess) {
case 0:
message = QApplication::translate("ErrorWindow", "Unknown error");
break;
case 1: case 1:
message = QApplication::translate("ErrorWindow", "Could not find components"); message = QApplication::translate("ErrorWindow", "Could not find components");
break; break;
case 2: case 2:
message = QApplication::translate("ErrorWindow", "Doesn't support yet"); message = QApplication::translate("ErrorWindow", "Does not support yet");
break;
case 3:
message = QApplication::translate("ErrorWindow", "Profile name is not set");
break;
case 4:
message = QApplication::translate("ErrorWindow", "Bind interfaces are not set");
break;
case 5:
message = QApplication::translate("ErrorWindow", "Description is not set");
break;
case 6:
message = QApplication::translate("ErrorWindow", "Ip settings are not set");
break;
case 7:
message = QApplication::translate("ErrorWindow", "Configuration file does not exist");
break;
case 8:
message = QApplication::translate("ErrorWindow", "Key is not set");
break;
case 9:
message = QApplication::translate("ErrorWindow", "Wireless settings are not set");
break;
case 10:
message = QApplication::translate("ErrorWindow", "Configuration file is not set");
break;
case 11:
message = QApplication::translate("ErrorWindow", "ESSID is not set");
break;
case 12:
message = QApplication::translate("ErrorWindow", "MAC address is incorrect");
break;
case 13:
message = QApplication::translate("ErrorWindow", "Session ID is not set");
break;
case 14:
message = QApplication::translate("ErrorWindow", "APN is not set");
break;
case 15:
message = QApplication::translate("ErrorWindow", "APN is not set");
break;
case 16:
message = QApplication::translate("ErrorWindow", "Empty user/group name");
break; break;
default: default:
message = QApplication::translate("ErrorWindow", "Unknown error"); message = QApplication::translate("ErrorWindow", "Unknown error");

View File

@ -57,9 +57,9 @@ void EthernetWidget::clear()
void EthernetWidget::setShown(bool state) void EthernetWidget::setShown(bool state)
{ {
if (state) if (state)
EthernetWidget::show(); show();
else else
EthernetWidget::hide(); hide();
} }

View File

@ -69,9 +69,9 @@ void GeneralWidget::clear()
void GeneralWidget::setShown(bool state) void GeneralWidget::setShown(bool state)
{ {
if (state) if (state)
GeneralWidget::show(); show();
else else
GeneralWidget::hide(); hide();
} }

View File

@ -43,7 +43,7 @@ void IpWidget::clear()
ui->checkBox_ip->setCheckState(Qt::Checked); ui->checkBox_ip->setCheckState(Qt::Checked);
ui->comboBox_ip->setCurrentIndex(0); ui->comboBox_ip->setCurrentIndex(0);
ipEnable(ui->checkBox_ip->checkState()); ipEnable(ui->checkBox_ip->checkState());
changeIpMode(ui->comboBox_ip->currentIndex()); changeIpMode(ui->comboBox_ip->currentText());
ui->lineEdit_ipAddress->clear(); ui->lineEdit_ipAddress->clear();
ui->listWidget_ipAddress->setCurrentRow(-1); ui->listWidget_ipAddress->setCurrentRow(-1);
ui->listWidget_ipAddress->clear(); ui->listWidget_ipAddress->clear();
@ -55,7 +55,7 @@ void IpWidget::clear()
ui->checkBox_ip6->setCheckState(Qt::Unchecked); ui->checkBox_ip6->setCheckState(Qt::Unchecked);
ui->comboBox_ip6->setCurrentIndex(0); ui->comboBox_ip6->setCurrentIndex(0);
ip6Enable(ui->checkBox_ip6->checkState()); ip6Enable(ui->checkBox_ip6->checkState());
changeIp6Mode(ui->comboBox_ip6->currentIndex()); changeIp6Mode(ui->comboBox_ip6->currentText());
ui->lineEdit_ipAddress6->clear(); ui->lineEdit_ipAddress6->clear();
ui->listWidget_ipAddress6->setCurrentRow(-1); ui->listWidget_ipAddress6->setCurrentRow(-1);
ui->listWidget_ipAddress6->clear(); ui->listWidget_ipAddress6->clear();
@ -69,7 +69,7 @@ void IpWidget::clear()
ui->lineEdit_hostname->clear(); ui->lineEdit_hostname->clear();
ui->spinBox_timeoutDad->setValue(3); ui->spinBox_timeoutDad->setValue(3);
ui->comboBox_dhcp->setCurrentIndex(0); ui->comboBox_dhcp->setCurrentIndex(0);
changeDhcpClient(ui->comboBox_dhcp->currentIndex()); changeDhcpClient(ui->comboBox_dhcp->currentText());
ui->lineEdit_dhcpcdOpt->clear(); ui->lineEdit_dhcpcdOpt->clear();
ui->lineEdit_dhclientOpt->clear(); ui->lineEdit_dhclientOpt->clear();
ui->lineEdit_dhclientOpt6->clear(); ui->lineEdit_dhclientOpt6->clear();
@ -92,9 +92,9 @@ void IpWidget::clear()
void IpWidget::setShown(bool state) void IpWidget::setShown(bool state)
{ {
if (state) if (state)
IpWidget::show(); show();
else else
IpWidget::hide(); hide();
} }
@ -103,12 +103,12 @@ void IpWidget::createActions()
connect(ui->pushButton_ipAdvanced, SIGNAL(clicked(bool)), this, SLOT(showAdvanced())); connect(ui->pushButton_ipAdvanced, SIGNAL(clicked(bool)), this, SLOT(showAdvanced()));
// ip mode // ip mode
connect(ui->checkBox_ip, SIGNAL(stateChanged(int)), this, SLOT(ipEnable(int))); connect(ui->checkBox_ip, SIGNAL(stateChanged(int)), this, SLOT(ipEnable(int)));
connect(ui->comboBox_ip, SIGNAL(currentIndexChanged(int)), this, SLOT(changeIpMode(int))); connect(ui->comboBox_ip, SIGNAL(currentIndexChanged(QString)), this, SLOT(changeIpMode(QString)));
// ipv6 mode // ipv6 mode
connect(ui->checkBox_ip6, SIGNAL(stateChanged(int)), this, SLOT(ip6Enable(int))); connect(ui->checkBox_ip6, SIGNAL(stateChanged(int)), this, SLOT(ip6Enable(int)));
connect(ui->comboBox_ip6, SIGNAL(currentIndexChanged(int)), this, SLOT(changeIp6Mode(int))); connect(ui->comboBox_ip6, SIGNAL(currentIndexChanged(QString)), this, SLOT(changeIp6Mode(QString)));
// dhcp client // dhcp client
connect(ui->comboBox_dhcp, SIGNAL(currentIndexChanged(int)), this, SLOT(changeDhcpClient(int))); connect(ui->comboBox_dhcp, SIGNAL(currentIndexChanged(QString)), this, SLOT(changeDhcpClient(QString)));
// buttons // buttons
connect(ui->pushButton_ipAddress, SIGNAL(clicked(bool)), this, SLOT(addIp())); connect(ui->pushButton_ipAddress, SIGNAL(clicked(bool)), this, SLOT(addIp()));
connect(ui->pushButton_ipRoutes, SIGNAL(clicked(bool)), this, SLOT(addIpRoutes())); connect(ui->pushButton_ipRoutes, SIGNAL(clicked(bool)), this, SLOT(addIpRoutes()));
@ -168,10 +168,10 @@ void IpWidget::keyPressEvent(QKeyEvent *pressedKey)
} }
void IpWidget::addIp() QString IpWidget::getIp(QString rawIp)
{ {
QStringList ip = ui->lineEdit_ipAddress->text().remove(" ").split(QString("/"))[0].split(QString(".")); QStringList ip = rawIp.split(QString("."));
QString prefix = ui->lineEdit_ipAddress->text().remove(" ").split(QString("/"))[1];
// fix empty fields // fix empty fields
if (ip[0].isEmpty()) if (ip[0].isEmpty())
ip[0] = QString("127"); ip[0] = QString("127");
@ -185,49 +185,69 @@ void IpWidget::addIp()
for (int i=0; i<4; i++) for (int i=0; i<4; i++)
if (ip[i].toInt() > 255) if (ip[i].toInt() > 255)
ip[i] = QString("255"); ip[i] = QString("255");
if (prefix.isEmpty())
return ip.join(QString("."));
}
QString IpWidget::getPrefix(QString rawPrefix)
{
QString prefix;
if (rawPrefix.isEmpty())
prefix = QString("24"); prefix = QString("24");
if (prefix.toInt() > 32) else if (rawPrefix.toInt() > 32)
prefix = QString("32"); prefix = QString("32");
ui->listWidget_ipAddress->addItem(ip.join(QString(".")) + QString("/") + prefix); else
prefix = rawPrefix;
return prefix;
}
QString IpWidget::getIp6(QString rawIp)
{
QString ip = rawIp;
for (int i=0; i<5; i++)
ip.replace(QString(":::"), QString("::"));
return ip;
}
QString IpWidget::getPrefix6(QString rawPrefix)
{
QString prefix;
if (rawPrefix.isEmpty())
prefix = QString("64");
else if (rawPrefix.toInt() > 128)
prefix = QString("128");
else
prefix = rawPrefix;
return prefix;
}
void IpWidget::addIp()
{
QString ip = getIp(ui->lineEdit_ipAddress->text().remove(" ").split(QString("/"))[0]);
QString prefix = getPrefix(ui->lineEdit_ipAddress->text().remove(" ").split(QString("/"))[1]);
ui->listWidget_ipAddress->addItem(ip + QString("/") + prefix);
ui->lineEdit_ipAddress->clear(); ui->lineEdit_ipAddress->clear();
} }
void IpWidget::addIpRoutes() void IpWidget::addIpRoutes()
{ {
QStringList ip = ui->lineEdit_ipRoutes->text().remove(" ").split(QString("/"))[0].split(QString(".")); QString ip = getIp(ui->lineEdit_ipRoutes->text().remove(" ").split(QString("/"))[0]);
QString prefix = ui->lineEdit_ipRoutes->text().remove(" ").split(QString("/"))[1]; QString prefix = getPrefix(ui->lineEdit_ipRoutes->text().remove(" ").split(QString("/"))[1]);
QStringList ipVia = ui->lineEdit_ipRoutes2->text().remove(" ").split(QString(".")); QString ipVia = getIp(ui->lineEdit_ipRoutes2->text().remove(" "));
// fix empty fields
if (ip[0].isEmpty()) ui->listWidget_ipRoutes->addItem(ip + QString("/") + prefix + QString(" via ") + ipVia);
ip[0] = QString("127");
if (ip[1].isEmpty())
ip[1] = QString("0");
if (ip[2].isEmpty())
ip[2] = QString("0");
if (ip[3].isEmpty())
ip[3] = QString("1");
if (ipVia[0].isEmpty())
ipVia[0] = QString("127");
if (ipVia[1].isEmpty())
ipVia[1] = QString("0");
if (ipVia[2].isEmpty())
ipVia[2] = QString("0");
if (ipVia[3].isEmpty())
ipVia[3] = QString("1");
// fix numbers
for (int i=0; i<4; i++)
if (ip[i].toInt() > 255)
ip[i] = QString("255");
if (prefix.isEmpty())
prefix = QString("24");
if (prefix.toInt() > 32)
prefix = QString("32");
for (int i=0; i<4; i++)
if (ipVia[i].toInt() > 255)
ipVia[i] = QString("255");
ui->listWidget_ipRoutes->addItem(ip.join(QString(".")) + QString("/") + prefix + QString(" via ") + ipVia.join(QString(".")));
ui->lineEdit_ipRoutes->clear(); ui->lineEdit_ipRoutes->clear();
ui->lineEdit_ipRoutes2->clear(); ui->lineEdit_ipRoutes2->clear();
} }
@ -235,16 +255,9 @@ void IpWidget::addIpRoutes()
void IpWidget::addIp6() void IpWidget::addIp6()
{ {
QString ip = ui->lineEdit_ipAddress6->text().remove(" ").split(QString("/"))[0]; QString ip = getIp6(ui->lineEdit_ipAddress6->text().remove(" ").split(QString("/"))[0]);
QString prefix = ui->lineEdit_ipAddress6->text().remove(" ").split(QString("/"))[1]; QString prefix = getPrefix6(ui->lineEdit_ipAddress6->text().remove(" ").split(QString("/"))[1]);
// fix empty fields
for (int i=0; i<5; i++)
ip.replace(QString(":::"), QString("::"));
// fix numbers
if (prefix.isEmpty())
prefix = QString("64");
if (prefix.toInt() > 128)
prefix = QString("128");
ui->listWidget_ipAddress6->addItem(ip + QString("/") + prefix); ui->listWidget_ipAddress6->addItem(ip + QString("/") + prefix);
ui->lineEdit_ipAddress6->clear(); ui->lineEdit_ipAddress6->clear();
} }
@ -252,19 +265,10 @@ void IpWidget::addIp6()
void IpWidget::addIpRoutes6() void IpWidget::addIpRoutes6()
{ {
QString ip = ui->lineEdit_ipRoutes6->text().remove(" ").split(QString("/"))[0]; QString ip = getIp6(ui->lineEdit_ipRoutes6->text().remove(" ").split(QString("/"))[0]);
QString prefix = ui->lineEdit_ipRoutes6->text().remove(" ").split(QString("/"))[1]; QString prefix = getPrefix6(ui->lineEdit_ipRoutes6->text().remove(" ").split(QString("/"))[1]);
QString ipVia = ui->lineEdit_ipRoutes62->text().remove(" "); QString ipVia = getIp6(ui->lineEdit_ipRoutes62->text().remove(" "));
// fix empty fields
for (int i=0; i<5; i++)
ip.replace(QString(":::"), QString("::"));
for (int i=0; i<5; i++)
ipVia.replace(QString(":::"), QString("::"));
// fix numbers
if (prefix.isEmpty())
prefix = QString("64");
if (prefix.toInt() > 128)
prefix = QString("128");
ui->listWidget_ipRoutes6->addItem(ip + QString("/") + prefix + QString(" via ") + ipVia); ui->listWidget_ipRoutes6->addItem(ip + QString("/") + prefix + QString(" via ") + ipVia);
ui->lineEdit_ipRoutes6->clear(); ui->lineEdit_ipRoutes6->clear();
ui->lineEdit_ipRoutes62->clear(); ui->lineEdit_ipRoutes62->clear();
@ -281,21 +285,9 @@ void IpWidget::addCustom()
void IpWidget::addDns() void IpWidget::addDns()
{ {
QStringList ip = ui->lineEdit_dns->text().remove(" ").split(QString(".")); QString ip = getIp(ui->lineEdit_dns->text().remove(" "));
// fix empty fields
if (ip[0].isEmpty()) ui->listWidget_dns->addItem(ip);
ip[0] = QString("127");
if (ip[1].isEmpty())
ip[1] = QString("0");
if (ip[2].isEmpty())
ip[2] = QString("0");
if (ip[3].isEmpty())
ip[3] = QString("1");
// fix numbers
for (int i=0; i<4; i++)
if (ip[i].toInt() > 255)
ip[i] = QString("255");
ui->listWidget_dns->addItem(ip.join(QString(".")));
ui->lineEdit_dns->clear(); ui->lineEdit_dns->clear();
} }
@ -308,13 +300,11 @@ void IpWidget::addDnsOpt()
} }
void IpWidget::changeIpMode(int index) void IpWidget::changeIpMode(QString currentText)
{ {
if (index == 0) if (currentText == QString("dhcp"))
// dhcp
ui->widget_ip->setHidden(true); ui->widget_ip->setHidden(true);
else if (index == 1) else if (currentText == QString("static"))
// static
ui->widget_ip->setShown(true); ui->widget_ip->setShown(true);
} }
@ -334,13 +324,13 @@ void IpWidget::ipEnable(int state)
} }
void IpWidget::changeIp6Mode(int index) void IpWidget::changeIp6Mode(QString currentText)
{ {
if ((index == 0) || (index == 1)) if ((currentText == QString("dhcp")) ||
// dhcp (currentText == QString("dhcp-noaddr")))
ui->widget_ip6->setHidden(true); ui->widget_ip6->setHidden(true);
else if ((index == 2) || (index == 3)) else if ((currentText == QString("static")) ||
// static (currentText == QString("stateless")))
ui->widget_ip6->setShown(true); ui->widget_ip6->setShown(true);
} }
@ -360,15 +350,13 @@ void IpWidget::ip6Enable(int state)
} }
void IpWidget::changeDhcpClient(int index) void IpWidget::changeDhcpClient(QString currentText)
{ {
if (index == 0) { if (currentText == QString("dhcpcd")) {
// dhcp
ui->widget_dhcpcdOpt->setShown(true); ui->widget_dhcpcdOpt->setShown(true);
ui->widget_dhclientOpt->setHidden(true); ui->widget_dhclientOpt->setHidden(true);
} }
else if (index == 1) { else if (currentText == QString("dhclient")) {
// dhclient
ui->widget_dhcpcdOpt->setHidden(true); ui->widget_dhcpcdOpt->setHidden(true);
ui->widget_dhclientOpt->setShown(true); ui->widget_dhclientOpt->setShown(true);
} }
@ -395,7 +383,7 @@ QHash<QString, QString> IpWidget::getSettings()
if (isOk() == 0) { if (isOk() == 0) {
if (ui->checkBox_ip->checkState() == Qt::Checked) { if (ui->checkBox_ip->checkState() == Qt::Checked) {
ipSettings[QString("IP")] = ui->comboBox_ip->currentText(); ipSettings[QString("IP")] = ui->comboBox_ip->currentText();
if (ui->comboBox_ip->currentIndex() == 1) { if (ui->comboBox_ip->currentText() == QString("static")) {
QStringList addresses; QStringList addresses;
for (int i=0; i<ui->listWidget_ipAddress->count(); i++) for (int i=0; i<ui->listWidget_ipAddress->count(); i++)
addresses.append(QString("'") + ui->listWidget_ipAddress->item(i)->text() + QString("'")); addresses.append(QString("'") + ui->listWidget_ipAddress->item(i)->text() + QString("'"));
@ -413,8 +401,8 @@ QHash<QString, QString> IpWidget::getSettings()
ipSettings[QString("IP")] = QString("no"); ipSettings[QString("IP")] = QString("no");
if (ui->checkBox_ip6->checkState() == Qt::Checked) { if (ui->checkBox_ip6->checkState() == Qt::Checked) {
ipSettings[QString("IP6")] = ui->comboBox_ip6->currentText(); ipSettings[QString("IP6")] = ui->comboBox_ip6->currentText();
if ((ui->comboBox_ip6->currentIndex() == 2) || if ((ui->comboBox_ip6->currentText() == QString("static")) ||
(ui->comboBox_ip6->currentIndex() == 3)) { (ui->comboBox_ip6->currentText() == QString("stateless"))) {
QStringList addresses; QStringList addresses;
for (int i=0; i<ui->listWidget_ipAddress6->count(); i++) for (int i=0; i<ui->listWidget_ipAddress6->count(); i++)
addresses.append(QString("'") + ui->listWidget_ipAddress6->item(i)->text() + QString("'")); addresses.append(QString("'") + ui->listWidget_ipAddress6->item(i)->text() + QString("'"));
@ -440,11 +428,11 @@ QHash<QString, QString> IpWidget::getSettings()
ipSettings[QString("Hostname")] = QString("'") + ui->lineEdit_hostname->text() + QString("'"); ipSettings[QString("Hostname")] = QString("'") + ui->lineEdit_hostname->text() + QString("'");
if (ui->spinBox_timeoutDad->value() != 3) if (ui->spinBox_timeoutDad->value() != 3)
ipSettings[QString("TimeoutDAD")] = QString(ui->spinBox_timeoutDad->value()); ipSettings[QString("TimeoutDAD")] = QString(ui->spinBox_timeoutDad->value());
if (ui->comboBox_dhcp->currentIndex() == 0) { if (ui->comboBox_dhcp->currentText() == QString("dhcpcd")) {
if (!ui->lineEdit_dhcpcdOpt->text().isEmpty()) if (!ui->lineEdit_dhcpcdOpt->text().isEmpty())
ipSettings[QString("DhcpcdOptions")] = QString("'") + ui->lineEdit_dhcpcdOpt->text() + QString("'"); ipSettings[QString("DhcpcdOptions")] = QString("'") + ui->lineEdit_dhcpcdOpt->text() + QString("'");
} }
else if (ui->comboBox_dhcp->currentIndex() == 1) { else if (ui->comboBox_dhcp->currentText() == QString("dhclient")) {
ipSettings[QString("DHCPClient")] = ui->comboBox_dhcp->currentText(); ipSettings[QString("DHCPClient")] = ui->comboBox_dhcp->currentText();
if (!ui->lineEdit_dhclientOpt->text().isEmpty()) if (!ui->lineEdit_dhclientOpt->text().isEmpty())
ipSettings[QString("DhclientOptions")] = QString("'") + ui->lineEdit_dhclientOpt->text() + QString("'"); ipSettings[QString("DhclientOptions")] = QString("'") + ui->lineEdit_dhclientOpt->text() + QString("'");
@ -481,13 +469,14 @@ int IpWidget::isOk()
{ {
// ip settings is not set // ip settings is not set
if (ui->checkBox_ip->checkState() == Qt::Checked) if (ui->checkBox_ip->checkState() == Qt::Checked)
if (ui->comboBox_ip->currentIndex() == 1) if (ui->comboBox_ip->currentText() == QString("static"))
if ((ui->listWidget_ipAddress->count() == 0) || if ((ui->listWidget_ipAddress->count() == 0) ||
(ui->lineEdit_gateway->text().isEmpty())) (ui->lineEdit_gateway->text().isEmpty()))
return 1; return 1;
// ipv6 settings is not set // ipv6 settings is not set
if (ui->checkBox_ip6->checkState() == Qt::Checked) if (ui->checkBox_ip6->checkState() == Qt::Checked)
if ((ui->comboBox_ip6->currentIndex() == 2) || (ui->comboBox_ip6->currentIndex() == 3)) if ((ui->comboBox_ip6->currentText() == QString("static")) ||
(ui->comboBox_ip6->currentText() == QString("stateless")))
if ((ui->listWidget_ipAddress6->count() == 0) || if ((ui->listWidget_ipAddress6->count() == 0) ||
(ui->lineEdit_gateway6->text().isEmpty())) (ui->lineEdit_gateway6->text().isEmpty()))
return 2; return 2;
@ -561,8 +550,8 @@ void IpWidget::setSettings(QHash<QString, QString> settings)
ui->listWidget_dnsOptions->addItems(settings[QString("DNSOptions")].remove(QString("'")).split(QString(" "))); ui->listWidget_dnsOptions->addItems(settings[QString("DNSOptions")].remove(QString("'")).split(QString(" ")));
ipEnable(ui->checkBox_ip->checkState()); ipEnable(ui->checkBox_ip->checkState());
changeIpMode(ui->comboBox_ip->currentIndex()); changeIpMode(ui->comboBox_ip->currentText());
ip6Enable(ui->checkBox_ip6->checkState()); ip6Enable(ui->checkBox_ip6->checkState());
changeIp6Mode(ui->comboBox_ip6->currentIndex()); changeIp6Mode(ui->comboBox_ip6->currentText());
changeDhcpClient(ui->comboBox_dhcp->currentIndex()); changeDhcpClient(ui->comboBox_dhcp->currentText());
} }

View File

@ -50,13 +50,13 @@ private slots:
void addDns(); void addDns();
void addDnsOpt(); void addDnsOpt();
// ip mode // ip mode
void changeIpMode(int index); void changeIpMode(QString currentText);
void ipEnable(int state); void ipEnable(int state);
// ipv6 mode // ipv6 mode
void changeIp6Mode(int index); void changeIp6Mode(QString currentText);
void ip6Enable(int state); void ip6Enable(int state);
// dhcp client // dhcp client
void changeDhcpClient(int index); void changeDhcpClient(QString currentText);
void showAdvanced(); void showAdvanced();
private: private:
@ -64,6 +64,10 @@ private:
void createActions(); void createActions();
void createFilter(); void createFilter();
void keyPressEvent(QKeyEvent *pressedKey); void keyPressEvent(QKeyEvent *pressedKey);
QString getIp(QString rawIp);
QString getPrefix(QString rawPrefix);
QString getIp6(QString rawIp);
QString getPrefix6(QString rawPrefix);
}; };

View File

@ -552,12 +552,18 @@ void MainWindow::profileTabCreateProfile()
{ {
// error checking // error checking
if (ui->lineEdit_profile->text().isEmpty()) { if (ui->lineEdit_profile->text().isEmpty()) {
errorWin = new ErrorWindow(this, 3);
errorWin->show();
return; return;
} }
if (generalWid->isOk() == 1) { if (generalWid->isOk() == 1) {
errorWin = new ErrorWindow(this, 4);
errorWin->show();
return; return;
} }
else if (generalWid->isOk() == 2) { else if (generalWid->isOk() == 2) {
errorWin = new ErrorWindow(this, 5);
errorWin->show();
return; return;
} }
if ((generalWid->connectionType->currentText() == QString("ethernet")) || if ((generalWid->connectionType->currentText() == QString("ethernet")) ||
@ -569,31 +575,47 @@ void MainWindow::profileTabCreateProfile()
(generalWid->connectionType->currentText() == QString("tuntap")) || (generalWid->connectionType->currentText() == QString("tuntap")) ||
(generalWid->connectionType->currentText() == QString("vlan"))) { (generalWid->connectionType->currentText() == QString("vlan"))) {
if (ipWid->isOk() == 1) { if (ipWid->isOk() == 1) {
errorWin = new ErrorWindow(this, 6);
errorWin->show();
return; return;
} }
else if (ipWid->isOk() == 2) { else if (ipWid->isOk() == 2) {
errorWin = new ErrorWindow(this, 6);
errorWin->show();
return; return;
} }
} }
if (generalWid->connectionType->currentText() == QString("ethernet")) { if (generalWid->connectionType->currentText() == QString("ethernet")) {
if (ethernetWid->isOk() == 1) { if (ethernetWid->isOk() == 1) {
errorWin = new ErrorWindow(this, 7);
errorWin->show();
return; return;
} }
} }
else if (generalWid->connectionType->currentText() == QString("wireless")) { else if (generalWid->connectionType->currentText() == QString("wireless")) {
if (wirelessWid->isOk() == 1) { if (wirelessWid->isOk() == 1) {
errorWin = new ErrorWindow(this, 8);
errorWin->show();
return; return;
} }
else if (wirelessWid->isOk() == 2) { else if (wirelessWid->isOk() == 2) {
errorWin = new ErrorWindow(this, 9);
errorWin->show();
return; return;
} }
else if (wirelessWid->isOk() == 3) { else if (wirelessWid->isOk() == 3) {
errorWin = new ErrorWindow(this, 10);
errorWin->show();
return; return;
} }
else if (wirelessWid->isOk() == 4) { else if (wirelessWid->isOk() == 4) {
errorWin = new ErrorWindow(this, 7);
errorWin->show();
return; return;
} }
else if (wirelessWid->isOk() == 5) { else if (wirelessWid->isOk() == 5) {
errorWin = new ErrorWindow(this, 11);
errorWin->show();
return; return;
} }
} }
@ -601,23 +623,35 @@ void MainWindow::profileTabCreateProfile()
} }
else if (generalWid->connectionType->currentText() == QString("pppoe")) { else if (generalWid->connectionType->currentText() == QString("pppoe")) {
if (pppoeWid->isOk() == 1) { if (pppoeWid->isOk() == 1) {
errorWin = new ErrorWindow(this, 7);
errorWin->show();
return; return;
} }
else if (pppoeWid->isOk() == 2) { else if (pppoeWid->isOk() == 2) {
errorWin = new ErrorWindow(this, 12);
errorWin->show();
return; return;
} }
else if (pppoeWid->isOk() == 3) { else if (pppoeWid->isOk() == 3) {
errorWin = new ErrorWindow(this, 13);
errorWin->show();
return; return;
} }
else if (pppoeWid->isOk() == 4) { else if (pppoeWid->isOk() == 4) {
errorWin = new ErrorWindow(this, 12);
errorWin->show();
return; return;
} }
} }
else if (generalWid->connectionType->currentText() == QString("mobile_ppp")) { else if (generalWid->connectionType->currentText() == QString("mobile_ppp")) {
if (mobileWid->isOk() == 1) { if (mobileWid->isOk() == 1) {
errorWin = new ErrorWindow(this, 14);
errorWin->show();
return; return;
} }
if (mobileWid->isOk() == 2) { if (mobileWid->isOk() == 2) {
errorWin = new ErrorWindow(this, 7);
errorWin->show();
return; return;
} }
} }
@ -625,14 +659,20 @@ void MainWindow::profileTabCreateProfile()
} }
else if (generalWid->connectionType->currentText() == QString("tuntap")) { else if (generalWid->connectionType->currentText() == QString("tuntap")) {
if (tuntapWid->isOk() == 1) { if (tuntapWid->isOk() == 1) {
errorWin = new ErrorWindow(this, 15);
errorWin->show();
return; return;
} }
if (tuntapWid->isOk() == 2) { if (tuntapWid->isOk() == 2) {
errorWin = new ErrorWindow(this, 15);
errorWin->show();
return; return;
} }
} }
else if (generalWid->connectionType->currentText() == QString("vlan")) { else if (generalWid->connectionType->currentText() == QString("vlan")) {
if (ethernetWid->isOk() == 1) { if (ethernetWid->isOk() == 1) {
errorWin = new ErrorWindow(this, 7);
errorWin->show();
return; return;
} }
} }
@ -786,23 +826,33 @@ void MainWindow::connectToUnknownEssid(QString passwd)
{ {
if (!passwd.isEmpty()) if (!passwd.isEmpty())
delete passwdWid; delete passwdWid;
QStringList profileInfo;
profileInfo.append(QString("Automatically generated profile by Netctl GUI")); QHash<QString, QString> settings;
profileInfo.append(wpaCommand->getInterfaceList()[0]); settings[QString("Description")] = QString("'Automatically generated profile by Netctl GUI'");
profileInfo.append(QString("wireless")); settings[QString("Interface")] = wpaCommand->getInterfaceList()[0];
settings[QString("Connection")] = QString("wireless");
QString security = ui->tableWidget_wifi->item(ui->tableWidget_wifi->currentItem()->row(), 3)->text(); QString security = ui->tableWidget_wifi->item(ui->tableWidget_wifi->currentItem()->row(), 3)->text();
if (checkState(QString("WPA"), security)) if (checkState(QString("WPA"), security))
profileInfo.append(QString("wpa")); settings[QString("Security")] = QString("wpa");
else if (checkState(QString("wep"), security)) else if (checkState(QString("wep"), security))
profileInfo.append(QString("wep")); settings[QString("Security")] = QString("wep");
else else
profileInfo.append(QString("none")); settings[QString("Security")] = QString("none");
profileInfo.append(ui->tableWidget_wifi->item(ui->tableWidget_wifi->currentItem()->row(), 0)->text()); settings[QString("ESSID")] = QString("'") +
profileInfo.append(passwd); ui->tableWidget_wifi->item(ui->tableWidget_wifi->currentItem()->row(), 0)->text() +
profileInfo.append(QString("dhcp")); QString("'");
if (!passwd.isEmpty())
settings[QString("Key")] = QString("'") + passwd + QString("'");
settings[QString("IP")] = QString("dhcp");
QString profile = QString("netctl-gui-") + settings[QString("ESSID")];
QString profileTempName = netctlProfile->createProfile(profile, settings);
netctlProfile->copyProfile(profileTempName);
netctlCommand->startProfile(profile);
if (netctlCommand->isProfileActive(profile))
ui->statusBar->showMessage(QApplication::translate("MainWindow", "Done"));
else
ui->statusBar->showMessage(QApplication::translate("MainWindow", "Error"));
updateWifiTab(); updateWifiTab();
} }

View File

@ -386,6 +386,23 @@
</property> </property>
</action> </action>
</widget> </widget>
<tabstops>
<tabstop>tabWidget</tabstop>
<tabstop>tableWidget_main</tabstop>
<tabstop>pushButton_mainRefresh</tabstop>
<tabstop>pushButton_mainEnable</tabstop>
<tabstop>pushButton_mainRestart</tabstop>
<tabstop>pushButton_mainStart</tabstop>
<tabstop>lineEdit_profile</tabstop>
<tabstop>pushButton_profile</tabstop>
<tabstop>scrollArea</tabstop>
<tabstop>pushButton_profileClear</tabstop>
<tabstop>pushButton_profileLoad</tabstop>
<tabstop>pushButton_profileSave</tabstop>
<tabstop>tableWidget_wifi</tabstop>
<tabstop>pushButton_wifiRefresh</tabstop>
<tabstop>pushButton_wifiStart</tabstop>
</tabstops>
<resources/> <resources/>
<connections/> <connections/>
</ui> </ui>

View File

@ -59,9 +59,9 @@ void MobileWidget::clear()
void MobileWidget::setShown(bool state) void MobileWidget::setShown(bool state)
{ {
if (state) if (state)
MobileWidget::show(); show();
else else
MobileWidget::hide(); hide();
} }

View File

@ -74,7 +74,7 @@ QStringList Netctl::getProfileDescriptions(QStringList profileList)
else if (fileStr[0] != '#') else if (fileStr[0] != '#')
if (fileStr.split(QString("="), QString::SkipEmptyParts).count() == 2) if (fileStr.split(QString("="), QString::SkipEmptyParts).count() == 2)
if (fileStr.split(QString("="), QString::SkipEmptyParts)[0] == QString("Description")) if (fileStr.split(QString("="), QString::SkipEmptyParts)[0] == QString("Description"))
descriptions.append(fileStr.split(QString("="), QString::SkipEmptyParts)[1].remove(QString("\n"))); descriptions.append(fileStr.split(QString("="), QString::SkipEmptyParts)[1].trimmed());
} }
else else
descriptions.append(QString("<unknown>")); descriptions.append(QString("<unknown>"));
@ -125,7 +125,7 @@ QString Netctl::getSsidFromProfile(QString profile)
else if (fileStr[0] != '#') { else if (fileStr[0] != '#') {
if (fileStr.split(QString("="), QString::SkipEmptyParts).count() == 2) if (fileStr.split(QString("="), QString::SkipEmptyParts).count() == 2)
if (fileStr.split(QString("="), QString::SkipEmptyParts)[0] == QString("ESSID")) if (fileStr.split(QString("="), QString::SkipEmptyParts)[0] == QString("ESSID"))
ssidName = fileStr.split(QString("="), QString::SkipEmptyParts)[1].remove(QString("\n")); ssidName = fileStr.split(QString("="), QString::SkipEmptyParts)[1].trimmed();
} }
} }

View File

@ -44,7 +44,7 @@ bool NetctlProfile::copyProfile(QString oldPath)
{ {
QString newPath = profileDirectory->absolutePath() + QDir::separator() + QFileInfo(oldPath).fileName(); QString newPath = profileDirectory->absolutePath() + QDir::separator() + QFileInfo(oldPath).fileName();
QProcess command; QProcess command;
command.start(sudoCommand + QString(" /usr/bin/cp ") + oldPath + QString(" ") + newPath); command.start(sudoCommand + QString(" /usr/bin/mv ") + oldPath + QString(" ") + newPath);
command.waitForFinished(-1); command.waitForFinished(-1);
if (command.exitCode() == 0) if (command.exitCode() == 0)
return true; return true;
@ -64,8 +64,23 @@ QString NetctlProfile::createProfile(QString profile, QHash<QString, QString> se
return profileTempName; return profileTempName;
QTextStream out(&profileFile); QTextStream out(&profileFile);
for (int i=0; i<settings.keys().count(); i++) for (int i=0; i<settings.keys().count(); i++) {
out << settings.keys()[i] << QString("=") << settings[settings.keys()[i]] << QString("\n"); out << settings.keys()[i] << QString("=");
if ((settings.keys()[i] == QString("BindsToInterfaces")) ||
(settings.keys()[i] == QString("After")) ||
(settings.keys()[i] == QString("Address")) ||
(settings.keys()[i] == QString("Routes")) ||
(settings.keys()[i] == QString("Address6")) ||
(settings.keys()[i] == QString("Routes6")) ||
(settings.keys()[i] == QString("IPCustom")) ||
(settings.keys()[i] == QString("DNS")) ||
(settings.keys()[i] == QString("DNSOptions")) ||
(settings.keys()[i] == QString("WPAConfigSection")) ||
(settings.keys()[i] == QString("WPAConfigSection")))
out << QString("(") + settings[settings.keys()[i]] << QString(")\n");
else
out << settings[settings.keys()[i]] << QString("\n");
}
profileFile.close(); profileFile.close();
return profileTempName; return profileTempName;
@ -93,7 +108,7 @@ QHash<QString, QString> NetctlProfile::getSettingsFromProfile(QString profile)
settings[fileStr.split(QString("="))[0]] = fileStr.split(QString("="))[1] settings[fileStr.split(QString("="))[0]] = fileStr.split(QString("="))[1]
.remove(QString("(")) .remove(QString("("))
.remove(QString(")")) .remove(QString(")"))
.remove(QString("\n")); .trimmed();
} }
} }

View File

@ -45,7 +45,7 @@ void PppoeWidget::clear()
ui->lineEdit_username->clear(); ui->lineEdit_username->clear();
ui->lineEdit_password->clear(); ui->lineEdit_password->clear();
ui->comboBox_connection->setCurrentIndex(0); ui->comboBox_connection->setCurrentIndex(0);
changeMode(ui->comboBox_connection->currentIndex()); changeMode(ui->comboBox_connection->currentText());
ui->spinBox_timeout->setValue(300); ui->spinBox_timeout->setValue(300);
ui->spinBox_fail->setValue(5); ui->spinBox_fail->setValue(5);
ui->checkBox_route->setCheckState(Qt::Checked); ui->checkBox_route->setCheckState(Qt::Checked);
@ -68,9 +68,9 @@ void PppoeWidget::clear()
void PppoeWidget::setShown(bool state) void PppoeWidget::setShown(bool state)
{ {
if (state) if (state)
PppoeWidget::show(); show();
else else
PppoeWidget::hide(); hide();
} }
@ -86,16 +86,16 @@ void PppoeWidget::createFilter()
void PppoeWidget::createActions() void PppoeWidget::createActions()
{ {
connect(ui->pushButton_pppoeAdvanced, SIGNAL(clicked(bool)), this, SLOT(showAdvanced())); connect(ui->pushButton_pppoeAdvanced, SIGNAL(clicked(bool)), this, SLOT(showAdvanced()));
connect(ui->comboBox_connection, SIGNAL(currentIndexChanged(int)), this, SLOT(changeMode(int))); connect(ui->comboBox_connection, SIGNAL(currentIndexChanged(QString)), this, SLOT(changeMode(QString)));
connect(ui->pushButton_options, SIGNAL(clicked(bool)), this, SLOT(selectOptionsFile())); connect(ui->pushButton_options, SIGNAL(clicked(bool)), this, SLOT(selectOptionsFile()));
} }
void PppoeWidget::changeMode(int index) void PppoeWidget::changeMode(QString currentText)
{ {
if (index == 0) if (currentText == QString("persist"))
ui->widget_timeout->setHidden(true); ui->widget_timeout->setHidden(true);
else if (index == 1) else if (currentText == QString("demand"))
ui->widget_timeout->setShown(true); ui->widget_timeout->setShown(true);
} }
@ -135,7 +135,7 @@ QHash<QString, QString> PppoeWidget::getSettings()
if (!ui->lineEdit_password->text().isEmpty()) if (!ui->lineEdit_password->text().isEmpty())
pppoeSettings[QString("Password")] = QString("'") + ui->lineEdit_password->text() + QString("'"); pppoeSettings[QString("Password")] = QString("'") + ui->lineEdit_password->text() + QString("'");
pppoeSettings[QString("ConnectionMode")] = QString("'") + ui->comboBox_connection->currentText() + QString("'"); pppoeSettings[QString("ConnectionMode")] = QString("'") + ui->comboBox_connection->currentText() + QString("'");
if (ui->comboBox_connection->currentIndex() == 1) if (ui->comboBox_connection->currentText() == QString("demand"))
pppoeSettings[QString("IdleTimeout")] = QString(ui->spinBox_timeout->value()); pppoeSettings[QString("IdleTimeout")] = QString(ui->spinBox_timeout->value());
if (ui->spinBox_fail->value() != 5) if (ui->spinBox_fail->value() != 5)
pppoeSettings[QString("MaxFail")] = QString(ui->spinBox_fail->value()); pppoeSettings[QString("MaxFail")] = QString(ui->spinBox_fail->value());
@ -233,5 +233,5 @@ void PppoeWidget::setSettings(QHash<QString, QString> settings)
if (settings[QString("PPPoEIP6")] == QString("yes")) if (settings[QString("PPPoEIP6")] == QString("yes"))
ui->checkBox_dns->setCheckState(Qt::Checked); ui->checkBox_dns->setCheckState(Qt::Checked);
changeMode(ui->comboBox_connection->currentIndex()); changeMode(ui->comboBox_connection->currentText());
} }

View File

@ -41,7 +41,7 @@ public slots:
void setShown(bool state); void setShown(bool state);
private slots: private slots:
void changeMode(int index); void changeMode(QString currentText);
void selectOptionsFile(); void selectOptionsFile();
void showAdvanced(); void showAdvanced();

View File

@ -46,9 +46,9 @@ void TunnelWidget::clear()
void TunnelWidget::setShown(bool state) void TunnelWidget::setShown(bool state)
{ {
if (state) if (state)
TunnelWidget::show(); show();
else else
TunnelWidget::hide(); hide();
} }

View File

@ -45,9 +45,9 @@ void TuntapWidget::clear()
void TuntapWidget::setShown(bool state) void TuntapWidget::setShown(bool state)
{ {
if (state) if (state)
TuntapWidget::show(); show();
else else
TuntapWidget::hide(); hide();
} }

View File

@ -43,9 +43,9 @@ void VlanWidget::clear()
void VlanWidget::setShown(bool state) void VlanWidget::setShown(bool state)
{ {
if (state) if (state)
VlanWidget::show(); show();
else else
VlanWidget::hide(); hide();
} }

View File

@ -44,7 +44,7 @@ WirelessWidget::~WirelessWidget()
void WirelessWidget::clear() void WirelessWidget::clear()
{ {
ui->comboBox_security->setCurrentIndex(0); ui->comboBox_security->setCurrentIndex(0);
changeSecurity(ui->comboBox_security->currentIndex()); changeSecurity(ui->comboBox_security->currentText());
ui->lineEdit_essid->clear(); ui->lineEdit_essid->clear();
ui->lineEdit_wpaConfigSection->clear(); ui->lineEdit_wpaConfigSection->clear();
ui->listWidget_wpaConfigSection->setCurrentRow(-1); ui->listWidget_wpaConfigSection->setCurrentRow(-1);
@ -86,9 +86,9 @@ void WirelessWidget::clear()
void WirelessWidget::setShown(bool state) void WirelessWidget::setShown(bool state)
{ {
if (state) if (state)
WirelessWidget::show(); show();
else else
WirelessWidget::hide(); hide();
} }
@ -99,7 +99,7 @@ void WirelessWidget::createActions()
connect(ui->pushButton_freq, SIGNAL(clicked(bool)), this, SLOT(addFreq())); connect(ui->pushButton_freq, SIGNAL(clicked(bool)), this, SLOT(addFreq()));
connect(ui->pushButton_wpaConfigSection, SIGNAL(clicked(bool)), this, SLOT(addOption())); connect(ui->pushButton_wpaConfigSection, SIGNAL(clicked(bool)), this, SLOT(addOption()));
connect(ui->pushButton_wpaConfig, SIGNAL(clicked(bool)), this, SLOT(selectWpaConfig())); connect(ui->pushButton_wpaConfig, SIGNAL(clicked(bool)), this, SLOT(selectWpaConfig()));
connect(ui->comboBox_security, SIGNAL(currentIndexChanged(int)), this, SLOT(changeSecurity(int))); connect(ui->comboBox_security, SIGNAL(currentIndexChanged(QString)), this, SLOT(changeSecurity(QString)));
} }
@ -150,24 +150,29 @@ void WirelessWidget::addOption()
} }
void WirelessWidget::changeSecurity(int index) void WirelessWidget::changeSecurity(QString currentText)
{ {
if (index == 0) { if (currentText == QString("none")) {
ui->widget_essid->setShown(true);
ui->widget_wpaConfigSection->setHidden(true); ui->widget_wpaConfigSection->setHidden(true);
ui->widget_wpaConfig->setHidden(true); ui->widget_wpaConfig->setHidden(true);
ui->widget_key->setHidden(true); ui->widget_key->setHidden(true);
} }
else if ((index == 1) || (index == 2)) { else if ((currentText == QString("wep")) ||
(currentText == QString("wpa"))) {
ui->widget_essid->setShown(true);
ui->widget_wpaConfigSection->setHidden(true); ui->widget_wpaConfigSection->setHidden(true);
ui->widget_wpaConfig->setHidden(true); ui->widget_wpaConfig->setHidden(true);
ui->widget_key->setShown(true); ui->widget_key->setShown(true);
} }
else if (index == 3) { else if (currentText == QString("wpa-configsection")) {
ui->widget_essid->setHidden(true);
ui->widget_wpaConfigSection->setShown(true); ui->widget_wpaConfigSection->setShown(true);
ui->widget_wpaConfig->setHidden(true); ui->widget_wpaConfig->setHidden(true);
ui->widget_key->setHidden(true); ui->widget_key->setHidden(true);
} }
else if (index == 4) { else if (currentText == QString("wpa-config")) {
ui->widget_essid->setHidden(true);
ui->widget_wpaConfigSection->setHidden(true); ui->widget_wpaConfigSection->setHidden(true);
ui->widget_wpaConfig->setShown(true); ui->widget_wpaConfig->setShown(true);
ui->widget_key->setHidden(true); ui->widget_key->setHidden(true);
@ -207,16 +212,16 @@ QHash<QString, QString> WirelessWidget::getSettings()
if (isOk() == 0) { if (isOk() == 0) {
wirelessSettings[QString("Security")] = ui->comboBox_security->currentText(); wirelessSettings[QString("Security")] = ui->comboBox_security->currentText();
wirelessSettings[QString("ESSID")] = QString("'") + ui->lineEdit_essid->text() + QString("'"); wirelessSettings[QString("ESSID")] = QString("'") + ui->lineEdit_essid->text() + QString("'");
if ((ui->comboBox_security->currentIndex() == 1) || if ((ui->comboBox_security->currentText() == QString("wep")) ||
(ui->comboBox_security->currentIndex() == 2)) (ui->comboBox_security->currentText() == QString("wpa")))
wirelessSettings[QString("Key")] = QString("'") + ui->lineEdit_key->text() + QString("'"); wirelessSettings[QString("Key")] = QString("'") + ui->lineEdit_key->text() + QString("'");
if (ui->comboBox_security->currentIndex() == 3) { if (ui->comboBox_security->currentText() == QString("wpa-configsection")) {
QStringList section; QStringList section;
for (int i=0; i<ui->listWidget_wpaConfigSection->count(); i++) for (int i=0; i<ui->listWidget_wpaConfigSection->count(); i++)
section.append(QString("'") + ui->listWidget_wpaConfigSection->item(i)->text() + QString("'")); section.append(QString("'") + ui->listWidget_wpaConfigSection->item(i)->text() + QString("'"));
wirelessSettings[QString("WPAConfigSection")] = QString("\n") + section.join(QString("\n")) + QString("\n"); wirelessSettings[QString("WPAConfigSection")] = QString("\n") + section.join(QString("\n")) + QString("\n");
} }
if (ui->comboBox_security->currentIndex() == 4) if (ui->comboBox_security->currentText() == QString("wpa-config"))
wirelessSettings[QString("WPAConfigFile")] = QString("'") + ui->lineEdit_wpaConfig->text() + QString("'"); wirelessSettings[QString("WPAConfigFile")] = QString("'") + ui->lineEdit_wpaConfig->text() + QString("'");
if (ui->checkBox_hidden->checkState() == Qt::Checked) if (ui->checkBox_hidden->checkState() == Qt::Checked)
wirelessSettings[QString("Hidden")] = QString("yes"); wirelessSettings[QString("Hidden")] = QString("yes");
@ -240,7 +245,7 @@ QHash<QString, QString> WirelessWidget::getSettings()
drivers.append(ui->listWidget_drivers->item(i)->text()); drivers.append(ui->listWidget_drivers->item(i)->text());
wirelessSettings[QString("WPADriver")] = QString("'") + drivers.join(QString(",")) + QString("'"); wirelessSettings[QString("WPADriver")] = QString("'") + drivers.join(QString(",")) + QString("'");
} }
if (ui->comboBox_rfkill->currentIndex() != 0) if (ui->comboBox_rfkill->currentText() != QString("auto"))
wirelessSettings[QString("RFKill")] = ui->comboBox_rfkill->currentText(); wirelessSettings[QString("RFKill")] = ui->comboBox_rfkill->currentText();
if (ui->spinBox_timeoutWpa->value() != 15) if (ui->spinBox_timeoutWpa->value() != 15)
wirelessSettings[QString("TimeoutWPA")] = QString(ui->spinBox_timeoutWpa->value()); wirelessSettings[QString("TimeoutWPA")] = QString(ui->spinBox_timeoutWpa->value());
@ -255,23 +260,27 @@ QHash<QString, QString> WirelessWidget::getSettings()
int WirelessWidget::isOk() int WirelessWidget::isOk()
{ {
// empty key // empty key
if ((ui->comboBox_security->currentIndex() == 1) || if ((ui->comboBox_security->currentText() == QString("wep")) ||
(ui->comboBox_security->currentIndex() == 2)) (ui->comboBox_security->currentText() == QString("wpa")))
if (ui->lineEdit_key->text().isEmpty()) if (ui->lineEdit_key->text().isEmpty())
return 1; return 1;
// empty settings // empty settings
if (ui->comboBox_security->currentIndex() == 3) if (ui->comboBox_security->currentText() == QString("wpa-configsection"))
if (ui->listWidget_wpaConfigSection->count() == 0) if (ui->listWidget_wpaConfigSection->count() == 0)
return 2; return 2;
// file is not set // file is not set
if (ui->comboBox_security->currentIndex() == 4) if (ui->comboBox_security->currentText() == QString("wpa-config"))
if (ui->lineEdit_wpaConfig->text().isEmpty()) if (ui->lineEdit_wpaConfig->text().isEmpty())
return 3; return 3;
// file wpa_supplicant doesn't exists // file wpa_supplicant doesn't exists
if (ui->comboBox_security->currentText() == QString("wpa-config"))
if (!ui->lineEdit_wpaConfig->text().isEmpty()) if (!ui->lineEdit_wpaConfig->text().isEmpty())
if (!QFile(ui->lineEdit_wpaConfig->text()).exists()) if (!QFile(ui->lineEdit_wpaConfig->text()).exists())
return 4; return 4;
// essid is not set // essid is not set
if ((ui->comboBox_security->currentText() == QString("none")) ||
(ui->comboBox_security->currentText() == QString("wep")) ||
(ui->comboBox_security->currentText() == QString("wpa")))
if (ui->lineEdit_essid->text().isEmpty()) if (ui->lineEdit_essid->text().isEmpty())
return 5; return 5;
// all fine // all fine
@ -319,5 +328,5 @@ void WirelessWidget::setSettings(QHash<QString, QString> settings)
if (settings[QString("ExcludeAuto")].remove(QString("'")) == QString("yes")) if (settings[QString("ExcludeAuto")].remove(QString("'")) == QString("yes"))
ui->checkBox_exclude->setCheckState(Qt::Checked); ui->checkBox_exclude->setCheckState(Qt::Checked);
changeSecurity(ui->comboBox_security->currentIndex()); changeSecurity(ui->comboBox_security->currentText());
} }

View File

@ -46,7 +46,7 @@ private slots:
void addDriver(); void addDriver();
void addFreq(); void addFreq();
void addOption(); void addOption();
void changeSecurity(int index); void changeSecurity(QString currentText);
void showAdvanced(); void showAdvanced();
void selectWpaConfig(); void selectWpaConfig();

View File

@ -7,7 +7,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>431</width> <width>431</width>
<height>765</height> <height>776</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@ -71,6 +71,7 @@
</layout> </layout>
</item> </item>
<item> <item>
<widget class="QWidget" name="widget_essid" native="true">
<layout class="QHBoxLayout" name="layout_essid"> <layout class="QHBoxLayout" name="layout_essid">
<item> <item>
<widget class="QLabel" name="label_essid"> <widget class="QLabel" name="label_essid">
@ -93,6 +94,7 @@
</widget> </widget>
</item> </item>
</layout> </layout>
</widget>
</item> </item>
<item> <item>
<widget class="QWidget" name="widget_wpaConfigSection" native="true"> <widget class="QWidget" name="widget_wpaConfigSection" native="true">