tuntap, tunnel and vlan widgets have been completed

This commit is contained in:
arcan1s 2014-02-22 00:38:17 +04:00
parent 13c63163b1
commit 026f08d0cf
13 changed files with 154 additions and 6 deletions

View File

@ -47,9 +47,9 @@ QHash<QString, QString> BridgeWidget::getSettings()
if (isOk() == 0) {
if (ui->checkBox_skip->checkState() == Qt::Checked)
bridgeSettings[QString("SkipForwardingDelay")] = QString("yes");
clear();
}
clear();
return bridgeSettings;
}

View File

@ -111,9 +111,9 @@ QHash<QString, QString> EthernetWidget::getSettings()
ethernetSettings[QString("TimeoutCarrier")] = QString(ui->spinBox_timeoutCarrier->value());
if (ui->spinBox_timeoutWpa->value() != 15)
ethernetSettings[QString("TimeoutWPA")] = QString(ui->spinBox_timeoutWpa->value());
clear();
}
clear();
return ethernetSettings;
}

View File

@ -134,9 +134,9 @@ QHash<QString, QString> GeneralWidget::getSettings()
generalSettings[QString("ExecDownPre")] = ui->lineEdit_execDownPre->text();
if (ui->checkBox_forceConnect->checkState() == Qt::Checked)
generalSettings[QString("ForceConnect")] = QString("yes");
clear();
}
clear();
return generalSettings;
}

View File

@ -454,9 +454,9 @@ QHash<QString, QString> IpWidget::getSettings()
dnsOpt.append(QString("'") + ui->listWidget_dnsOptions->item(i)->text() + QString("'"));
ipSettings[QString("DNS")] = dnsOpt.join(QString(" "));
}
clear();
}
clear();
return ipSettings;
}

View File

@ -111,9 +111,9 @@ QHash<QString, QString> MobileWidget::getSettings()
mobileSettings[QString("UsePeerDNS")] = QString("false");
if (!ui->lineEdit_options->text().isEmpty())
mobileSettings[QString("OptionsFile")] = ui->lineEdit_options->text();
clear();
}
clear();
return mobileSettings;
}

View File

@ -152,9 +152,9 @@ QHash<QString, QString> PppoeWidget::getSettings()
pppoeSettings[QString("PPPoEMAC")] = QString("'") + ui->lineEdit_mac->text() + QString("'");
if (ui->checkBox_ipv6->checkState() == Qt::Checked)
pppoeSettings[QString("PPPoEIP6")] = QString("yes");
clear();
}
clear();
return pppoeSettings;
}

View File

@ -33,10 +33,12 @@ public :
{
QThread::usleep(iSleepTime);
}
static void sleep(long iSleepTime)
{
QThread::sleep(iSleepTime);
}
static void msleep(long iSleepTime)
{
QThread::msleep(iSleepTime);

View File

@ -24,6 +24,8 @@ TunnelWidget::TunnelWidget(QWidget *parent)
ui(new Ui::TunnelWidget)
{
ui->setupUi(this);
createFilter();
clear();
}
@ -31,3 +33,66 @@ TunnelWidget::~TunnelWidget()
{
delete ui;
}
void TunnelWidget::clear()
{
ui->comboBox_mode->setCurrentIndex(0);
ui->lineEdit_local->clear();
ui->lineEdit_remote->clear();
}
void TunnelWidget::createFilter()
{
// using input mask because validators is not comfortable
// ipv4
ui->lineEdit_local->setInputMask(QString("999.999.999.999"));
ui->lineEdit_remote->setInputMask(QString("999.999.999.999"));
}
QString TunnelWidget::getIp(QString rawIp)
{
QStringList ip = rawIp.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");
return ip.join(QString("."));
}
QHash<QString, QString> TunnelWidget::getSettings()
{
QHash<QString, QString> tunnelSettings;
if (isOk() == 0) {
tunnelSettings[QString("Mode")] = QString("'") + ui->comboBox_mode->currentText() + QString("'");
if (!ui->lineEdit_local->text().split(QString(".")).join(QString("")).remove(QString(" ")).isEmpty())
tunnelSettings[QString("Local")] = QString("'") + getIp(ui->lineEdit_local->text().remove(QString(" "))) + QString("'");
if (!ui->lineEdit_remote->text().split(QString(".")).join(QString("")).remove(QString(" ")).isEmpty())
tunnelSettings[QString("Remote")] = QString("'") + getIp(ui->lineEdit_remote->text().remove(QString(" "))) + QString("'");
clear();
}
return tunnelSettings;
}
int TunnelWidget::isOk()
{
// all fine
return 0;
}

View File

@ -32,9 +32,16 @@ class TunnelWidget : public QWidget
public:
explicit TunnelWidget(QWidget *parent = 0);
~TunnelWidget();
QHash<QString, QString> getSettings();
int isOk();
public slots:
void clear();
private:
Ui::TunnelWidget *ui;
void createFilter();
QString getIp(QString rawIp);
};

View File

@ -24,6 +24,7 @@ TuntapWidget::TuntapWidget(QWidget *parent)
ui(new Ui::TuntapWidget)
{
ui->setupUi(this);
clear();
}
@ -31,3 +32,39 @@ TuntapWidget::~TuntapWidget()
{
delete ui;
}
void TuntapWidget::clear()
{
ui->comboBox_mode->setCurrentIndex(0);
ui->lineEdit_user->setText(QString("nobody"));
ui->lineEdit_group->setText(QString("nobody"));
}
QHash<QString, QString> TuntapWidget::getSettings()
{
QHash<QString, QString> tuntapSettings;
if (isOk() == 0) {
tuntapSettings[QString("Mode")] = QString("'") + ui->comboBox_mode->currentText() + QString("'");
tuntapSettings[QString("User")] = QString("'") + ui->lineEdit_user->text() + QString("'");
tuntapSettings[QString("Group")] = QString("'") + ui->lineEdit_group->text() + QString("'");
clear();
}
return tuntapSettings;
}
int TuntapWidget::isOk()
{
// empty username
if (ui->lineEdit_user->text().isEmpty())
return 1;
// empty group name
if (ui->lineEdit_group->text().isEmpty())
return 2;
// all fine
return 0;
}

View File

@ -32,6 +32,11 @@ class TuntapWidget : public QWidget
public:
explicit TuntapWidget(QWidget *parent = 0);
~TuntapWidget();
QHash<QString, QString> getSettings();
int isOk();
public slots:
void clear();
private:
Ui::TuntapWidget *ui;

View File

@ -24,6 +24,7 @@ VlanWidget::VlanWidget(QWidget *parent)
ui(new Ui::VlanWidget)
{
ui->setupUi(this);
clear();
}
@ -31,3 +32,29 @@ VlanWidget::~VlanWidget()
{
delete ui;
}
void VlanWidget::clear()
{
ui->spinBox_vlan->setValue(55);
}
QHash<QString, QString> VlanWidget::getSettings()
{
QHash<QString, QString> vlanSettings;
if (isOk() == 0) {
vlanSettings[QString("VLANID")] = QString(ui->spinBox_vlan->value());
clear();
}
return vlanSettings;
}
int VlanWidget::isOk()
{
// all fine
return 0;
}

View File

@ -32,6 +32,11 @@ class VlanWidget : public QWidget
public:
explicit VlanWidget(QWidget *parent = 0);
~VlanWidget();
QHash<QString, QString> getSettings();
int isOk();
public slots:
void clear();
private:
Ui::VlanWidget *ui;