mirror of
https://github.com/arcan1s/netctl-gui.git
synced 2025-04-24 15:37:23 +00:00
refactoring of the configuration interface
This commit is contained in:
parent
021a870220
commit
9b01fcd4e1
@ -10,9 +10,11 @@ Ver.1.2.0:
|
|||||||
+ [gui] added support of netctl-auto
|
+ [gui] added support of netctl-auto
|
||||||
+ [lib] detached backend from frontend
|
+ [lib] detached backend from frontend
|
||||||
+ [plasmoid] added support of netctl-auto
|
+ [plasmoid] added support of netctl-auto
|
||||||
|
+ [plasmoid] added dataengine configuration
|
||||||
* [all] small changes in the project architecture
|
* [all] small changes in the project architecture
|
||||||
* [gui] more debug information
|
* [gui] more debug information
|
||||||
* [gui] changed lineEdit_profile to comboBox
|
* [gui] changed lineEdit_profile to comboBox
|
||||||
|
* [gui] refactoring of configuration interface
|
||||||
* [plasmoid] edited configuration interface
|
* [plasmoid] edited configuration interface
|
||||||
|
|
||||||
Ver.1.1.0 (netctl-1.7 update):
|
Ver.1.1.0 (netctl-1.7 update):
|
||||||
|
@ -71,7 +71,6 @@ Additional information
|
|||||||
TODO (wish list)
|
TODO (wish list)
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
* split configuration interface
|
|
||||||
* man pages
|
* man pages
|
||||||
* code review
|
* code review
|
||||||
|
|
||||||
|
@ -17,9 +17,9 @@
|
|||||||
|
|
||||||
#include "netctl.h"
|
#include "netctl.h"
|
||||||
|
|
||||||
|
#include <KGlobal>
|
||||||
|
#include <KStandardDirs>
|
||||||
#include <Plasma/DataContainer>
|
#include <Plasma/DataContainer>
|
||||||
#include <KDE/KGlobal>
|
|
||||||
#include <KDE/KStandardDirs>
|
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
#include <QFile>
|
#include <QFile>
|
||||||
#include <QProcess>
|
#include <QProcess>
|
||||||
@ -65,8 +65,7 @@ void Netctl::readConfiguration()
|
|||||||
|
|
||||||
QString fileName = KGlobal::dirs()->findResource("config", "netctl.conf");
|
QString fileName = KGlobal::dirs()->findResource("config", "netctl.conf");
|
||||||
QFile confFile(fileName);
|
QFile confFile(fileName);
|
||||||
bool ok = confFile.open(QIODevice::ReadOnly);
|
if (!confFile.open(QIODevice::ReadOnly)) {
|
||||||
if (!ok) {
|
|
||||||
configuration = updateConfiguration(rawConfig);
|
configuration = updateConfiguration(rawConfig);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -49,17 +49,19 @@ int main(int argc, char *argv[])
|
|||||||
helpMessage += QApplication::translate("MainWindow", " Evgeniy Alekseev aka arcanis\n");
|
helpMessage += QApplication::translate("MainWindow", " Evgeniy Alekseev aka arcanis\n");
|
||||||
helpMessage += QApplication::translate("MainWindow", " E-mail : esalexeev@gmail.com\n\n");
|
helpMessage += QApplication::translate("MainWindow", " E-mail : esalexeev@gmail.com\n\n");
|
||||||
helpMessage += QApplication::translate("MainWindow", "Usage:\n");
|
helpMessage += QApplication::translate("MainWindow", "Usage:\n");
|
||||||
helpMessage += QApplication::translate("MainWindow", "netctl-gui [ -d | --debug ] [ --default ] [ --netctl-auto ] [ -t NUM | --tab NUM ]\n");
|
helpMessage += QApplication::translate("MainWindow", "netctl-gui [ -d | --debug ] [ --default ] [ --netctl-auto ] [ --settings ]\n");
|
||||||
helpMessage += QApplication::translate("MainWindow", " [ -h | --help]\n\n");
|
helpMessage += QApplication::translate("MainWindow", " [ -t NUM | --tab NUM ] [ -h | --help]\n\n");
|
||||||
helpMessage += QApplication::translate("MainWindow", "Parametrs:\n");
|
helpMessage += QApplication::translate("MainWindow", "Parametrs:\n");
|
||||||
helpMessage += QApplication::translate("MainWindow", " -d --debug - print debug information\n");
|
helpMessage += QApplication::translate("MainWindow", " -d --debug - print debug information\n");
|
||||||
helpMessage += QApplication::translate("MainWindow", " --default - start with default settings\n");
|
helpMessage += QApplication::translate("MainWindow", " --default - start with default settings\n");
|
||||||
helpMessage += QApplication::translate("MainWindow", " --netctl-auto - show netctl-auto window\n");
|
helpMessage += QApplication::translate("MainWindow", " --netctl-auto - show netctl-auto window\n");
|
||||||
|
helpMessage += QApplication::translate("MainWindow", " --settings - show settings window\n");
|
||||||
helpMessage += QApplication::translate("MainWindow", " -t NUM --tab NUM - open a tab with number NUM\n");
|
helpMessage += QApplication::translate("MainWindow", " -t NUM --tab NUM - open a tab with number NUM\n");
|
||||||
helpMessage += QApplication::translate("MainWindow", " -h --help - show this help and exit\n");
|
helpMessage += QApplication::translate("MainWindow", " -h --help - show this help and exit\n");
|
||||||
bool defaultSettings = false;
|
bool defaultSettings = false;
|
||||||
bool debug = false;
|
bool debug = false;
|
||||||
bool netctlAuto = false;
|
bool showNetctlAuto = false;
|
||||||
|
bool showSettings = false;
|
||||||
int tabNumber = 1;
|
int tabNumber = 1;
|
||||||
|
|
||||||
for (int i=1; i<argc; i++) {
|
for (int i=1; i<argc; i++) {
|
||||||
@ -88,7 +90,13 @@ int main(int argc, char *argv[])
|
|||||||
(argv[i][4] == 't') && (argv[i][5] == 'c') && (argv[i][6] == 't') && (argv[i][7] == 'l') &&
|
(argv[i][4] == 't') && (argv[i][5] == 'c') && (argv[i][6] == 't') && (argv[i][7] == 'l') &&
|
||||||
(argv[i][8] == '-') && (argv[i][9] == 'a') && (argv[i][10] == 'u') && (argv[i][11] == 't') &&
|
(argv[i][8] == '-') && (argv[i][9] == 'a') && (argv[i][10] == 'u') && (argv[i][11] == 't') &&
|
||||||
(argv[i][12] == 'o') && (argv[i][13] == '\0')) {
|
(argv[i][12] == 'o') && (argv[i][13] == '\0')) {
|
||||||
netctlAuto = true;
|
showNetctlAuto = true;
|
||||||
|
}
|
||||||
|
// settings
|
||||||
|
else if ((argv[i][0] == '-') && (argv[i][1] == '-') && (argv[i][2] == 's') && (argv[i][3] == 'e') &&
|
||||||
|
(argv[i][4] == 't') && (argv[i][5] == 't') && (argv[i][6] == 'i') && (argv[i][7] == 'n') &&
|
||||||
|
(argv[i][8] == 'g') && (argv[i][9] == 's') && (argv[i][10] == '\0')) {
|
||||||
|
showSettings = true;
|
||||||
}
|
}
|
||||||
// tab number
|
// tab number
|
||||||
else if (((argv[i][0] == '-') && (argv[i][1] == 't') && (argv[i][2] == '\0')) ||
|
else if (((argv[i][0] == '-') && (argv[i][1] == 't') && (argv[i][2] == '\0')) ||
|
||||||
@ -104,7 +112,7 @@ int main(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MainWindow w(0, defaultSettings, debug, netctlAuto, tabNumber);
|
MainWindow w(0, defaultSettings, debug, showNetctlAuto, showSettings, tabNumber);
|
||||||
w.show();
|
w.show();
|
||||||
return a.exec();
|
return a.exec();
|
||||||
}
|
}
|
||||||
|
@ -44,7 +44,12 @@
|
|||||||
#include "wirelesswidget.h"
|
#include "wirelesswidget.h"
|
||||||
|
|
||||||
|
|
||||||
MainWindow::MainWindow(QWidget *parent, const bool defaultSettings, const bool debugCmd, const bool netctlAuto, const int tabNum)
|
MainWindow::MainWindow(QWidget *parent,
|
||||||
|
const bool defaultSettings,
|
||||||
|
const bool debugCmd,
|
||||||
|
const bool showNetctlAuto,
|
||||||
|
const bool showSettings,
|
||||||
|
const int tabNum)
|
||||||
: QMainWindow(parent),
|
: QMainWindow(parent),
|
||||||
ui(new Ui::MainWindow),
|
ui(new Ui::MainWindow),
|
||||||
debug(debugCmd)
|
debug(debugCmd)
|
||||||
@ -97,8 +102,10 @@ MainWindow::MainWindow(QWidget *parent, const bool defaultSettings, const bool d
|
|||||||
updateTabs(ui->tabWidget->currentIndex());
|
updateTabs(ui->tabWidget->currentIndex());
|
||||||
ui->statusBar->showMessage(QApplication::translate("MainWindow", "Ready"));
|
ui->statusBar->showMessage(QApplication::translate("MainWindow", "Ready"));
|
||||||
|
|
||||||
if (netctlAuto)
|
if (showNetctlAuto)
|
||||||
netctlAutoWin->showWindow();
|
netctlAutoWin->showWindow();
|
||||||
|
if (showSettings)
|
||||||
|
settingsWin->showWindow();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1287,6 +1294,8 @@ void MainWindow::connectToUnknownEssid(const QString passwd)
|
|||||||
if (!passwd.isEmpty())
|
if (!passwd.isEmpty())
|
||||||
settings[QString("Key")] = QString("'") + passwd + QString("'");
|
settings[QString("Key")] = QString("'") + passwd + QString("'");
|
||||||
settings[QString("IP")] = QString("dhcp");
|
settings[QString("IP")] = QString("dhcp");
|
||||||
|
if (hiddenNetwork)
|
||||||
|
settings[QString("Hidden")] = QString("yes");
|
||||||
|
|
||||||
QString profile = QString("netctl-gui-") + settings[QString("ESSID")];
|
QString profile = QString("netctl-gui-") + settings[QString("ESSID")];
|
||||||
profile.remove(QString("'"));
|
profile.remove(QString("'"));
|
||||||
@ -1325,6 +1334,7 @@ void MainWindow::wifiTabStart()
|
|||||||
if (ui->tableWidget_wifi->currentItem() == 0)
|
if (ui->tableWidget_wifi->currentItem() == 0)
|
||||||
return;
|
return;
|
||||||
if (ui->tableWidget_wifi->item(ui->tableWidget_wifi->currentItem()->row(), 0)->text() == QString("<hidden>")) {
|
if (ui->tableWidget_wifi->item(ui->tableWidget_wifi->currentItem()->row(), 0)->text() == QString("<hidden>")) {
|
||||||
|
hiddenNetwork = true;
|
||||||
passwdWid = new PasswdWidget(this);
|
passwdWid = new PasswdWidget(this);
|
||||||
passwdWid->setPassword(false);
|
passwdWid->setPassword(false);
|
||||||
int widgetWidth = 270;
|
int widgetWidth = 270;
|
||||||
@ -1338,6 +1348,7 @@ void MainWindow::wifiTabStart()
|
|||||||
}
|
}
|
||||||
|
|
||||||
ui->tabWidget->setDisabled(true);
|
ui->tabWidget->setDisabled(true);
|
||||||
|
hiddenNetwork = false;
|
||||||
QString profile = ui->tableWidget_wifi->item(ui->tableWidget_wifi->currentItem()->row(), 0)->text();
|
QString profile = ui->tableWidget_wifi->item(ui->tableWidget_wifi->currentItem()->row(), 0)->text();
|
||||||
QString item = ui->tableWidget_wifi->item(ui->tableWidget_wifi->currentItem()->row(), 1)->text();
|
QString item = ui->tableWidget_wifi->item(ui->tableWidget_wifi->currentItem()->row(), 1)->text();
|
||||||
if (checkState(QString("exists"), item)) {
|
if (checkState(QString("exists"), item)) {
|
||||||
|
@ -54,7 +54,8 @@ public:
|
|||||||
explicit MainWindow(QWidget *parent = 0,
|
explicit MainWindow(QWidget *parent = 0,
|
||||||
const bool defaultSettings = false,
|
const bool defaultSettings = false,
|
||||||
const bool debugCmd = false,
|
const bool debugCmd = false,
|
||||||
const bool netctlAuto = false,
|
const bool showNetctlAuto = false,
|
||||||
|
const bool showSettings = false,
|
||||||
const int tabNum = 1);
|
const int tabNum = 1);
|
||||||
~MainWindow();
|
~MainWindow();
|
||||||
|
|
||||||
@ -123,6 +124,7 @@ private:
|
|||||||
void keyPressEvent(QKeyEvent *pressedKey);
|
void keyPressEvent(QKeyEvent *pressedKey);
|
||||||
void setIconsToButtons();
|
void setIconsToButtons();
|
||||||
bool debug;
|
bool debug;
|
||||||
|
bool hiddenNetwork;
|
||||||
// configuration
|
// configuration
|
||||||
QMap<QString, QString> configuration;
|
QMap<QString, QString> configuration;
|
||||||
};
|
};
|
||||||
|
@ -52,6 +52,7 @@ void SettingsWindow::createActions()
|
|||||||
{
|
{
|
||||||
if (debug) qDebug() << "[SettingsWindow]" << "[createActions]";
|
if (debug) qDebug() << "[SettingsWindow]" << "[createActions]";
|
||||||
|
|
||||||
|
connect(ui->treeWidget, SIGNAL(currentItemChanged(QTreeWidgetItem *, QTreeWidgetItem *)), this, SLOT(changePage(QTreeWidgetItem *, QTreeWidgetItem *)));
|
||||||
connect(ui->comboBox_language, SIGNAL(currentIndexChanged(int)), ui->label_info, SLOT(show()));
|
connect(ui->comboBox_language, SIGNAL(currentIndexChanged(int)), ui->label_info, SLOT(show()));
|
||||||
connect(ui->buttonBox->button(QDialogButtonBox::Cancel), SIGNAL(clicked(bool)), this, SLOT(close()));
|
connect(ui->buttonBox->button(QDialogButtonBox::Cancel), SIGNAL(clicked(bool)), this, SLOT(close()));
|
||||||
connect(ui->buttonBox->button(QDialogButtonBox::Reset), SIGNAL(clicked(bool)), this, SLOT(setDefault()));
|
connect(ui->buttonBox->button(QDialogButtonBox::Reset), SIGNAL(clicked(bool)), this, SLOT(setDefault()));
|
||||||
@ -90,6 +91,19 @@ void SettingsWindow::addLanguages()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void SettingsWindow::changePage(QTreeWidgetItem *current, QTreeWidgetItem *previous)
|
||||||
|
{
|
||||||
|
Q_UNUSED(previous)
|
||||||
|
if (debug) qDebug() << "[SettingsWindow]" << "[changePage]";
|
||||||
|
|
||||||
|
for (int i=0; i<ui->treeWidget->topLevelItemCount(); i++)
|
||||||
|
if (current == ui->treeWidget->topLevelItem(i)) {
|
||||||
|
ui->stackedWidget->setCurrentIndex(i);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void SettingsWindow::saveSettings()
|
void SettingsWindow::saveSettings()
|
||||||
{
|
{
|
||||||
if (debug) qDebug() << "[SettingsWindow]" << "[saveSettings]";
|
if (debug) qDebug() << "[SettingsWindow]" << "[saveSettings]";
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
|
|
||||||
#include <QKeyEvent>
|
#include <QKeyEvent>
|
||||||
#include <QMainWindow>
|
#include <QMainWindow>
|
||||||
|
#include <QTreeWidgetItem>
|
||||||
|
|
||||||
|
|
||||||
class MainWindow;
|
class MainWindow;
|
||||||
@ -46,6 +47,7 @@ public slots:
|
|||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void addLanguages();
|
void addLanguages();
|
||||||
|
void changePage(QTreeWidgetItem *current, QTreeWidgetItem *previous);
|
||||||
void saveSettings();
|
void saveSettings();
|
||||||
// buttons
|
// buttons
|
||||||
void selectIfaceDir();
|
void selectIfaceDir();
|
||||||
|
File diff suppressed because it is too large
Load Diff
216
sources/plasmoid/dataengine.ui
Normal file
216
sources/plasmoid/dataengine.ui
Normal file
@ -0,0 +1,216 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>DataEngineWindow</class>
|
||||||
|
<widget class="QWidget" name="DataEngineWindow">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>480</width>
|
||||||
|
<height>337</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>480</width>
|
||||||
|
<height>320</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string notr="true">Configuration Window</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="layout_netctl">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_netctl">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>150</width>
|
||||||
|
<height>23</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Path to netctl</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLineEdit" name="lineEdit_netctl"/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="pushButton_netctl">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>100</width>
|
||||||
|
<height>23</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Browse</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="layout_netctlAuto">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_netctlAuto">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>150</width>
|
||||||
|
<height>23</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Path to netctl-auto</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLineEdit" name="lineEdit_netctlAuto"/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="pushButton_netctlAuto">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>100</width>
|
||||||
|
<height>23</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Browse</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="layout_ip">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_ip">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>150</width>
|
||||||
|
<height>23</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Path to ip</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLineEdit" name="lineEdit_ip"/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="pushButton_ip">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>100</width>
|
||||||
|
<height>23</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Browse</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="layout_interface">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_interface">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>150</width>
|
||||||
|
<height>23</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Path to interface list</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLineEdit" name="lineEdit_interface"/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="pushButton_interface">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>100</width>
|
||||||
|
<height>23</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Browse</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="layout_extIp">
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="checkBox_extIp">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>150</width>
|
||||||
|
<height>23</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Check external IP</string>
|
||||||
|
</property>
|
||||||
|
<property name="checked">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLineEdit" name="lineEdit_extIp"/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="pushButton_extIp">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>100</width>
|
||||||
|
<height>23</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Browse</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="verticalSpacer_dataengine">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>40</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<tabstops>
|
||||||
|
<tabstop>lineEdit_ip</tabstop>
|
||||||
|
<tabstop>lineEdit_netctl</tabstop>
|
||||||
|
<tabstop>pushButton_netctl</tabstop>
|
||||||
|
<tabstop>checkBox_extIp</tabstop>
|
||||||
|
<tabstop>lineEdit_extIp</tabstop>
|
||||||
|
<tabstop>pushButton_extIp</tabstop>
|
||||||
|
</tabstops>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
@ -21,7 +21,9 @@
|
|||||||
|
|
||||||
#include <KConfigDialog>
|
#include <KConfigDialog>
|
||||||
#include <KFileDialog>
|
#include <KFileDialog>
|
||||||
|
#include <KGlobal>
|
||||||
#include <KNotification>
|
#include <KNotification>
|
||||||
|
#include <KStandardDirs>
|
||||||
#include <KUrl>
|
#include <KUrl>
|
||||||
#include <plasma/theme.h>
|
#include <plasma/theme.h>
|
||||||
|
|
||||||
@ -89,6 +91,75 @@ void Netctl::init()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
QMap<QString, QString> Netctl::readDataEngineConfiguration()
|
||||||
|
{
|
||||||
|
QMap<QString, QString> rawConfig;
|
||||||
|
rawConfig[QString("CMD")] = QString("/usr/bin/netctl");
|
||||||
|
rawConfig[QString("EXTIP")] = QString("false");
|
||||||
|
rawConfig[QString("EXTIPCMD")] = QString("wget -qO- http://ifconfig.me/ip");
|
||||||
|
rawConfig[QString("IPCMD")] = QString("/usr/bin/ip");
|
||||||
|
rawConfig[QString("NETDIR")] = QString("/sys/class/net/");
|
||||||
|
rawConfig[QString("NETCTLAUTOCMD")] = QString("/usr/bin/netctl-auto");
|
||||||
|
|
||||||
|
QString fileName = KGlobal::dirs()->findResource("config", "netctl.conf");
|
||||||
|
QFile confFile(fileName);
|
||||||
|
if (!confFile.open(QIODevice::ReadOnly))
|
||||||
|
return updateConfiguration(rawConfig);
|
||||||
|
QString fileStr;
|
||||||
|
QStringList value;
|
||||||
|
while (true) {
|
||||||
|
fileStr = QString(confFile.readLine()).trimmed();
|
||||||
|
if (fileStr[0] == QChar('#')) continue;
|
||||||
|
if (fileStr[0] == QChar(';')) continue;
|
||||||
|
if (fileStr.contains(QChar('='))) {
|
||||||
|
value.clear();
|
||||||
|
for (int i=1; i<fileStr.split(QChar('=')).count(); i++)
|
||||||
|
value.append(fileStr.split(QChar('='))[i]);
|
||||||
|
rawConfig[fileStr.split(QChar('='))[0]] = value.join(QChar('='));
|
||||||
|
}
|
||||||
|
if (confFile.atEnd())
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
confFile.close();
|
||||||
|
return updateConfiguration(rawConfig);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Netctl::writeDataEngineConfiguration(const QMap<QString, QString> settings)
|
||||||
|
{
|
||||||
|
QMap<QString, QString> config = updateConfiguration(settings);
|
||||||
|
QString fileName = KGlobal::dirs()->locateLocal("config", "netctl.conf");
|
||||||
|
QFile confFile(fileName);
|
||||||
|
if (!confFile.open(QIODevice::WriteOnly))
|
||||||
|
return;
|
||||||
|
for (int i=0; i<config.keys().count(); i++) {
|
||||||
|
QByteArray string = (config.keys()[i] + QString("=") + config[config.keys()[i]] + QString("\n")).toUtf8();
|
||||||
|
confFile.write(string);
|
||||||
|
}
|
||||||
|
confFile.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
QMap<QString, QString> Netctl::updateConfiguration(const QMap<QString, QString> rawConfig)
|
||||||
|
{
|
||||||
|
QMap<QString, QString> config;
|
||||||
|
QString key, value;
|
||||||
|
// remove spaces and copy source map
|
||||||
|
for (int i=0; i<rawConfig.keys().count(); i++) {
|
||||||
|
key = rawConfig.keys()[i];
|
||||||
|
value = rawConfig[key];
|
||||||
|
key.remove(QChar(' '));
|
||||||
|
if ((key != QString("CMD")) &&
|
||||||
|
(key != QString("EXTIPCMD")) &&
|
||||||
|
(key != QString("IPCMD")) &&
|
||||||
|
(key != QString("NETCTLAUTOCMD")))
|
||||||
|
value.remove(QChar(' '));
|
||||||
|
config[key] = value;
|
||||||
|
}
|
||||||
|
return config;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void Netctl::updateInterface(bool setShown)
|
void Netctl::updateInterface(bool setShown)
|
||||||
{
|
{
|
||||||
if (setShown) {
|
if (setShown) {
|
||||||
@ -425,7 +496,7 @@ void Netctl::disconnectFromEngine()
|
|||||||
// configuration interface
|
// configuration interface
|
||||||
void Netctl::selectActiveIcon()
|
void Netctl::selectActiveIcon()
|
||||||
{
|
{
|
||||||
KUrl url = KFileDialog::getOpenUrl(KUrl(), "*");
|
KUrl url = KFileDialog::getOpenUrl(KUrl("/usr/bin"), "*");
|
||||||
if (!url.isEmpty())
|
if (!url.isEmpty())
|
||||||
uiAppConfig.lineEdit_activeIcon->setText(url.path());
|
uiAppConfig.lineEdit_activeIcon->setText(url.path());
|
||||||
}
|
}
|
||||||
@ -433,7 +504,7 @@ void Netctl::selectActiveIcon()
|
|||||||
|
|
||||||
void Netctl::selectGuiExe()
|
void Netctl::selectGuiExe()
|
||||||
{
|
{
|
||||||
KUrl url = KFileDialog::getOpenUrl(KUrl(), "*");
|
KUrl url = KFileDialog::getOpenUrl(KUrl("/usr/bin"), "*");
|
||||||
if (!url.isEmpty())
|
if (!url.isEmpty())
|
||||||
uiWidConfig.lineEdit_gui->setText(url.path());
|
uiWidConfig.lineEdit_gui->setText(url.path());
|
||||||
}
|
}
|
||||||
@ -441,7 +512,7 @@ void Netctl::selectGuiExe()
|
|||||||
|
|
||||||
void Netctl::selectInactiveIcon()
|
void Netctl::selectInactiveIcon()
|
||||||
{
|
{
|
||||||
KUrl url = KFileDialog::getOpenUrl(KUrl(), "*");
|
KUrl url = KFileDialog::getOpenUrl(KUrl("/usr/bin"), "*");
|
||||||
if (!url.isEmpty())
|
if (!url.isEmpty())
|
||||||
uiAppConfig.lineEdit_inactiveIcon->setText(url.path());
|
uiAppConfig.lineEdit_inactiveIcon->setText(url.path());
|
||||||
}
|
}
|
||||||
@ -449,7 +520,7 @@ void Netctl::selectInactiveIcon()
|
|||||||
|
|
||||||
void Netctl::selectNetctlExe()
|
void Netctl::selectNetctlExe()
|
||||||
{
|
{
|
||||||
KUrl url = KFileDialog::getOpenUrl(KUrl(), "*");
|
KUrl url = KFileDialog::getOpenUrl(KUrl("/usr/bin"), "*");
|
||||||
if (!url.isEmpty())
|
if (!url.isEmpty())
|
||||||
uiWidConfig.lineEdit_netctl->setText(url.path());
|
uiWidConfig.lineEdit_netctl->setText(url.path());
|
||||||
}
|
}
|
||||||
@ -457,7 +528,7 @@ void Netctl::selectNetctlExe()
|
|||||||
|
|
||||||
void Netctl::selectNetctlAutoExe()
|
void Netctl::selectNetctlAutoExe()
|
||||||
{
|
{
|
||||||
KUrl url = KFileDialog::getOpenUrl(KUrl(), "*");
|
KUrl url = KFileDialog::getOpenUrl(KUrl("/usr/bin"), "*");
|
||||||
if (!url.isEmpty())
|
if (!url.isEmpty())
|
||||||
uiWidConfig.lineEdit_netctlAuto->setText(url.path());
|
uiWidConfig.lineEdit_netctlAuto->setText(url.path());
|
||||||
}
|
}
|
||||||
@ -465,7 +536,7 @@ void Netctl::selectNetctlAutoExe()
|
|||||||
|
|
||||||
void Netctl::selectSudoExe()
|
void Netctl::selectSudoExe()
|
||||||
{
|
{
|
||||||
KUrl url = KFileDialog::getOpenUrl(KUrl(), "*");
|
KUrl url = KFileDialog::getOpenUrl(KUrl("/usr/bin"), "*");
|
||||||
if (!url.isEmpty())
|
if (!url.isEmpty())
|
||||||
uiWidConfig.lineEdit_sudo->setText(url.path());
|
uiWidConfig.lineEdit_sudo->setText(url.path());
|
||||||
}
|
}
|
||||||
@ -473,18 +544,61 @@ void Netctl::selectSudoExe()
|
|||||||
|
|
||||||
void Netctl::selectWifiExe()
|
void Netctl::selectWifiExe()
|
||||||
{
|
{
|
||||||
KUrl url = KFileDialog::getOpenUrl(KUrl(), "*");
|
KUrl url = KFileDialog::getOpenUrl(KUrl("/usr/bin"), "*");
|
||||||
if (!url.isEmpty())
|
if (!url.isEmpty())
|
||||||
uiWidConfig.lineEdit_wifi->setText(url.path());
|
uiWidConfig.lineEdit_wifi->setText(url.path());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Netctl::selectDataEngineExternalIpExe()
|
||||||
|
{
|
||||||
|
KUrl url = KFileDialog::getOpenUrl(KUrl("/usr/bin"), "*");
|
||||||
|
if (!url.isEmpty())
|
||||||
|
uiDEConfig.lineEdit_extIp->setText(url.path());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Netctl::selectDataEngineInterfacesDirectory()
|
||||||
|
{
|
||||||
|
KUrl url = KFileDialog::getExistingDirectoryUrl(KUrl("/"));
|
||||||
|
if (!url.isEmpty())
|
||||||
|
uiDEConfig.lineEdit_interface->setText(url.path());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Netctl::selectDataEngineIpExe()
|
||||||
|
{
|
||||||
|
KUrl url = KFileDialog::getOpenUrl(KUrl("/usr/bin"), "*");
|
||||||
|
if (!url.isEmpty())
|
||||||
|
uiDEConfig.lineEdit_ip->setText(url.path());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Netctl::selectDataEngineNetctlExe()
|
||||||
|
{
|
||||||
|
KUrl url = KFileDialog::getOpenUrl(KUrl("/usr/bin"), "*");
|
||||||
|
if (!url.isEmpty())
|
||||||
|
uiDEConfig.lineEdit_netctl->setText(url.path());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Netctl::selectDataEngineNetctlAutoExe()
|
||||||
|
{
|
||||||
|
KUrl url = KFileDialog::getOpenUrl(KUrl("/usr/bin"), "*");
|
||||||
|
if (!url.isEmpty())
|
||||||
|
uiDEConfig.lineEdit_netctlAuto->setText(url.path());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void Netctl::createConfigurationInterface(KConfigDialog *parent)
|
void Netctl::createConfigurationInterface(KConfigDialog *parent)
|
||||||
{
|
{
|
||||||
QWidget *configWidget = new QWidget;
|
QWidget *configWidget = new QWidget;
|
||||||
uiWidConfig.setupUi(configWidget);
|
uiWidConfig.setupUi(configWidget);
|
||||||
QWidget *appWidget = new QWidget;
|
QWidget *appWidget = new QWidget;
|
||||||
uiAppConfig.setupUi(appWidget);
|
uiAppConfig.setupUi(appWidget);
|
||||||
|
QWidget *deWidget = new QWidget;
|
||||||
|
uiDEConfig.setupUi(deWidget);
|
||||||
|
|
||||||
QString text = QString(NAME) + " - " + QString(VERSION) + "\n" + "(c) " +
|
QString text = QString(NAME) + " - " + QString(VERSION) + "\n" + "(c) " +
|
||||||
QString(DATE) + " " + QString(AUTHOR);
|
QString(DATE) + " " + QString(AUTHOR);
|
||||||
uiWidConfig.label_info->setText(text);
|
uiWidConfig.label_info->setText(text);
|
||||||
@ -498,11 +612,13 @@ void Netctl::createConfigurationInterface(KConfigDialog *parent)
|
|||||||
else
|
else
|
||||||
uiWidConfig.checkBox_sudo->setCheckState(Qt::Unchecked);
|
uiWidConfig.checkBox_sudo->setCheckState(Qt::Unchecked);
|
||||||
uiWidConfig.lineEdit_sudo->setText(paths[QString("sudo")]);
|
uiWidConfig.lineEdit_sudo->setText(paths[QString("sudo")]);
|
||||||
|
setSudo();
|
||||||
if (useWifi)
|
if (useWifi)
|
||||||
uiWidConfig.checkBox_wifi->setCheckState(Qt::Checked);
|
uiWidConfig.checkBox_wifi->setCheckState(Qt::Checked);
|
||||||
else
|
else
|
||||||
uiWidConfig.checkBox_wifi->setCheckState(Qt::Unchecked);
|
uiWidConfig.checkBox_wifi->setCheckState(Qt::Unchecked);
|
||||||
uiWidConfig.lineEdit_wifi->setText(paths[QString("wifi")]);
|
uiWidConfig.lineEdit_wifi->setText(paths[QString("wifi")]);
|
||||||
|
setWifi();
|
||||||
if (bigInterface[QString("main")])
|
if (bigInterface[QString("main")])
|
||||||
uiWidConfig.checkBox_showBigInterface->setCheckState(Qt::Checked);
|
uiWidConfig.checkBox_showBigInterface->setCheckState(Qt::Checked);
|
||||||
else
|
else
|
||||||
@ -539,13 +655,27 @@ void Netctl::createConfigurationInterface(KConfigDialog *parent)
|
|||||||
uiAppConfig.lineEdit_activeIcon->setText(paths[QString("active")]);
|
uiAppConfig.lineEdit_activeIcon->setText(paths[QString("active")]);
|
||||||
uiAppConfig.lineEdit_inactiveIcon->setText(paths[QString("inactive")]);
|
uiAppConfig.lineEdit_inactiveIcon->setText(paths[QString("inactive")]);
|
||||||
|
|
||||||
|
QMap<QString, QString> deSettings = readDataEngineConfiguration();
|
||||||
|
uiDEConfig.lineEdit_netctl->setText(deSettings[QString("CMD")]);
|
||||||
|
uiDEConfig.lineEdit_netctlAuto->setText(deSettings[QString("NETCTLAUTOCMD")]);
|
||||||
|
uiDEConfig.lineEdit_ip->setText(deSettings[QString("IPCMD")]);
|
||||||
|
uiDEConfig.lineEdit_interface->setText(deSettings[QString("NETDIR")]);
|
||||||
|
if (deSettings[QString("EXTIP")] == QString("true"))
|
||||||
|
uiDEConfig.checkBox_extIp->setCheckState(Qt::Checked);
|
||||||
|
else
|
||||||
|
uiDEConfig.checkBox_extIp->setCheckState(Qt::Unchecked);
|
||||||
|
uiDEConfig.lineEdit_extIp->setText(deSettings[QString("EXTIPCMD")]);
|
||||||
|
setDataEngineExternalIp();
|
||||||
|
|
||||||
parent->addPage(configWidget, i18n("Netctl plasmoid"), Applet::icon());
|
parent->addPage(configWidget, i18n("Netctl plasmoid"), Applet::icon());
|
||||||
parent->addPage(appWidget, i18n("Appearance"), QString("preferences-desktop-theme"));
|
parent->addPage(appWidget, i18n("Appearance"), QString("preferences-desktop-theme"));
|
||||||
|
parent->addPage(deWidget, i18n("DataEngine"), Applet::icon());
|
||||||
|
|
||||||
connect(uiWidConfig.checkBox_showBigInterface, SIGNAL(stateChanged(int)), this,
|
connect(uiWidConfig.checkBox_showBigInterface, SIGNAL(stateChanged(int)), this,
|
||||||
SLOT(setBigInterface()));
|
SLOT(setBigInterface()));
|
||||||
connect(uiWidConfig.checkBox_sudo, SIGNAL(stateChanged(int)), this, SLOT(setSudo()));
|
connect(uiWidConfig.checkBox_sudo, SIGNAL(stateChanged(int)), this, SLOT(setSudo()));
|
||||||
connect(uiWidConfig.checkBox_wifi, SIGNAL(stateChanged(int)), this, SLOT(setWifi()));
|
connect(uiWidConfig.checkBox_wifi, SIGNAL(stateChanged(int)), this, SLOT(setWifi()));
|
||||||
|
connect(uiDEConfig.checkBox_extIp, SIGNAL(stateChanged(int)), this, SLOT(setDataEngineExternalIp()));
|
||||||
|
|
||||||
connect(uiWidConfig.pushButton_gui, SIGNAL(clicked()), this, SLOT(selectGuiExe()));
|
connect(uiWidConfig.pushButton_gui, SIGNAL(clicked()), this, SLOT(selectGuiExe()));
|
||||||
connect(uiWidConfig.pushButton_netctl, SIGNAL(clicked()), this, SLOT(selectNetctlExe()));
|
connect(uiWidConfig.pushButton_netctl, SIGNAL(clicked()), this, SLOT(selectNetctlExe()));
|
||||||
@ -554,6 +684,11 @@ void Netctl::createConfigurationInterface(KConfigDialog *parent)
|
|||||||
connect(uiWidConfig.pushButton_wifi, SIGNAL(clicked()), this, SLOT(selecWifiExe()));
|
connect(uiWidConfig.pushButton_wifi, SIGNAL(clicked()), this, SLOT(selecWifiExe()));
|
||||||
connect(uiAppConfig.pushButton_activeIcon, SIGNAL(clicked()), this, SLOT(selectActiveIcon()));
|
connect(uiAppConfig.pushButton_activeIcon, SIGNAL(clicked()), this, SLOT(selectActiveIcon()));
|
||||||
connect(uiAppConfig.pushButton_inactiveIcon, SIGNAL(clicked()), this, SLOT(selectInactiveIcon()));
|
connect(uiAppConfig.pushButton_inactiveIcon, SIGNAL(clicked()), this, SLOT(selectInactiveIcon()));
|
||||||
|
connect(uiDEConfig.pushButton_extIp, SIGNAL(clicked()), this, SLOT(selectDataEngineExternalIpExe()));
|
||||||
|
connect(uiDEConfig.pushButton_interface, SIGNAL(clicked()), this, SLOT(selectDataEngineInterfacesDirectory()));
|
||||||
|
connect(uiDEConfig.pushButton_ip, SIGNAL(clicked()), this, SLOT(selectDataEngineIpExe()));
|
||||||
|
connect(uiDEConfig.pushButton_netctl, SIGNAL(clicked()), this, SLOT(selectDataEngineNetctlExe()));
|
||||||
|
connect(uiDEConfig.pushButton_netctlAuto, SIGNAL(clicked()), this, SLOT(selectDataEngineNetctlAutoExe()));
|
||||||
|
|
||||||
connect(parent, SIGNAL(okClicked()), this, SLOT(configAccepted()));
|
connect(parent, SIGNAL(okClicked()), this, SLOT(configAccepted()));
|
||||||
connect(parent, SIGNAL(applyClicked()), this, SLOT(configAccepted()));
|
connect(parent, SIGNAL(applyClicked()), this, SLOT(configAccepted()));
|
||||||
@ -603,6 +738,18 @@ void Netctl::configAccepted()
|
|||||||
cg.writeEntry("fontStyle", uiAppConfig.comboBox_fontStyle->currentText());
|
cg.writeEntry("fontStyle", uiAppConfig.comboBox_fontStyle->currentText());
|
||||||
cg.writeEntry("activeIconPath", uiAppConfig.lineEdit_activeIcon->text());
|
cg.writeEntry("activeIconPath", uiAppConfig.lineEdit_activeIcon->text());
|
||||||
cg.writeEntry("inactiveIconPath", uiAppConfig.lineEdit_inactiveIcon->text());
|
cg.writeEntry("inactiveIconPath", uiAppConfig.lineEdit_inactiveIcon->text());
|
||||||
|
|
||||||
|
QMap<QString, QString> deSettings;
|
||||||
|
deSettings[QString("CMD")] = uiDEConfig.lineEdit_netctl->text();
|
||||||
|
deSettings[QString("NETCTLAUTOCMD")] = uiDEConfig.lineEdit_netctlAuto->text();
|
||||||
|
deSettings[QString("IPCMD")] = uiDEConfig.lineEdit_ip->text();
|
||||||
|
deSettings[QString("NETDIR")] = uiDEConfig.lineEdit_interface->text();
|
||||||
|
if (uiDEConfig.checkBox_extIp->checkState() == 0)
|
||||||
|
deSettings[QString("EXTIP")] = QString("false");
|
||||||
|
else
|
||||||
|
deSettings[QString("EXTIP")] = QString("true");
|
||||||
|
deSettings[QString("EXTIPCMD")] = uiDEConfig.lineEdit_extIp->text();
|
||||||
|
writeDataEngineConfiguration(deSettings);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -661,19 +808,40 @@ void Netctl::setBigInterface()
|
|||||||
|
|
||||||
void Netctl::setSudo()
|
void Netctl::setSudo()
|
||||||
{
|
{
|
||||||
if (uiWidConfig.checkBox_sudo->checkState() == 0)
|
if (uiWidConfig.checkBox_sudo->checkState() == 0) {
|
||||||
uiWidConfig.lineEdit_sudo->setDisabled(true);
|
uiWidConfig.lineEdit_sudo->setDisabled(true);
|
||||||
else if (uiWidConfig.checkBox_sudo->checkState() == 2)
|
uiWidConfig.pushButton_sudo->setDisabled(true);
|
||||||
|
}
|
||||||
|
else if (uiWidConfig.checkBox_sudo->checkState() == 2) {
|
||||||
uiWidConfig.lineEdit_sudo->setEnabled(true);
|
uiWidConfig.lineEdit_sudo->setEnabled(true);
|
||||||
|
uiWidConfig.pushButton_sudo->setEnabled(true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void Netctl::setWifi()
|
void Netctl::setWifi()
|
||||||
{
|
{
|
||||||
if (uiWidConfig.checkBox_wifi->checkState() == 0)
|
if (uiWidConfig.checkBox_wifi->checkState() == 0) {
|
||||||
uiWidConfig.lineEdit_wifi->setDisabled(true);
|
uiWidConfig.lineEdit_wifi->setDisabled(true);
|
||||||
else if (uiWidConfig.checkBox_wifi->checkState() == 2)
|
uiWidConfig.pushButton_wifi->setDisabled(true);
|
||||||
uiWidConfig.checkBox_wifi->setEnabled(true);
|
}
|
||||||
|
else if (uiWidConfig.checkBox_wifi->checkState() == 2) {
|
||||||
|
uiWidConfig.lineEdit_wifi->setEnabled(true);
|
||||||
|
uiWidConfig.pushButton_wifi->setEnabled(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Netctl::setDataEngineExternalIp()
|
||||||
|
{
|
||||||
|
if (uiDEConfig.checkBox_extIp->checkState() == 0) {
|
||||||
|
uiDEConfig.lineEdit_extIp->setDisabled(true);
|
||||||
|
uiDEConfig.pushButton_extIp->setDisabled(true);
|
||||||
|
}
|
||||||
|
else if (uiDEConfig.checkBox_extIp->checkState() == 2) {
|
||||||
|
uiDEConfig.lineEdit_extIp->setEnabled(true);
|
||||||
|
uiDEConfig.pushButton_extIp->setEnabled(true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
#include <QProcess>
|
#include <QProcess>
|
||||||
|
|
||||||
#include <ui_appearance.h>
|
#include <ui_appearance.h>
|
||||||
|
#include <ui_dataengine.h>
|
||||||
#include <ui_widget.h>
|
#include <ui_widget.h>
|
||||||
|
|
||||||
|
|
||||||
@ -39,6 +40,9 @@ public:
|
|||||||
Netctl(QObject *parent, const QVariantList &args);
|
Netctl(QObject *parent, const QVariantList &args);
|
||||||
~Netctl();
|
~Netctl();
|
||||||
void init();
|
void init();
|
||||||
|
QMap<QString, QString> readDataEngineConfiguration();
|
||||||
|
void writeDataEngineConfiguration(const QMap<QString, QString> settings);
|
||||||
|
QMap<QString, QString> updateConfiguration(const QMap<QString, QString> rawConfig);
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
// events
|
// events
|
||||||
@ -53,6 +57,7 @@ public slots:
|
|||||||
void setBigInterface();
|
void setBigInterface();
|
||||||
void setSudo();
|
void setSudo();
|
||||||
void setWifi();
|
void setWifi();
|
||||||
|
void setDataEngineExternalIp();
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
// ui
|
// ui
|
||||||
@ -65,6 +70,12 @@ private slots:
|
|||||||
void selectNetctlAutoExe();
|
void selectNetctlAutoExe();
|
||||||
void selectSudoExe();
|
void selectSudoExe();
|
||||||
void selectWifiExe();
|
void selectWifiExe();
|
||||||
|
// dataengine
|
||||||
|
void selectDataEngineExternalIpExe();
|
||||||
|
void selectDataEngineInterfacesDirectory();
|
||||||
|
void selectDataEngineIpExe();
|
||||||
|
void selectDataEngineNetctlExe();
|
||||||
|
void selectDataEngineNetctlAutoExe();
|
||||||
// context menu
|
// context menu
|
||||||
void enableProfileSlot();
|
void enableProfileSlot();
|
||||||
void startProfileSlot(QAction *profile);
|
void startProfileSlot(QAction *profile);
|
||||||
@ -98,6 +109,7 @@ private:
|
|||||||
void disconnectFromEngine();
|
void disconnectFromEngine();
|
||||||
// configuration interface
|
// configuration interface
|
||||||
Ui::AppearanceWindow uiAppConfig;
|
Ui::AppearanceWindow uiAppConfig;
|
||||||
|
Ui::DataEngineWindow uiDEConfig;
|
||||||
Ui::ConfigWindow uiWidConfig;
|
Ui::ConfigWindow uiWidConfig;
|
||||||
// configuration
|
// configuration
|
||||||
int autoUpdateInterval;
|
int autoUpdateInterval;
|
||||||
|
Loading…
Reference in New Issue
Block a user