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 "ethernetwidget.h"
#include "ui_ethernetwidget.h" #include "ui_ethernetwidget.h"
#include <QFile>
EthernetWidget::EthernetWidget(QWidget *parent) EthernetWidget::EthernetWidget(QWidget *parent)
: QWidget(parent), : QWidget(parent),
@ -25,6 +27,7 @@ EthernetWidget::EthernetWidget(QWidget *parent)
{ {
ui->setupUi(this); ui->setupUi(this);
createActions(); createActions();
clear();
showAdvanced(); showAdvanced();
} }
@ -39,7 +42,7 @@ void EthernetWidget::clear()
{ {
ui->checkBox_skip->setCheckState(Qt::Unchecked); ui->checkBox_skip->setCheckState(Qt::Unchecked);
ui->checkBox_8021x->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->comboBox_driver->setCurrentIndex(0);
ui->spinBox_timeoutCarrier->setValue(5); ui->spinBox_timeoutCarrier->setValue(5);
ui->spinBox_timeoutWpa->setValue(15); ui->spinBox_timeoutWpa->setValue(15);
@ -63,7 +66,6 @@ void EthernetWidget::showAdvanced()
ui->widget_ethernetAdvanced->setHidden(true); ui->widget_ethernetAdvanced->setHidden(true);
ui->pushButton_ethernetAdvanced->setText(QApplication::translate("EthernetWidget", "Show advanced")); ui->pushButton_ethernetAdvanced->setText(QApplication::translate("EthernetWidget", "Show advanced"));
} }
clear();
} }
@ -74,3 +76,35 @@ void EthernetWidget::showWpa(int state)
else else
ui->widget_wpa->setShown(true); 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 #ifndef ETHERNETWIDGET_H
#define ETHERNETWIDGET_H #define ETHERNETWIDGET_H
#include <QHash>
#include <QWidget> #include <QWidget>
@ -32,6 +33,8 @@ class EthernetWidget : public QWidget
public: public:
explicit EthernetWidget(QWidget *parent = 0); explicit EthernetWidget(QWidget *parent = 0);
~EthernetWidget(); ~EthernetWidget();
QHash<QString, QString> getSettings();
int isOk();
public slots: public slots:
void clear(); void clear();

View File

@ -18,16 +18,101 @@
#include "generalwidget.h" #include "generalwidget.h"
#include "ui_generalwidget.h" #include "ui_generalwidget.h"
#include <QKeyEvent>
GeneralWidget::GeneralWidget(QWidget *parent)
GeneralWidget::GeneralWidget(QWidget *parent, QString ifaceDir, QString profileDir)
: QWidget(parent), : QWidget(parent),
ifaceDirectory(new QDir(ifaceDir)),
profileDirectory(new QDir(profileDir)),
ui(new Ui::GeneralWidget) ui(new Ui::GeneralWidget)
{ {
ui->setupUi(this); ui->setupUi(this);
createActions();
clear();
showAdvanced();
} }
GeneralWidget::~GeneralWidget() GeneralWidget::~GeneralWidget()
{ {
delete ifaceDirectory;
delete profileDirectory;
delete ui; 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 #ifndef GENERALWIDGET_H
#define GENERALWIDGET_H #define GENERALWIDGET_H
#include <QDir>
#include <QHash>
#include <QWidget> #include <QWidget>
@ -30,11 +32,27 @@ class GeneralWidget : public QWidget
Q_OBJECT Q_OBJECT
public: public:
explicit GeneralWidget(QWidget *parent = 0); explicit GeneralWidget(QWidget *parent = 0,
QString ifaceDir = QString(""),
QString profileDir = QString(""));
~GeneralWidget(); ~GeneralWidget();
QHash<QString, QString> getSettings();
int isOk();
public slots:
void clear();
private slots:
void addAfter();
void addBindTo();
void showAdvanced();
private: private:
QDir *ifaceDirectory;
QDir *profileDirectory;
Ui::GeneralWidget *ui; Ui::GeneralWidget *ui;
void createActions();
void keyPressEvent(QKeyEvent *pressedKey);
}; };

View File

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

View File

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