added pppoe widget

This commit is contained in:
arcan1s 2014-02-17 20:21:00 +04:00
parent 61bf2627cc
commit 6e427519af
6 changed files with 564 additions and 4 deletions

View File

@ -28,6 +28,7 @@
#include "netctlinteract.h" #include "netctlinteract.h"
#include "netctlprofile.h" #include "netctlprofile.h"
#include "passwdwidget.h" #include "passwdwidget.h"
#include "pppoewidget.h"
#include "wpasupinteract.h" #include "wpasupinteract.h"
#include "wirelesswidget.h" #include "wirelesswidget.h"
#include <cstdio> #include <cstdio>
@ -52,7 +53,7 @@ MainWindow::MainWindow(QWidget *parent)
wpaConfig.append(QString("/usr/bin/wpa_supplicant")); wpaConfig.append(QString("/usr/bin/wpa_supplicant"));
ifaceDir = QString("/sys/class/net/"); ifaceDir = QString("/sys/class/net/");
preferedInterface = QString(""); preferedInterface = QString("");
// additional settings //// additional settings
wpaConfig.append(QString("/run/wpa_supplicant_netctl-gui.pid")); wpaConfig.append(QString("/run/wpa_supplicant_netctl-gui.pid"));
wpaConfig.append(QString("nl80211,wext")); wpaConfig.append(QString("nl80211,wext"));
wpaConfig.append(QString("/run/wpa_supplicant_netctl-gui")); wpaConfig.append(QString("/run/wpa_supplicant_netctl-gui"));
@ -67,6 +68,8 @@ MainWindow::MainWindow(QWidget *parent)
ui->scrollAreaWidgetContents->layout()->addWidget(ethernetWid); ui->scrollAreaWidgetContents->layout()->addWidget(ethernetWid);
wirelessWid = new WirelessWidget(this); wirelessWid = new WirelessWidget(this);
ui->scrollAreaWidgetContents->layout()->addWidget(wirelessWid); ui->scrollAreaWidgetContents->layout()->addWidget(wirelessWid);
pppoeWid = new PppoeWidget(this);
ui->scrollAreaWidgetContents->layout()->addWidget(pppoeWid);
// backend // backend
netctlCommand = new Netctl(this, netctlPath, profileDir, sudoPath); netctlCommand = new Netctl(this, netctlPath, profileDir, sudoPath);
netctlProfile = new NetctlProfile(this, profileDir, sudoPath); netctlProfile = new NetctlProfile(this, profileDir, sudoPath);
@ -84,6 +87,7 @@ MainWindow::~MainWindow()
delete ipWid; delete ipWid;
delete netctlCommand; delete netctlCommand;
delete netctlProfile; delete netctlProfile;
delete pppoeWid;
delete ui; delete ui;
delete wpaCommand; delete wpaCommand;
delete wirelessWid; delete wirelessWid;

View File

@ -31,6 +31,7 @@ class IpWidget;
class Netctl; class Netctl;
class NetctlProfile; class NetctlProfile;
class PasswdWidget; class PasswdWidget;
class PppoeWidget;
class WirelessWidget; class WirelessWidget;
class WpaSup; class WpaSup;
@ -82,6 +83,7 @@ private:
EthernetWidget *ethernetWid; EthernetWidget *ethernetWid;
GeneralWidget *generalWid; GeneralWidget *generalWid;
IpWidget *ipWid; IpWidget *ipWid;
PppoeWidget *pppoeWid;
WirelessWidget *wirelessWid; WirelessWidget *wirelessWid;
// backend // backend
ErrorWindow *errorWin; ErrorWindow *errorWin;

View File

@ -190,8 +190,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>439</width> <width>429</width>
<height>357</height> <height>348</height>
</rect> </rect>
</property> </property>
<property name="sizePolicy"> <property name="sizePolicy">
@ -349,7 +349,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>471</width> <width>471</width>
<height>23</height> <height>20</height>
</rect> </rect>
</property> </property>
<widget class="QMenu" name="menuMenu"> <widget class="QMenu" name="menuMenu">

View File

@ -0,0 +1,33 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* modify it under the terms of the GNU General Public License as *
* published by the Free Software Foundation, either version 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#include "pppoewidget.h"
#include "ui_pppoewidget.h"
PppoeWidget::PppoeWidget(QWidget *parent)
: QWidget(parent),
ui(new Ui::PppoeWidget)
{
ui->setupUi(this);
}
PppoeWidget::~PppoeWidget()
{
delete ui;
}

View File

@ -0,0 +1,41 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* modify it under the terms of the GNU General Public License as *
* published by the Free Software Foundation, either version 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#ifndef PPPOEWIDGET_H
#define PPPOEWIDGET_H
#include <QWidget>
namespace Ui {
class PppoeWidget;
}
class PppoeWidget : public QWidget
{
Q_OBJECT
public:
explicit PppoeWidget(QWidget *parent = 0);
~PppoeWidget();
private:
Ui::PppoeWidget *ui;
};
#endif /* PPPOEWIDGET_H */

View File

@ -0,0 +1,480 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>PppoeWidget</class>
<widget class="QWidget" name="PppoeWidget">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>431</width>
<height>549</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QDockWidget" name="dockWidget_pppoe">
<property name="minimumSize">
<size>
<width>319</width>
<height>47</height>
</size>
</property>
<property name="features">
<set>QDockWidget::NoDockWidgetFeatures</set>
</property>
<property name="windowTitle">
<string>PPPoE settings</string>
</property>
<widget class="QWidget" name="dockWidgetContents_pppoe">
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<layout class="QHBoxLayout" name="layout_username">
<item>
<widget class="QLabel" name="label_username">
<property name="minimumSize">
<size>
<width>150</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>Username</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_username">
<property name="toolTip">
<string>The username and password to connect with</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="layout_password">
<item>
<widget class="QLabel" name="label_password">
<property name="minimumSize">
<size>
<width>150</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>Password</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_password">
<property name="toolTip">
<string>The username and password to connect with</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="layout_connection">
<item>
<widget class="QLabel" name="label_connection">
<property name="minimumSize">
<size>
<width>150</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>Connection mode</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="comboBox_connection">
<property name="toolTip">
<string>This option specifies how a connection should be established</string>
</property>
<item>
<property name="text">
<string>persist</string>
</property>
</item>
<item>
<property name="text">
<string>demand</string>
</property>
</item>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="layout_timeout">
<item>
<widget class="QLabel" name="label_timeout">
<property name="minimumSize">
<size>
<width>150</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>Idle timeout</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spinBox_timeout">
<property name="toolTip">
<string>This option specifies the idle time (in seconds) after which pppd should disconnect</string>
</property>
<property name="maximum">
<number>999</number>
</property>
<property name="singleStep">
<number>10</number>
</property>
<property name="value">
<number>300</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="layout_pppoeAdvanced">
<item>
<spacer name="spacer_pppoeAdvanced">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="pushButton_pppoeAdvanced">
<property name="text">
<string>Show advanced</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QWidget" name="widget_pppoeAdvanced" native="true">
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<layout class="QHBoxLayout" name="layout_fail">
<item>
<widget class="QLabel" name="label_fail">
<property name="minimumSize">
<size>
<width>150</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>Max fail</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spinBox_fail">
<property name="toolTip">
<string>The number of consecutive failed connection attempts to tolerate</string>
</property>
<property name="minimum">
<number>1</number>
</property>
<property name="value">
<number>5</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QCheckBox" name="checkBox_route">
<property name="toolTip">
<string>Use the default route provided by the peer</string>
</property>
<property name="text">
<string>Default route</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_dns">
<property name="toolTip">
<string>Use the DNS provided by the peer</string>
</property>
<property name="text">
<string>Use peer DNS</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="layout_unit">
<item>
<widget class="QLabel" name="label_unit">
<property name="minimumSize">
<size>
<width>150</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>PPP unit</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_unit">
<property name="toolTip">
<string>Set the ppp unit number in the interface name (ppp0, ppp1, etc.)</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="layout_lcpInterval">
<item>
<widget class="QLabel" name="label_lcpInterval">
<property name="minimumSize">
<size>
<width>150</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>LCP echo interval</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spinBox_lcpInterval">
<property name="toolTip">
<string>These options override default LCP parameters from /etc/ppp/options</string>
</property>
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>499</number>
</property>
<property name="value">
<number>30</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="layout_lcpFailure">
<item>
<widget class="QLabel" name="label_lcpFailure">
<property name="minimumSize">
<size>
<width>150</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>LCP echo failure</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spinBox_lcpFailure">
<property name="toolTip">
<string>These options override default LCP parameters from /etc/ppp/options</string>
</property>
<property name="minimum">
<number>1</number>
</property>
<property name="value">
<number>4</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="layout_options">
<item>
<widget class="QLabel" name="label_options">
<property name="minimumSize">
<size>
<width>150</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>Options file</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_options">
<property name="toolTip">
<string>A file to read additional pppd options from</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_options">
<property name="text">
<string>Browse</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="layout_service">
<item>
<widget class="QLabel" name="label_service">
<property name="minimumSize">
<size>
<width>150</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>PPPoE service</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_service">
<property name="toolTip">
<string>This option specifies the PPPoE service name</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="layout_ac">
<item>
<widget class="QLabel" name="label_ac">
<property name="minimumSize">
<size>
<width>150</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>PPPoE AC</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_ac">
<property name="toolTip">
<string>This option specifies the PPPoE access concentrator name</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="layout_session">
<item>
<widget class="QLabel" name="label_session">
<property name="minimumSize">
<size>
<width>150</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>PPPoE session</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_sessionId">
<property name="toolTip">
<string>This option specifies an existing session to attach to, session ID</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_sessionSep">
<property name="text">
<string>:</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_sessionMac">
<property name="toolTip">
<string>This option specifies an existing session to attach to, MAC address</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="layout_mac">
<item>
<widget class="QLabel" name="label_mac">
<property name="minimumSize">
<size>
<width>150</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>PPPoE MAC</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_mac">
<property name="toolTip">
<string>Only connect to specified MAC address</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QCheckBox" name="checkBox_ipv6">
<property name="toolTip">
<string>Enable IPv6 support</string>
</property>
<property name="text">
<string>PPPoE IPv6</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>