now ethernet widget has been completed

This commit is contained in:
arcan1s 2014-02-17 23:43:09 +04:00
parent 4e53eaa1ea
commit a20cac49aa
6 changed files with 149 additions and 9 deletions

View File

@ -18,6 +18,8 @@
#include "ethernetwidget.h"
#include "ui_ethernetwidget.h"
#include <QFile>
EthernetWidget::EthernetWidget(QWidget *parent)
: QWidget(parent),
@ -25,6 +27,7 @@ EthernetWidget::EthernetWidget(QWidget *parent)
{
ui->setupUi(this);
createActions();
clear();
showAdvanced();
}
@ -39,7 +42,7 @@ void EthernetWidget::clear()
{
ui->checkBox_skip->setCheckState(Qt::Unchecked);
ui->checkBox_8021x->setCheckState(Qt::Unchecked);
ui->lineEdit_wpaConfig->clear();
ui->lineEdit_wpaConfig->setText(QString("/etc/wpa_supplicant.conf"));
ui->comboBox_driver->setCurrentIndex(0);
ui->spinBox_timeoutCarrier->setValue(5);
ui->spinBox_timeoutWpa->setValue(15);
@ -63,7 +66,6 @@ void EthernetWidget::showAdvanced()
ui->widget_ethernetAdvanced->setHidden(true);
ui->pushButton_ethernetAdvanced->setText(QApplication::translate("EthernetWidget", "Show advanced"));
}
clear();
}
@ -74,3 +76,35 @@ void EthernetWidget::showWpa(int state)
else
ui->widget_wpa->setShown(true);
}
QHash<QString, QString> EthernetWidget::getSettings()
{
QHash<QString, QString> ethernetSettings;
if (isOk() == 0) {
if (ui->checkBox_skip->checkState() == Qt::Checked)
ethernetSettings[QString("SkipNoCarrier")] = QString("yes");
if (ui->checkBox_8021x->checkState() == Qt::Checked) {
ethernetSettings[QString("Auth8021X")] = QString("yes");
ethernetSettings[QString("WPAConfigFile")] = ui->lineEdit_wpaConfig->text();
ethernetSettings[QString("WPADriver")] = ui->comboBox_driver->currentText();
}
if (ui->spinBox_timeoutCarrier->value() != 5)
ethernetSettings[QString("TimeoutCarrier")] = QString(ui->spinBox_timeoutCarrier->value());
if (ui->spinBox_timeoutWpa->value() != 15)
ethernetSettings[QString("TimeoutWPA")] = QString(ui->spinBox_timeoutWpa->value());
}
return ethernetSettings;
}
int EthernetWidget::isOk()
{
// file wpa_supplicant doesn't exists
if (!QFile(ui->lineEdit_wpaConfig->text()).exists())
return 1;
// all fine
return 0;
}

View File

@ -18,6 +18,7 @@
#ifndef ETHERNETWIDGET_H
#define ETHERNETWIDGET_H
#include <QHash>
#include <QWidget>
@ -32,6 +33,8 @@ class EthernetWidget : public QWidget
public:
explicit EthernetWidget(QWidget *parent = 0);
~EthernetWidget();
QHash<QString, QString> getSettings();
int isOk();
public slots:
void clear();

View File

@ -18,16 +18,101 @@
#include "generalwidget.h"
#include "ui_generalwidget.h"
#include <QKeyEvent>
GeneralWidget::GeneralWidget(QWidget *parent)
GeneralWidget::GeneralWidget(QWidget *parent, QString ifaceDir, QString profileDir)
: QWidget(parent),
ifaceDirectory(new QDir(ifaceDir)),
profileDirectory(new QDir(profileDir)),
ui(new Ui::GeneralWidget)
{
ui->setupUi(this);
createActions();
clear();
showAdvanced();
}
GeneralWidget::~GeneralWidget()
{
delete ifaceDirectory;
delete profileDirectory;
delete ui;
}
void GeneralWidget::clear()
{
ui->lineEdit_description->clear();
ui->comboBox_connection->setCurrentIndex(0);
ui->comboBox_interface->clear();
ui->comboBox_interface->addItems(ifaceDirectory->entryList(QDir::Dirs | QDir::NoDotAndDotDot));
ui->comboBox_bindto->clear();
ui->comboBox_bindto->addItems(ifaceDirectory->entryList(QDir::Dirs | QDir::NoDotAndDotDot));
ui->listWidget_bindto->clear();
ui->comboBox_after->clear();
ui->comboBox_after->addItems(profileDirectory->entryList(QDir::Files));
ui->listWidget_after->clear();
ui->lineEdit_execUpPost->clear();
ui->lineEdit_execDownPre->clear();
ui->checkBox_forceConnect->setCheckState(Qt::Unchecked);
}
void GeneralWidget::createActions()
{
connect(ui->pushButton_generalAdvanced, SIGNAL(clicked(bool)), this, SLOT(showAdvanced()));
connect(ui->pushButton_after, SIGNAL(clicked(bool)), this, SLOT(addAfter()));
connect(ui->pushButton_bindto, SIGNAL(clicked(bool)), this, SLOT(addBindTo()));
}
void GeneralWidget::addAfter()
{
ui->listWidget_after->addItem(ui->comboBox_after->currentText());
}
void GeneralWidget::addBindTo()
{
ui->listWidget_bindto->addItem(ui->comboBox_bindto->currentText());
}
void GeneralWidget::keyPressEvent(QKeyEvent *pressedKey)
{
if (pressedKey->key() == Qt::Key_Delete) {
if (ui->listWidget_bindto->hasFocus() &&
(ui->listWidget_bindto->currentItem() != 0))
delete ui->listWidget_bindto->currentItem();
else if (ui->listWidget_after->hasFocus() &&
(ui->listWidget_after->currentItem() != 0))
delete ui->listWidget_after->currentItem();
}
}
void GeneralWidget::showAdvanced()
{
if (ui->pushButton_generalAdvanced->text().indexOf(QString("Show")) > -1) {
ui->widget_generalAdvanced->setShown(true);
ui->pushButton_generalAdvanced->setText(QApplication::translate("GeneralWidget", "Hide advanced"));
}
else {
ui->widget_generalAdvanced->setHidden(true);
ui->pushButton_generalAdvanced->setText(QApplication::translate("GeneralWidget", "Show advanced"));
}
}
QHash<QString, QString> GeneralWidget::getSettings()
{
}
int GeneralWidget::isOk()
{
return 0;
}

View File

@ -18,6 +18,8 @@
#ifndef GENERALWIDGET_H
#define GENERALWIDGET_H
#include <QDir>
#include <QHash>
#include <QWidget>
@ -30,11 +32,27 @@ class GeneralWidget : public QWidget
Q_OBJECT
public:
explicit GeneralWidget(QWidget *parent = 0);
explicit GeneralWidget(QWidget *parent = 0,
QString ifaceDir = QString(""),
QString profileDir = QString(""));
~GeneralWidget();
QHash<QString, QString> getSettings();
int isOk();
public slots:
void clear();
private slots:
void addAfter();
void addBindTo();
void showAdvanced();
private:
QDir *ifaceDirectory;
QDir *profileDirectory;
Ui::GeneralWidget *ui;
void createActions();
void keyPressEvent(QKeyEvent *pressedKey);
};

View File

@ -198,9 +198,9 @@
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="layout_advanced">
<layout class="QHBoxLayout" name="layout_generalAdvanced">
<item>
<spacer name="spacer_advanced">
<spacer name="spacer_generalAdvanced">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
@ -213,9 +213,9 @@
</spacer>
</item>
<item>
<widget class="QPushButton" name="pushButton_advanced">
<widget class="QPushButton" name="pushButton_generalAdvanced">
<property name="text">
<string>Show advanced</string>
<string>Hide advanced</string>
</property>
</widget>
</item>

View File

@ -64,7 +64,7 @@ MainWindow::MainWindow(QWidget *parent)
wpaConfig.append(QString("users"));
// gui
generalWid = new GeneralWidget(this);
generalWid = new GeneralWidget(this, ifaceDir, profileDir);
ui->scrollAreaWidgetContents->layout()->addWidget(generalWid);
ipWid = new IpWidget(this);
ui->scrollAreaWidgetContents->layout()->addWidget(ipWid);