now ip widget has been completed

This commit is contained in:
arcan1s
2014-02-20 02:39:27 +04:00
parent 9cad2e2c29
commit d85e5560fa
5 changed files with 753 additions and 321 deletions

View File

@ -96,6 +96,7 @@ QHash<QString, QString> EthernetWidget::getSettings()
ethernetSettings[QString("TimeoutWPA")] = QString(ui->spinBox_timeoutWpa->value()); ethernetSettings[QString("TimeoutWPA")] = QString(ui->spinBox_timeoutWpa->value());
} }
clear();
return ethernetSettings; return ethernetSettings;
} }

View File

@ -134,6 +134,7 @@ QHash<QString, QString> GeneralWidget::getSettings()
generalSettings[QString("ForceConnect")] = QString("yes"); generalSettings[QString("ForceConnect")] = QString("yes");
} }
clear();
return generalSettings; return generalSettings;
} }

View File

@ -18,12 +18,18 @@
#include "ipwidget.h" #include "ipwidget.h"
#include "ui_ipwidget.h" #include "ui_ipwidget.h"
#include <QKeyEvent>
IpWidget::IpWidget(QWidget *parent) IpWidget::IpWidget(QWidget *parent)
: QWidget(parent), : QWidget(parent),
ui(new Ui::IpWidget) ui(new Ui::IpWidget)
{ {
ui->setupUi(this); ui->setupUi(this);
createActions();
createFilter();
clear();
showAdvanced();
} }
@ -31,3 +37,443 @@ IpWidget::~IpWidget()
{ {
delete ui; delete ui;
} }
void IpWidget::clear()
{
ui->checkBox_ip->setCheckState(Qt::Checked);
ui->comboBox_ip->setCurrentIndex(0);
changeIpMode(ui->comboBox_ip->currentIndex());
ui->lineEdit_ipAddress->clear();
ui->listWidget_ipAddress->clear();
ui->lineEdit_gateway->clear();
ui->lineEdit_ipRoutes->clear();
ui->lineEdit_ipRoutes2->clear();
ui->listWidget_ipRoutes->clear();
ui->checkBox_ip6->setCheckState(Qt::Unchecked);
ui->comboBox_ip6->setCurrentIndex(0);
changeIp6Mode(ui->comboBox_ip6->currentIndex());
ui->lineEdit_ipAddress6->clear();
ui->listWidget_ipAddress6->clear();
ui->lineEdit_gateway6->clear();
ui->lineEdit_ipRoutes6->clear();
ui->lineEdit_ipRoutes62->clear();
ui->listWidget_ipRoutes6->clear();
ui->lineEdit_custom->clear();
ui->listWidget_custom->clear();
ui->lineEdit_hostname->clear();
ui->spinBox_timeoutDad->setValue(3);
ui->comboBox_dhcp->setCurrentIndex(0);
changeDhcpClient(ui->comboBox_dhcp->currentIndex());
ui->lineEdit_dhcpcdOpt->clear();
ui->lineEdit_dhclientOpt->clear();
ui->lineEdit_dhclientOpt6->clear();
ui->spinBox_timeoutDhcp->setValue(30);
ui->checkBox_dhcp->setCheckState(Qt::Unchecked);
ui->lineEdit_dns->clear();
ui->listWidget_dns->clear();
ui->lineEdit_dnsDomain->clear();
ui->lineEdit_dnsSearch->clear();
ui->lineEdit_dnsOptions->clear();
ui->listWidget_dnsOptions->clear();
}
void IpWidget::createActions()
{
connect(ui->pushButton_ipAdvanced, SIGNAL(clicked(bool)), this, SLOT(showAdvanced()));
// ip mode
connect(ui->checkBox_ip, SIGNAL(stateChanged(int)), this, SLOT(ipEnable(int)));
connect(ui->comboBox_ip, SIGNAL(currentIndexChanged(int)), this, SLOT(changeIpMode(int)));
// ipv6 mode
connect(ui->checkBox_ip6, SIGNAL(stateChanged(int)), this, SLOT(ip6Enable(int)));
connect(ui->comboBox_ip6, SIGNAL(currentIndexChanged(int)), this, SLOT(changeIp6Mode(int)));
// dhcp client
connect(ui->comboBox_dhcp, SIGNAL(currentIndexChanged(int)), this, SLOT(changeDhcpClient(int)));
// buttons
connect(ui->pushButton_ipAddress, SIGNAL(clicked(bool)), this, SLOT(addIp()));
connect(ui->pushButton_ipRoutes, SIGNAL(clicked(bool)), this, SLOT(addIpRoutes()));
connect(ui->pushButton_ipAddress6, SIGNAL(clicked(bool)), this, SLOT(addIp6()));
connect(ui->pushButton_ipRoutes6, SIGNAL(clicked(bool)), this, SLOT(addIpRoutes6()));
connect(ui->pushButton_custom, SIGNAL(clicked(bool)), this, SLOT(addCustom()));
connect(ui->pushButton_dns, SIGNAL(clicked(bool)), this, SLOT(addDns()));
connect(ui->pushButton_dnsOptions, SIGNAL(clicked(bool)), this, SLOT(addDnsOpt()));
}
void IpWidget::createFilter()
{
// using input mask because validators is not comfortable
// ipv4
ui->lineEdit_ipAddress->setInputMask(QString("999.999.999.999/99"));
ui->lineEdit_gateway->setInputMask(QString("999.999.999.999"));
ui->lineEdit_ipRoutes->setInputMask(QString("999.999.999.999/99"));
ui->lineEdit_ipRoutes2->setInputMask(QString("999.999.999.999"));
// ipv6
ui->lineEdit_ipAddress6->setInputMask(QString("<hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh/999"));
ui->lineEdit_gateway6->setInputMask(QString("<hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh"));
ui->lineEdit_ipRoutes6->setInputMask(QString("<hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh/999"));
ui->lineEdit_ipRoutes62->setInputMask(QString("<hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh"));
// dns
ui->lineEdit_dns->setInputMask(QString("999.999.999.999"));
}
void IpWidget::keyPressEvent(QKeyEvent *pressedKey)
{
if (pressedKey->key() == Qt::Key_Delete) {
if (ui->listWidget_ipAddress->hasFocus() &&
(ui->listWidget_ipAddress->currentItem() != 0))
delete ui->listWidget_ipAddress->currentItem();
else if (ui->listWidget_ipRoutes->hasFocus() &&
(ui->listWidget_ipRoutes->currentItem() != 0))
delete ui->listWidget_ipRoutes->currentItem();
else if (ui->listWidget_ipAddress6->hasFocus() &&
(ui->listWidget_ipAddress6->currentItem() != 0))
delete ui->listWidget_ipAddress6->currentItem();
else if (ui->listWidget_ipRoutes6->hasFocus() &&
(ui->listWidget_ipRoutes6->currentItem() != 0))
delete ui->listWidget_ipRoutes6->currentItem();
else if (ui->listWidget_custom->hasFocus() &&
(ui->listWidget_custom->currentItem() != 0))
delete ui->listWidget_custom->currentItem();
else if (ui->listWidget_dns->hasFocus() &&
(ui->listWidget_dns->currentItem() != 0))
delete ui->listWidget_dns->currentItem();
else if (ui->listWidget_dnsOptions->hasFocus() &&
(ui->listWidget_dnsOptions->currentItem() != 0))
delete ui->listWidget_dnsOptions->currentItem();
}
}
void IpWidget::addIp()
{
QStringList ip = ui->lineEdit_ipAddress->text().remove(" ").split(QString("/"))[0].split(QString("."));
QString prefix = ui->lineEdit_ipAddress->text().remove(" ").split(QString("/"))[1];
// fix empty fields
if (ip[0].isEmpty())
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");
if (prefix.isEmpty())
prefix = QString("24");
if (prefix.toInt() > 32)
prefix = QString("32");
ui->listWidget_ipAddress->addItem(ip.join(QString(".")) + QString("/") + prefix);
ui->lineEdit_ipAddress->clear();
}
void IpWidget::addIpRoutes()
{
QStringList ip = ui->lineEdit_ipRoutes->text().remove(" ").split(QString("/"))[0].split(QString("."));
QString prefix = ui->lineEdit_ipRoutes->text().remove(" ").split(QString("/"))[1];
QStringList ipVia = ui->lineEdit_ipRoutes2->text().remove(" ").split(QString("."));
// fix empty fields
if (ip[0].isEmpty())
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_ipRoutes2->clear();
}
void IpWidget::addIp6()
{
QString ip = ui->lineEdit_ipAddress6->text().remove(" ").split(QString("/"))[0];
QString prefix = 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->lineEdit_ipAddress6->clear();
}
void IpWidget::addIpRoutes6()
{
QString ip = ui->lineEdit_ipRoutes6->text().remove(" ").split(QString("/"))[0];
QString prefix = ui->lineEdit_ipRoutes6->text().remove(" ").split(QString("/"))[1];
QString ipVia = 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->lineEdit_ipRoutes6->clear();
ui->lineEdit_ipRoutes62->clear();
}
void IpWidget::addCustom()
{
if (!ui->lineEdit_custom->text().isEmpty())
ui->listWidget_custom->addItem(ui->lineEdit_custom->text());
ui->lineEdit_custom->clear();
}
void IpWidget::addDns()
{
QStringList ip = ui->lineEdit_dns->text().remove(" ").split(QString("."));
// fix empty fields
if (ip[0].isEmpty())
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();
}
void IpWidget::addDnsOpt()
{
if (!ui->lineEdit_dnsOptions->text().isEmpty())
ui->listWidget_dnsOptions->addItem(ui->lineEdit_dnsOptions->text());
ui->lineEdit_dnsOptions->clear();
}
void IpWidget::changeIpMode(int index)
{
if (index == 0)
// dhcp
ui->widget_ip->setHidden(true);
else if (index == 1)
// static
ui->widget_ip->setShown(true);
}
void IpWidget::ipEnable(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);
}
}
void IpWidget::changeIp6Mode(int index)
{
if ((index == 0) || (index == 1))
// dhcp
ui->widget_ip6->setHidden(true);
else if ((index == 2) || (index == 3))
// static
ui->widget_ip6->setShown(true);
}
void IpWidget::ip6Enable(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);
}
}
void IpWidget::changeDhcpClient(int index)
{
if (index == 0) {
// dhcp
ui->widget_dhcpcdOpt->setShown(true);
ui->widget_dhclientOpt->setHidden(true);
}
else if (index == 1) {
// dhclient
ui->widget_dhcpcdOpt->setHidden(true);
ui->widget_dhclientOpt->setShown(true);
}
}
void IpWidget::showAdvanced()
{
if (ui->pushButton_ipAdvanced->text().indexOf(QString("Show")) > -1) {
ui->widget_ipAdvanced->setShown(true);
ui->pushButton_ipAdvanced->setText(QApplication::translate("IpWidget", "Hide advanced"));
}
else {
ui->widget_ipAdvanced->setHidden(true);
ui->pushButton_ipAdvanced->setText(QApplication::translate("IpWidget", "Show advanced"));
}
}
QHash<QString, QString> IpWidget::getSettings()
{
QHash<QString, QString> ipSettings;
if (isOk() == 0) {
if (ui->checkBox_ip->checkState() == Qt::Checked) {
ipSettings[QString("IP")] = ui->comboBox_ip->currentText();
if (ui->comboBox_ip->currentIndex() == 1) {
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(QString(" "));
ipSettings[QString("Gateway")] = 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(QString(" "));
}
}
else
ipSettings[QString("IP")] = QString("no");
if (ui->checkBox_ip6->checkState() == Qt::Checked) {
ipSettings[QString("IP6")] = ui->comboBox_ip6->currentText();
if ((ui->comboBox_ip6->currentIndex() == 2) ||
(ui->comboBox_ip6->currentIndex() == 3)) {
QStringList addresses;
for (int i=0; i<ui->listWidget_ipAddress6->count(); i++)
addresses.append(QString("'") + ui->listWidget_ipAddress6->item(i)->text() + QString("'"));
ipSettings[QString("Address6")] = addresses.join(QString(" "));
ipSettings[QString("Gateway6")] = ui->lineEdit_gateway6->text();
}
if (ui->listWidget_ipRoutes6->count() > 0) {
QStringList routes;
for (int i=0; i<ui->listWidget_ipRoutes6->count(); i++)
routes.append(QString("'") + ui->listWidget_ipRoutes6->item(i)->text() + QString("'"));
ipSettings[QString("Routes6")] = routes.join(QString(" "));
}
}
else
ipSettings[QString("IP6")] = QString("no");
if (ui->listWidget_custom->count() > 0) {
QStringList custom;
for (int i=0; i<ui->listWidget_custom->count(); i++)
custom.append(QString("'") + ui->listWidget_custom->item(i)->text() + QString("'"));
ipSettings[QString("IPCustom")] = custom.join(QString(" "));
}
if (!ui->lineEdit_hostname->text().isEmpty())
ipSettings[QString("Hostname")] = QString("'") + ui->lineEdit_hostname->text() + QString("'");
if (ui->spinBox_timeoutDad->value() != 3)
ipSettings[QString("TimeoutDAD")] = QString(ui->spinBox_timeoutDad->value());
if (ui->comboBox_dhcp->currentIndex() == 0) {
if (!ui->lineEdit_dhcpcdOpt->text().isEmpty())
ipSettings[QString("DhcpcdOptions")] = QString("'") + ui->lineEdit_dhcpcdOpt->text() + QString("'");
}
else if (ui->comboBox_dhcp->currentIndex() == 1) {
ipSettings[QString("DHCPClient")] = QString(ui->spinBox_timeoutDad->value());
if (!ui->lineEdit_dhclientOpt->text().isEmpty())
ipSettings[QString("DhclientOptions")] = QString("'") + ui->lineEdit_dhclientOpt->text() + QString("'");
if (!ui->lineEdit_dhclientOpt6->text().isEmpty())
ipSettings[QString("DhclientOptions")] = QString("'") + ui->lineEdit_dhclientOpt6->text() + QString("'");
}
if (ui->spinBox_timeoutDhcp->value() != 30)
ipSettings[QString("TimeoutDHCP")] = QString(ui->spinBox_timeoutDhcp->value());
if (ui->checkBox_dhcp->checkState() == Qt::Checked)
ipSettings[QString("DHCPReleaseOnStop")] = QString("yes");
if (ui->listWidget_dns->count() > 0) {
QStringList dns;
for (int i=0; i<ui->listWidget_dns->count(); i++)
dns.append(QString("'") + ui->listWidget_dns->item(i)->text() + QString("'"));
ipSettings[QString("DNS")] = dns.join(QString(" "));
}
if (!ui->lineEdit_dnsDomain->text().isEmpty())
ipSettings[QString("DNSDomain")] = QString("'") + ui->lineEdit_dnsDomain->text() + QString("'");
if (!ui->lineEdit_dnsSearch->text().isEmpty())
ipSettings[QString("DNSSearch")] = QString("'") + ui->lineEdit_dnsSearch->text() + QString("'");
if (ui->listWidget_dnsOptions->count() > 0) {
QStringList dnsOpt;
for (int i=0; i<ui->listWidget_dnsOptions->count(); i++)
dnsOpt.append(QString("'") + ui->listWidget_dnsOptions->item(i)->text() + QString("'"));
ipSettings[QString("DNS")] = dnsOpt.join(QString(" "));
}
}
clear();
return ipSettings;
}
int IpWidget::isOk()
{
// ip settings is not set
if (ui->checkBox_ip->checkState() == Qt::Checked)
if (ui->comboBox_ip->currentIndex() == 1)
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->currentIndex() == 2) || (ui->comboBox_ip6->currentIndex() == 3))
if ((ui->listWidget_ipAddress6->count() == 0) ||
(ui->lineEdit_gateway6->text().isEmpty()))
return 2;
// all fine
return 0;
}

View File

@ -32,9 +32,36 @@ class IpWidget : public QWidget
public: public:
explicit IpWidget(QWidget *parent = 0); explicit IpWidget(QWidget *parent = 0);
~IpWidget(); ~IpWidget();
QHash<QString, QString> getSettings();
int isOk();
public slots:
void clear();
private slots:
// buttons
void addIp();
void addIpRoutes();
void addIp6();
void addIpRoutes6();
void addCustom();
void addDns();
void addDnsOpt();
// ip mode
void changeIpMode(int index);
void ipEnable(int state);
// ipv6 mode
void changeIp6Mode(int index);
void ip6Enable(int state);
// dhcp client
void changeDhcpClient(int index);
void showAdvanced();
private: private:
Ui::IpWidget *ui; Ui::IpWidget *ui;
void createActions();
void createFilter();
void keyPressEvent(QKeyEvent *pressedKey);
}; };

View File

@ -6,7 +6,7 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>431</width> <width>430</width>
<height>1287</height> <height>1287</height>
</rect> </rect>
</property> </property>
@ -46,12 +46,12 @@
<widget class="QComboBox" name="comboBox_ip"> <widget class="QComboBox" name="comboBox_ip">
<item> <item>
<property name="text"> <property name="text">
<string>static</string> <string>dhcp</string>
</property> </property>
</item> </item>
<item> <item>
<property name="text"> <property name="text">
<string>dhcp</string> <string>static</string>
</property> </property>
</item> </item>
</widget> </widget>
@ -129,90 +129,6 @@
</item> </item>
</layout> </layout>
</item> </item>
<item>
<layout class="QVBoxLayout" name="layout_ipRoutes">
<item>
<layout class="QHBoxLayout" name="layout_ipRoutesLine">
<item>
<widget class="QLabel" name="label_ipRoutes">
<property name="minimumSize">
<size>
<width>150</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>Routes</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_ipRoutes">
<property name="toolTip">
<string>An array of custom routes</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="layout_ipRoutesLine2">
<item>
<spacer name="spacer_ipRoutes">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Preferred</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>68</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label_ipRoutes2">
<property name="minimumSize">
<size>
<width>75</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>via</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_ipRoutes2"/>
</item>
<item>
<widget class="QPushButton" name="pushButton_ipRoutes">
<property name="text">
<string>Add</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QListWidget" name="listWidget_ipRoutes">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>50</height>
</size>
</property>
<property name="toolTip">
<string>An array of physical network interfaces that this profile needs before it can be started</string>
</property>
</widget>
</item>
</layout>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>
@ -236,6 +152,16 @@
</item> </item>
<item> <item>
<widget class="QComboBox" name="comboBox_ip6"> <widget class="QComboBox" name="comboBox_ip6">
<item>
<property name="text">
<string>dhcp</string>
</property>
</item>
<item>
<property name="text">
<string>dhcp-noaddr</string>
</property>
</item>
<item> <item>
<property name="text"> <property name="text">
<string>static</string> <string>static</string>
@ -243,7 +169,7 @@
</item> </item>
<item> <item>
<property name="text"> <property name="text">
<string>dhcp</string> <string>stateless</string>
</property> </property>
</item> </item>
</widget> </widget>
@ -321,90 +247,6 @@
</item> </item>
</layout> </layout>
</item> </item>
<item>
<layout class="QVBoxLayout" name="layout_ipRoutes6">
<item>
<layout class="QHBoxLayout" name="layout_ipRoutes6Line">
<item>
<widget class="QLabel" name="label_ipRoutes6">
<property name="minimumSize">
<size>
<width>150</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>Routes6</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_ipRoutes6">
<property name="toolTip">
<string>An array of custom routes</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="layout_ipRoutes62">
<item>
<spacer name="spacer_ipRoutes6">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Preferred</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>68</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label_ipRoutes62">
<property name="minimumSize">
<size>
<width>75</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>via</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_ipRoutes62"/>
</item>
<item>
<widget class="QPushButton" name="pushButton_ipRoutes6">
<property name="text">
<string>Add</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QListWidget" name="listWidget_ipRoutes6">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>50</height>
</size>
</property>
<property name="toolTip">
<string>An array of physical network interfaces that this profile needs before it can be started</string>
</property>
</widget>
</item>
</layout>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>
@ -426,7 +268,7 @@
<item> <item>
<widget class="QPushButton" name="pushButton_ipAdvanced"> <widget class="QPushButton" name="pushButton_ipAdvanced">
<property name="text"> <property name="text">
<string>Show advanced</string> <string>Hide advanced</string>
</property> </property>
</widget> </widget>
</item> </item>
@ -435,6 +277,178 @@
<item> <item>
<widget class="QWidget" name="widget_ipAdvanced" native="true"> <widget class="QWidget" name="widget_ipAdvanced" native="true">
<layout class="QVBoxLayout" name="verticalLayout_6"> <layout class="QVBoxLayout" name="verticalLayout_6">
<item>
<widget class="QWidget" name="widget_ipRoutes" native="true">
<layout class="QVBoxLayout" name="layout_ipRoutes">
<item>
<layout class="QHBoxLayout" name="layout_ipRoutesLine">
<item>
<widget class="QLabel" name="label_ipRoutes">
<property name="minimumSize">
<size>
<width>150</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>Routes</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_ipRoutes">
<property name="toolTip">
<string>An array of custom routes</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="layout_ipRoutesLine2">
<item>
<spacer name="spacer_ipRoutes">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Preferred</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>68</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label_ipRoutes2">
<property name="minimumSize">
<size>
<width>75</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>via</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_ipRoutes2"/>
</item>
<item>
<widget class="QPushButton" name="pushButton_ipRoutes">
<property name="text">
<string>Add</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QListWidget" name="listWidget_ipRoutes">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>50</height>
</size>
</property>
<property name="toolTip">
<string>An array of physical network interfaces that this profile needs before it can be started</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="widget_ipRoutes6" native="true">
<layout class="QVBoxLayout" name="layout_ipRoutes6">
<item>
<layout class="QHBoxLayout" name="layout_ipRoutes6Line">
<item>
<widget class="QLabel" name="label_ipRoutes6">
<property name="minimumSize">
<size>
<width>150</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>Routes6</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_ipRoutes6">
<property name="toolTip">
<string>An array of custom routes</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="layout_ipRoutes62">
<item>
<spacer name="spacer_ipRoutes6">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Preferred</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>68</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label_ipRoutes62">
<property name="minimumSize">
<size>
<width>75</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>via</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_ipRoutes62"/>
</item>
<item>
<widget class="QPushButton" name="pushButton_ipRoutes6">
<property name="text">
<string>Add</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QListWidget" name="listWidget_ipRoutes6">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>50</height>
</size>
</property>
<property name="toolTip">
<string>An array of physical network interfaces that this profile needs before it can be started</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item> <item>
<layout class="QVBoxLayout" name="layout_custom"> <layout class="QVBoxLayout" name="layout_custom">
<item> <item>
@ -568,76 +582,84 @@
</layout> </layout>
</item> </item>
<item> <item>
<layout class="QHBoxLayout" name="layout_dhcpcdOpt"> <widget class="QWidget" name="widget_dhcpcdOpt" native="true">
<item> <layout class="QHBoxLayout" name="horizontalLayout">
<widget class="QLabel" name="label_dhcpcdOpt"> <item>
<property name="minimumSize"> <widget class="QLabel" name="label_dhcpcdOpt">
<size> <property name="minimumSize">
<width>150</width> <size>
<height>0</height> <width>150</width>
</size> <height>0</height>
</property> </size>
<property name="text"> </property>
<string>dhcpcd options</string> <property name="text">
</property> <string>dhcpcd options</string>
</widget> </property>
</item> </widget>
<item> </item>
<widget class="QLineEdit" name="lineEdit_dhcpcdOpt"> <item>
<property name="toolTip"> <widget class="QLineEdit" name="lineEdit_dhcpcdOpt">
<string>Additional options to be passed to the DHCP client</string> <property name="toolTip">
</property> <string>Additional options to be passed to the DHCP client</string>
</widget> </property>
</item> </widget>
</layout> </item>
</layout>
</widget>
</item> </item>
<item> <item>
<layout class="QHBoxLayout" name="layout_dhclientOpt"> <widget class="QWidget" name="widget_dhclientOpt" native="true">
<item> <layout class="QVBoxLayout" name="verticalLayout_8">
<widget class="QLabel" name="label_dhclientOpt"> <item>
<property name="minimumSize"> <layout class="QHBoxLayout" name="layout_dhclientOpt">
<size> <item>
<width>150</width> <widget class="QLabel" name="label_dhclientOpt">
<height>0</height> <property name="minimumSize">
</size> <size>
</property> <width>150</width>
<property name="text"> <height>0</height>
<string>dhclient options</string> </size>
</property> </property>
</widget> <property name="text">
</item> <string>dhclient options</string>
<item> </property>
<widget class="QLineEdit" name="lineEdit_dhclientOpt"> </widget>
<property name="toolTip"> </item>
<string>Additional options to be passed to the DHCP client</string> <item>
</property> <widget class="QLineEdit" name="lineEdit_dhclientOpt">
</widget> <property name="toolTip">
</item> <string>Additional options to be passed to the DHCP client</string>
</layout> </property>
</item> </widget>
<item> </item>
<layout class="QHBoxLayout" name="layout_dhclientOpt6"> </layout>
<item> </item>
<widget class="QLabel" name="label_dhclientOpt6"> <item>
<property name="minimumSize"> <layout class="QHBoxLayout" name="layout_dhclientOpt6">
<size> <item>
<width>150</width> <widget class="QLabel" name="label_dhclientOpt6">
<height>0</height> <property name="minimumSize">
</size> <size>
</property> <width>150</width>
<property name="text"> <height>0</height>
<string>dhclient options (6)</string> </size>
</property> </property>
</widget> <property name="text">
</item> <string>dhclient options (6)</string>
<item> </property>
<widget class="QLineEdit" name="lineEdit_dhclientOpt6"> </widget>
<property name="toolTip"> </item>
<string>Additional options to be passed to the DHCP client</string> <item>
</property> <widget class="QLineEdit" name="lineEdit_dhclientOpt6">
</widget> <property name="toolTip">
</item> <string>Additional options to be passed to the DHCP client</string>
</layout> </property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item> </item>
<item> <item>
<layout class="QHBoxLayout" name="layout_timeoutDhcp"> <layout class="QHBoxLayout" name="layout_timeoutDhcp">
@ -759,7 +781,7 @@
<item> <item>
<layout class="QHBoxLayout" name="layout_dnsSearch"> <layout class="QHBoxLayout" name="layout_dnsSearch">
<item> <item>
<widget class="QLabel" name="label_dnsSearch_2"> <widget class="QLabel" name="label_dnsSearch">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>150</width> <width>150</width>
@ -772,7 +794,7 @@
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QLineEdit" name="lineEdit_dnsSearch_2"> <widget class="QLineEdit" name="lineEdit_dnsSearch">
<property name="toolTip"> <property name="toolTip">
<string>A search line for /etc/resolv.conf</string> <string>A search line for /etc/resolv.conf</string>
</property> </property>
@ -785,7 +807,7 @@
<item> <item>
<layout class="QHBoxLayout" name="layout_dnsOptionsLine"> <layout class="QHBoxLayout" name="layout_dnsOptionsLine">
<item> <item>
<widget class="QLabel" name="label_dnsSearch"> <widget class="QLabel" name="label_dnsOptions">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>150</width> <width>150</width>
@ -798,10 +820,10 @@
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QLineEdit" name="lineEdit_dnsSearch"/> <widget class="QLineEdit" name="lineEdit_dnsOptions"/>
</item> </item>
<item> <item>
<widget class="QPushButton" name="pushButton_dnsSearch"> <widget class="QPushButton" name="pushButton_dnsOptions">
<property name="text"> <property name="text">
<string>Add</string> <string>Add</string>
</property> </property>
@ -810,7 +832,7 @@
</layout> </layout>
</item> </item>
<item> <item>
<widget class="QListWidget" name="listWidget_dnsSearch"> <widget class="QListWidget" name="listWidget_dnsOptions">
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>16777215</width> <width>16777215</width>
@ -843,21 +865,21 @@
<tabstop>pushButton_ipAddress</tabstop> <tabstop>pushButton_ipAddress</tabstop>
<tabstop>listWidget_ipAddress</tabstop> <tabstop>listWidget_ipAddress</tabstop>
<tabstop>lineEdit_gateway</tabstop> <tabstop>lineEdit_gateway</tabstop>
<tabstop>lineEdit_ipRoutes</tabstop>
<tabstop>lineEdit_ipRoutes2</tabstop>
<tabstop>pushButton_ipRoutes</tabstop>
<tabstop>listWidget_ipRoutes</tabstop>
<tabstop>checkBox_ip6</tabstop> <tabstop>checkBox_ip6</tabstop>
<tabstop>comboBox_ip6</tabstop> <tabstop>comboBox_ip6</tabstop>
<tabstop>lineEdit_ipAddress6</tabstop> <tabstop>lineEdit_ipAddress6</tabstop>
<tabstop>pushButton_ipAddress6</tabstop> <tabstop>pushButton_ipAddress6</tabstop>
<tabstop>listWidget_ipAddress6</tabstop> <tabstop>listWidget_ipAddress6</tabstop>
<tabstop>lineEdit_gateway6</tabstop> <tabstop>lineEdit_gateway6</tabstop>
<tabstop>pushButton_ipAdvanced</tabstop>
<tabstop>lineEdit_ipRoutes</tabstop>
<tabstop>lineEdit_ipRoutes2</tabstop>
<tabstop>pushButton_ipRoutes</tabstop>
<tabstop>listWidget_ipRoutes</tabstop>
<tabstop>lineEdit_ipRoutes6</tabstop> <tabstop>lineEdit_ipRoutes6</tabstop>
<tabstop>lineEdit_ipRoutes62</tabstop> <tabstop>lineEdit_ipRoutes62</tabstop>
<tabstop>pushButton_ipRoutes6</tabstop> <tabstop>pushButton_ipRoutes6</tabstop>
<tabstop>listWidget_ipRoutes6</tabstop> <tabstop>listWidget_ipRoutes6</tabstop>
<tabstop>pushButton_ipAdvanced</tabstop>
<tabstop>lineEdit_custom</tabstop> <tabstop>lineEdit_custom</tabstop>
<tabstop>pushButton_custom</tabstop> <tabstop>pushButton_custom</tabstop>
<tabstop>listWidget_custom</tabstop> <tabstop>listWidget_custom</tabstop>
@ -873,76 +895,11 @@
<tabstop>pushButton_dns</tabstop> <tabstop>pushButton_dns</tabstop>
<tabstop>listWidget_dns</tabstop> <tabstop>listWidget_dns</tabstop>
<tabstop>lineEdit_dnsDomain</tabstop> <tabstop>lineEdit_dnsDomain</tabstop>
<tabstop>lineEdit_dnsSearch_2</tabstop>
<tabstop>lineEdit_dnsSearch</tabstop> <tabstop>lineEdit_dnsSearch</tabstop>
<tabstop>pushButton_dnsSearch</tabstop> <tabstop>lineEdit_dnsOptions</tabstop>
<tabstop>listWidget_dnsSearch</tabstop> <tabstop>pushButton_dnsOptions</tabstop>
<tabstop>listWidget_dnsOptions</tabstop>
</tabstops> </tabstops>
<resources/> <resources/>
<connections> <connections/>
<connection>
<sender>checkBox_ip</sender>
<signal>clicked(bool)</signal>
<receiver>comboBox_ip</receiver>
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>33</x>
<y>49</y>
</hint>
<hint type="destinationlabel">
<x>458</x>
<y>53</y>
</hint>
</hints>
</connection>
<connection>
<sender>checkBox_ip</sender>
<signal>clicked(bool)</signal>
<receiver>widget_ip</receiver>
<slot>setShown(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>33</x>
<y>54</y>
</hint>
<hint type="destinationlabel">
<x>28</x>
<y>101</y>
</hint>
</hints>
</connection>
<connection>
<sender>checkBox_ip6</sender>
<signal>clicked(bool)</signal>
<receiver>comboBox_ip6</receiver>
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>127</x>
<y>348</y>
</hint>
<hint type="destinationlabel">
<x>458</x>
<y>349</y>
</hint>
</hints>
</connection>
<connection>
<sender>checkBox_ip6</sender>
<signal>clicked(bool)</signal>
<receiver>widget_ip6</receiver>
<slot>setShown(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>106</x>
<y>348</y>
</hint>
<hint type="destinationlabel">
<x>56</x>
<y>608</y>
</hint>
</hints>
</connection>
</connections>
</ui> </ui>