mirror of
https://github.com/arcan1s/netctl-gui.git
synced 2025-04-24 23:47:21 +00:00
add openvswitch support
This commit is contained in:
parent
43ed28de52
commit
501b43002e
2
PKGBUILD
2
PKGBUILD
@ -13,7 +13,7 @@ license=('GPL3')
|
|||||||
makedepends=('automoc4' 'cmake' 'kdelibs' 'qt5-base' 'qt5-tools')
|
makedepends=('automoc4' 'cmake' 'kdelibs' 'qt5-base' 'qt5-tools')
|
||||||
source=("https://github.com/arcan1s/netctl-gui/releases/download/V.${pkgver}/${pkgbase}-${pkgver}-src.tar.xz")
|
source=("https://github.com/arcan1s/netctl-gui/releases/download/V.${pkgver}/${pkgbase}-${pkgver}-src.tar.xz")
|
||||||
install="${pkgbase}.install"
|
install="${pkgbase}.install"
|
||||||
md5sums=('9a47346e890e7c4458602d47751adf17')
|
md5sums=('d0a279f99cbb9a33b283def9fe053594')
|
||||||
|
|
||||||
|
|
||||||
prepare() {
|
prepare() {
|
||||||
|
@ -64,7 +64,6 @@ Additional information
|
|||||||
TODO (wish list)
|
TODO (wish list)
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
* add support of **openvswitch** (netctl-auto-1.9)
|
|
||||||
* plasmoid helper integration
|
* plasmoid helper integration
|
||||||
* remove suid from helper (polkit integration or run through sudo)
|
* remove suid from helper (polkit integration or run through sudo)
|
||||||
* security notes / project architecture
|
* security notes / project architecture
|
||||||
|
@ -162,7 +162,9 @@ int GeneralWidget::isOk()
|
|||||||
// bind interfaces is not set
|
// bind interfaces is not set
|
||||||
if ((ui->comboBox_connection->currentText() == QString("bond")) ||
|
if ((ui->comboBox_connection->currentText() == QString("bond")) ||
|
||||||
(ui->comboBox_connection->currentText() == QString("bridge")) ||
|
(ui->comboBox_connection->currentText() == QString("bridge")) ||
|
||||||
(ui->comboBox_connection->currentText() == QString("vlan")))
|
(ui->comboBox_connection->currentText() == QString("vlan")) ||
|
||||||
|
(ui->comboBox_connection->currentText() == QString("macvlan")) ||
|
||||||
|
(ui->comboBox_connection->currentText() == QString("openvswitch")))
|
||||||
if (ui->listWidget_bindto->count() == 0)
|
if (ui->listWidget_bindto->count() == 0)
|
||||||
return 1;
|
return 1;
|
||||||
// empty description
|
// empty description
|
||||||
|
@ -6,8 +6,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>429</width>
|
<width>427</width>
|
||||||
<height>535</height>
|
<height>533</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
@ -123,6 +123,11 @@
|
|||||||
<string notr="true">macvlan</string>
|
<string notr="true">macvlan</string>
|
||||||
</property>
|
</property>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>openvswitch</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
|
@ -36,6 +36,7 @@
|
|||||||
#include "mobilewidget.h"
|
#include "mobilewidget.h"
|
||||||
#include "netctlautowindow.h"
|
#include "netctlautowindow.h"
|
||||||
#include "netctlguiadaptor.h"
|
#include "netctlguiadaptor.h"
|
||||||
|
#include "openvswitchwidget.h"
|
||||||
#include "passwdwidget.h"
|
#include "passwdwidget.h"
|
||||||
#include "pppoewidget.h"
|
#include "pppoewidget.h"
|
||||||
#include "settingswindow.h"
|
#include "settingswindow.h"
|
||||||
@ -645,6 +646,7 @@ void MainWindow::profileTabChangeState(const QString current)
|
|||||||
ethernetWid->setShown(true);
|
ethernetWid->setShown(true);
|
||||||
macvlanWid->setShown(false);
|
macvlanWid->setShown(false);
|
||||||
mobileWid->setShown(false);
|
mobileWid->setShown(false);
|
||||||
|
openvWid->setShown(false);
|
||||||
pppoeWid->setShown(false);
|
pppoeWid->setShown(false);
|
||||||
tunnelWid->setShown(false);
|
tunnelWid->setShown(false);
|
||||||
tuntapWid->setShown(false);
|
tuntapWid->setShown(false);
|
||||||
@ -658,6 +660,7 @@ void MainWindow::profileTabChangeState(const QString current)
|
|||||||
ethernetWid->setShown(false);
|
ethernetWid->setShown(false);
|
||||||
macvlanWid->setShown(false);
|
macvlanWid->setShown(false);
|
||||||
mobileWid->setShown(false);
|
mobileWid->setShown(false);
|
||||||
|
openvWid->setShown(false);
|
||||||
pppoeWid->setShown(false);
|
pppoeWid->setShown(false);
|
||||||
tunnelWid->setShown(false);
|
tunnelWid->setShown(false);
|
||||||
tuntapWid->setShown(false);
|
tuntapWid->setShown(false);
|
||||||
@ -672,6 +675,7 @@ void MainWindow::profileTabChangeState(const QString current)
|
|||||||
ethernetWid->setShown(false);
|
ethernetWid->setShown(false);
|
||||||
macvlanWid->setShown(false);
|
macvlanWid->setShown(false);
|
||||||
mobileWid->setShown(false);
|
mobileWid->setShown(false);
|
||||||
|
openvWid->setShown(false);
|
||||||
pppoeWid->setShown(false);
|
pppoeWid->setShown(false);
|
||||||
tunnelWid->setShown(false);
|
tunnelWid->setShown(false);
|
||||||
tuntapWid->setShown(false);
|
tuntapWid->setShown(false);
|
||||||
@ -685,6 +689,7 @@ void MainWindow::profileTabChangeState(const QString current)
|
|||||||
ethernetWid->setShown(false);
|
ethernetWid->setShown(false);
|
||||||
macvlanWid->setShown(false);
|
macvlanWid->setShown(false);
|
||||||
mobileWid->setShown(false);
|
mobileWid->setShown(false);
|
||||||
|
openvWid->setShown(false);
|
||||||
pppoeWid->setShown(false);
|
pppoeWid->setShown(false);
|
||||||
tunnelWid->setShown(false);
|
tunnelWid->setShown(false);
|
||||||
tuntapWid->setShown(false);
|
tuntapWid->setShown(false);
|
||||||
@ -698,6 +703,7 @@ void MainWindow::profileTabChangeState(const QString current)
|
|||||||
ethernetWid->setShown(false);
|
ethernetWid->setShown(false);
|
||||||
macvlanWid->setShown(false);
|
macvlanWid->setShown(false);
|
||||||
mobileWid->setShown(false);
|
mobileWid->setShown(false);
|
||||||
|
openvWid->setShown(false);
|
||||||
pppoeWid->setShown(true);
|
pppoeWid->setShown(true);
|
||||||
tunnelWid->setShown(false);
|
tunnelWid->setShown(false);
|
||||||
tuntapWid->setShown(false);
|
tuntapWid->setShown(false);
|
||||||
@ -711,6 +717,7 @@ void MainWindow::profileTabChangeState(const QString current)
|
|||||||
ethernetWid->setShown(false);
|
ethernetWid->setShown(false);
|
||||||
macvlanWid->setShown(false);
|
macvlanWid->setShown(false);
|
||||||
mobileWid->setShown(true);
|
mobileWid->setShown(true);
|
||||||
|
openvWid->setShown(false);
|
||||||
pppoeWid->setShown(false);
|
pppoeWid->setShown(false);
|
||||||
tunnelWid->setShown(false);
|
tunnelWid->setShown(false);
|
||||||
tuntapWid->setShown(false);
|
tuntapWid->setShown(false);
|
||||||
@ -724,6 +731,7 @@ void MainWindow::profileTabChangeState(const QString current)
|
|||||||
ethernetWid->setShown(false);
|
ethernetWid->setShown(false);
|
||||||
macvlanWid->setShown(false);
|
macvlanWid->setShown(false);
|
||||||
mobileWid->setShown(false);
|
mobileWid->setShown(false);
|
||||||
|
openvWid->setShown(false);
|
||||||
pppoeWid->setShown(false);
|
pppoeWid->setShown(false);
|
||||||
tunnelWid->setShown(true);
|
tunnelWid->setShown(true);
|
||||||
tuntapWid->setShown(false);
|
tuntapWid->setShown(false);
|
||||||
@ -737,6 +745,7 @@ void MainWindow::profileTabChangeState(const QString current)
|
|||||||
ethernetWid->setShown(false);
|
ethernetWid->setShown(false);
|
||||||
macvlanWid->setShown(false);
|
macvlanWid->setShown(false);
|
||||||
mobileWid->setShown(false);
|
mobileWid->setShown(false);
|
||||||
|
openvWid->setShown(false);
|
||||||
pppoeWid->setShown(false);
|
pppoeWid->setShown(false);
|
||||||
tunnelWid->setShown(false);
|
tunnelWid->setShown(false);
|
||||||
tuntapWid->setShown(true);
|
tuntapWid->setShown(true);
|
||||||
@ -750,6 +759,7 @@ void MainWindow::profileTabChangeState(const QString current)
|
|||||||
ethernetWid->setShown(true);
|
ethernetWid->setShown(true);
|
||||||
macvlanWid->setShown(false);
|
macvlanWid->setShown(false);
|
||||||
mobileWid->setShown(false);
|
mobileWid->setShown(false);
|
||||||
|
openvWid->setShown(false);
|
||||||
pppoeWid->setShown(false);
|
pppoeWid->setShown(false);
|
||||||
tunnelWid->setShown(false);
|
tunnelWid->setShown(false);
|
||||||
tuntapWid->setShown(false);
|
tuntapWid->setShown(false);
|
||||||
@ -763,6 +773,21 @@ void MainWindow::profileTabChangeState(const QString current)
|
|||||||
ethernetWid->setShown(true);
|
ethernetWid->setShown(true);
|
||||||
macvlanWid->setShown(true);
|
macvlanWid->setShown(true);
|
||||||
mobileWid->setShown(false);
|
mobileWid->setShown(false);
|
||||||
|
openvWid->setShown(false);
|
||||||
|
pppoeWid->setShown(false);
|
||||||
|
tunnelWid->setShown(false);
|
||||||
|
tuntapWid->setShown(false);
|
||||||
|
vlanWid->setShown(false);
|
||||||
|
wirelessWid->setShown(false);
|
||||||
|
}
|
||||||
|
else if (current == QString("openvswitch")) {
|
||||||
|
generalWid->setShown(true);
|
||||||
|
ipWid->setShown(true);
|
||||||
|
bridgeWid->setShown(false);
|
||||||
|
ethernetWid->setShown(false);
|
||||||
|
macvlanWid->setShown(false);
|
||||||
|
mobileWid->setShown(false);
|
||||||
|
openvWid->setShown(true);
|
||||||
pppoeWid->setShown(false);
|
pppoeWid->setShown(false);
|
||||||
tunnelWid->setShown(false);
|
tunnelWid->setShown(false);
|
||||||
tuntapWid->setShown(false);
|
tuntapWid->setShown(false);
|
||||||
@ -794,6 +819,7 @@ void MainWindow::profileTabClear()
|
|||||||
ethernetWid->clear();
|
ethernetWid->clear();
|
||||||
macvlanWid->clear();
|
macvlanWid->clear();
|
||||||
mobileWid->clear();
|
mobileWid->clear();
|
||||||
|
openvWid->clear();
|
||||||
pppoeWid->clear();
|
pppoeWid->clear();
|
||||||
tunnelWid->clear();
|
tunnelWid->clear();
|
||||||
tuntapWid->clear();
|
tuntapWid->clear();
|
||||||
@ -879,6 +905,8 @@ void MainWindow::profileTabCreateProfile()
|
|||||||
if (ethernetWid->isOk() == 1)
|
if (ethernetWid->isOk() == 1)
|
||||||
return errorWin->showWindow(7, QString("[MainWindow] : [profileTabCreateProfile]"));
|
return errorWin->showWindow(7, QString("[MainWindow] : [profileTabCreateProfile]"));
|
||||||
}
|
}
|
||||||
|
else if (generalWid->connectionType->currentText() == QString("openvswitch")) {
|
||||||
|
}
|
||||||
|
|
||||||
ui->tabWidget->setDisabled(true);
|
ui->tabWidget->setDisabled(true);
|
||||||
// read settings
|
// read settings
|
||||||
@ -963,6 +991,14 @@ void MainWindow::profileTabCreateProfile()
|
|||||||
for (int i=0; i<addSettings.keys().count(); i++)
|
for (int i=0; i<addSettings.keys().count(); i++)
|
||||||
settings.insert(addSettings.keys()[i], addSettings[addSettings.keys()[i]]);
|
settings.insert(addSettings.keys()[i], addSettings[addSettings.keys()[i]]);
|
||||||
}
|
}
|
||||||
|
else if (generalWid->connectionType->currentText() == QString("openvswitch")) {
|
||||||
|
QMap<QString, QString> addSettings = ipWid->getSettings();
|
||||||
|
for (int i=0; i<addSettings.keys().count(); i++)
|
||||||
|
settings.insert(addSettings.keys()[i], addSettings[addSettings.keys()[i]]);
|
||||||
|
addSettings = openvWid->getSettings();
|
||||||
|
for (int i=0; i<addSettings.keys().count(); i++)
|
||||||
|
settings.insert(addSettings.keys()[i], addSettings[addSettings.keys()[i]]);
|
||||||
|
}
|
||||||
|
|
||||||
// call netctlprofile
|
// call netctlprofile
|
||||||
bool status = false;
|
bool status = false;
|
||||||
@ -1060,6 +1096,10 @@ void MainWindow::profileTabLoadProfile()
|
|||||||
ethernetWid->setSettings(settings);
|
ethernetWid->setSettings(settings);
|
||||||
macvlanWid->setSettings(settings);
|
macvlanWid->setSettings(settings);
|
||||||
}
|
}
|
||||||
|
else if (generalWid->connectionType->currentText() == QString("openvswitch")) {
|
||||||
|
ipWid->setSettings(settings);
|
||||||
|
openvWid->setSettings(settings);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -35,6 +35,7 @@
|
|||||||
#include "mobilewidget.h"
|
#include "mobilewidget.h"
|
||||||
#include "netctlautowindow.h"
|
#include "netctlautowindow.h"
|
||||||
#include "netctlguiadaptor.h"
|
#include "netctlguiadaptor.h"
|
||||||
|
#include "openvswitchwidget.h"
|
||||||
#include "passwdwidget.h"
|
#include "passwdwidget.h"
|
||||||
#include "pppoewidget.h"
|
#include "pppoewidget.h"
|
||||||
#include "settingswindow.h"
|
#include "settingswindow.h"
|
||||||
@ -407,6 +408,8 @@ void MainWindow::createObjects()
|
|||||||
ui->scrollAreaWidgetContents->layout()->addWidget(macvlanWid);
|
ui->scrollAreaWidgetContents->layout()->addWidget(macvlanWid);
|
||||||
mobileWid = new MobileWidget(this);
|
mobileWid = new MobileWidget(this);
|
||||||
ui->scrollAreaWidgetContents->layout()->addWidget(mobileWid);
|
ui->scrollAreaWidgetContents->layout()->addWidget(mobileWid);
|
||||||
|
openvWid = new OpenvswitchWidget(this);
|
||||||
|
ui->scrollAreaWidgetContents->layout()->addWidget(openvWid);
|
||||||
pppoeWid = new PppoeWidget(this);
|
pppoeWid = new PppoeWidget(this);
|
||||||
ui->scrollAreaWidgetContents->layout()->addWidget(pppoeWid);
|
ui->scrollAreaWidgetContents->layout()->addWidget(pppoeWid);
|
||||||
tunnelWid = new TunnelWidget(this);
|
tunnelWid = new TunnelWidget(this);
|
||||||
@ -436,6 +439,7 @@ void MainWindow::deleteObjects()
|
|||||||
if (ipWid != nullptr) delete ipWid;
|
if (ipWid != nullptr) delete ipWid;
|
||||||
if (macvlanWid != nullptr) delete macvlanWid;
|
if (macvlanWid != nullptr) delete macvlanWid;
|
||||||
if (mobileWid != nullptr) delete mobileWid;
|
if (mobileWid != nullptr) delete mobileWid;
|
||||||
|
if (openvWid != nullptr) delete openvWid;
|
||||||
if (pppoeWid != nullptr) delete pppoeWid;
|
if (pppoeWid != nullptr) delete pppoeWid;
|
||||||
if (tunnelWid != nullptr) delete tunnelWid;
|
if (tunnelWid != nullptr) delete tunnelWid;
|
||||||
if (tuntapWid != nullptr) delete tuntapWid;
|
if (tuntapWid != nullptr) delete tuntapWid;
|
||||||
|
@ -34,6 +34,7 @@ class IpWidget;
|
|||||||
class MacvlanWidget;
|
class MacvlanWidget;
|
||||||
class MobileWidget;
|
class MobileWidget;
|
||||||
class NetctlAutoWindow;
|
class NetctlAutoWindow;
|
||||||
|
class OpenvswitchWidget;
|
||||||
class PasswdWidget;
|
class PasswdWidget;
|
||||||
class PppoeWidget;
|
class PppoeWidget;
|
||||||
class SettingsWindow;
|
class SettingsWindow;
|
||||||
@ -140,6 +141,7 @@ private:
|
|||||||
IpWidget *ipWid = nullptr;
|
IpWidget *ipWid = nullptr;
|
||||||
MacvlanWidget *macvlanWid = nullptr;
|
MacvlanWidget *macvlanWid = nullptr;
|
||||||
MobileWidget *mobileWid = nullptr;
|
MobileWidget *mobileWid = nullptr;
|
||||||
|
OpenvswitchWidget *openvWid = nullptr;
|
||||||
PppoeWidget *pppoeWid = nullptr;
|
PppoeWidget *pppoeWid = nullptr;
|
||||||
TunnelWidget *tunnelWid = nullptr;
|
TunnelWidget *tunnelWid = nullptr;
|
||||||
TuntapWidget *tuntapWid = nullptr;
|
TuntapWidget *tuntapWid = nullptr;
|
||||||
|
73
sources/gui/src/openvswitchwidget.cpp
Normal file
73
sources/gui/src/openvswitchwidget.cpp
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
/***************************************************************************
|
||||||
|
* This file is part of netctl-gui *
|
||||||
|
* *
|
||||||
|
* netctl-gui 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-gui 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-gui. If not, see http://www.gnu.org/licenses/ *
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
#include "openvswitchwidget.h"
|
||||||
|
#include "ui_openvswitchwidget.h"
|
||||||
|
|
||||||
|
|
||||||
|
OpenvswitchWidget::OpenvswitchWidget(QWidget *parent)
|
||||||
|
: QWidget(parent),
|
||||||
|
ui(new Ui::OpenvswitchWidget)
|
||||||
|
{
|
||||||
|
ui->setupUi(this);
|
||||||
|
clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
OpenvswitchWidget::~OpenvswitchWidget()
|
||||||
|
{
|
||||||
|
delete ui;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void OpenvswitchWidget::clear()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void OpenvswitchWidget::setShown(const bool state)
|
||||||
|
{
|
||||||
|
if (state)
|
||||||
|
show();
|
||||||
|
else
|
||||||
|
hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
QMap<QString, QString> OpenvswitchWidget::getSettings()
|
||||||
|
{
|
||||||
|
QMap<QString, QString> openvswitchSettings;
|
||||||
|
|
||||||
|
if (isOk() != 0)
|
||||||
|
return openvswitchSettings;
|
||||||
|
|
||||||
|
return openvswitchSettings;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int OpenvswitchWidget::isOk()
|
||||||
|
{
|
||||||
|
// all fine
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void OpenvswitchWidget::setSettings(const QMap<QString, QString> settings)
|
||||||
|
{
|
||||||
|
clear();
|
||||||
|
QMap<QString, QString> OpenvswitchWidget = settings;
|
||||||
|
}
|
48
sources/gui/src/openvswitchwidget.h
Normal file
48
sources/gui/src/openvswitchwidget.h
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
/***************************************************************************
|
||||||
|
* This file is part of netctl-gui *
|
||||||
|
* *
|
||||||
|
* netctl-gui 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-gui 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-gui. If not, see http://www.gnu.org/licenses/ *
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
#ifndef OPENVSWITCHWIDGET_H
|
||||||
|
#define OPENVSWITCHWIDGET_H
|
||||||
|
|
||||||
|
#include <QWidget>
|
||||||
|
|
||||||
|
|
||||||
|
namespace Ui {
|
||||||
|
class OpenvswitchWidget;
|
||||||
|
}
|
||||||
|
|
||||||
|
class OpenvswitchWidget : public QWidget
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit OpenvswitchWidget(QWidget *parent = 0);
|
||||||
|
~OpenvswitchWidget();
|
||||||
|
QMap<QString, QString> getSettings();
|
||||||
|
int isOk();
|
||||||
|
void setSettings(const QMap<QString, QString> settings);
|
||||||
|
|
||||||
|
public slots:
|
||||||
|
void clear();
|
||||||
|
void setShown(const bool state);
|
||||||
|
|
||||||
|
private:
|
||||||
|
Ui::OpenvswitchWidget *ui;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* OPENVSWITCHWIDGET_H */
|
34
sources/gui/src/openvswitchwidget.ui
Normal file
34
sources/gui/src/openvswitchwidget.ui
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>OpenvswitchWidget</class>
|
||||||
|
<widget class="QWidget" name="OpenvswitchWidget">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>391</width>
|
||||||
|
<height>79</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Form</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QDockWidget" name="dockWidget_openvswitch">
|
||||||
|
<property name="features">
|
||||||
|
<set>QDockWidget::NoDockWidgetFeatures</set>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>openvswitch settings</string>
|
||||||
|
</property>
|
||||||
|
<widget class="QWidget" name="dockWidgetContents_openvswitch">
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_2"/>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
Loading…
Reference in New Issue
Block a user