summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2013-11-21 13:45:44 -0500
committerAdam Ierymenko <adam.ierymenko@gmail.com>2013-11-21 13:45:44 -0500
commite3b0197e570e203c00cd7ad8a893360cc1da0263 (patch)
treeba5097c89fab80646d0486abd96b002a086624f9
parent4d86b2f02fbf4d693136f3698984bcc10016b83d (diff)
downloadinfinitytier-e3b0197e570e203c00cd7ad8a893360cc1da0263.tar.gz
infinitytier-e3b0197e570e203c00cd7ad8a893360cc1da0263.zip
Network list update works in UI.
-rw-r--r--ZeroTierUI/mainwindow.cpp65
-rw-r--r--ZeroTierUI/mainwindow.ui49
-rw-r--r--ZeroTierUI/network.cpp4
-rw-r--r--ZeroTierUI/network.ui590
4 files changed, 337 insertions, 371 deletions
diff --git a/ZeroTierUI/mainwindow.cpp b/ZeroTierUI/mainwindow.cpp
index 40a2bf87..e427a6a1 100644
--- a/ZeroTierUI/mainwindow.cpp
+++ b/ZeroTierUI/mainwindow.cpp
@@ -8,6 +8,7 @@
#include <set>
#include <vector>
#include <stdexcept>
+#include <utility>
#include <QClipboard>
#include <QMutex>
@@ -130,48 +131,48 @@ void MainWindow::customEvent(QEvent *event)
if (hdr.size() >= 5)
this->myVersion = hdr[4].c_str();
} else if (hdr[1] == "listnetworks") {
- std::set<std::string> networkIds;
-
- // Add/update network widgets in scroll area
+ std::map< std::string,std::vector<std::string> > byNwid;
for(unsigned long i=1;i<m->ztMessage.size();++i) {
std::vector<std::string> l(ZeroTier::Node::LocalClient::splitLine(m->ztMessage[i]));
// 200 listnetworks <nwid> <name> <status> <type> <dev> <ips>
- if ((l.size() == 8)&&(l[2].length() == 16)) {
- networkIds.insert(l[2]);
- Network *nw = (Network *)0;
- for(QObjectList::const_iterator n(ui->networksScrollAreaContentWidget->children().begin());n!=ui->networksScrollAreaContentWidget->children().end();++n) {
- Network *n2 = (Network *)*n;
- if ((n2)&&(n2->networkId() == l[2])) {
- nw = n2;
- break;
- }
- }
- if (!nw) {
- nw = new Network(ui->networksScrollAreaContentWidget,l[2]);
- }
+ if ((l.size() == 8)&&(l[2].length() == 16))
+ byNwid[l[2]] = l;
+ }
+
+ std::map< std::string,std::pair<int,Network *> > existingByNwid;
+ for(int r=0;r<ui->networkListWidget->count();++r) {
+ Network *nw = (Network *)ui->networkListWidget->itemWidget(ui->networkListWidget->item(r));
+ existingByNwid[nw->networkId()] = std::make_pair(r,nw);
+ }
+
+ for(std::map< std::string,std::pair<int,Network *> >::iterator i(existingByNwid.begin());i!=existingByNwid.end();++i) {
+ if (byNwid.count(i->first)) {
+ std::vector<std::string> &l = byNwid[i->first];
+ i->second.second->setNetworkName(l[3]);
+ i->second.second->setStatus(l[4]);
+ i->second.second->setNetworkType(l[5]);
+ i->second.second->setNetworkDeviceName(l[6]);
+ i->second.second->setIps(l[7]);
+ } else {
+ delete ui->networkListWidget->takeItem(i->second.first);
+ }
+ }
+
+ for(std::map< std::string,std::vector<std::string> >::iterator i(byNwid.begin());i!=byNwid.end();++i) {
+ if (!existingByNwid.count(i->first)) {
+ std::vector<std::string> &l = i->second;
+ Network *nw = new Network((QWidget *)0,i->first);
nw->setNetworkName(l[3]);
nw->setStatus(l[4]);
nw->setNetworkType(l[5]);
nw->setNetworkDeviceName(l[6]);
nw->setIps(l[7]);
+ QListWidgetItem *item = new QListWidgetItem();
+ item->setSizeHint(nw->sizeHint());
+ ui->networkListWidget->addItem(item);
+ ui->networkListWidget->setItemWidget(item,nw);
}
}
-
- // Remove widgets for networks no longer in the list
- for(QObjectList::const_iterator n(ui->networksScrollAreaContentWidget->children().begin());n!=ui->networksScrollAreaContentWidget->children().end();++n) {
- Network *n2 = (Network *)*n;
- if ((n2)&&(!networkIds.count(n2->networkId())))
- n2->deleteLater();
- }
-
- // Update layout
- QVBoxLayout *layout = new QVBoxLayout();
- layout->setSpacing(0);
- layout->setMargin(0);
- for(QObjectList::const_iterator n(ui->networksScrollAreaContentWidget->children().begin());n!=ui->networksScrollAreaContentWidget->children().end();++n)
- layout->addWidget((QWidget *)*n);
- delete ui->networksScrollAreaContentWidget->layout();
- ui->networksScrollAreaContentWidget->setLayout(layout);
} else if (hdr[1] == "listpeers") {
this->numPeers = 0;
for(unsigned long i=1;i<m->ztMessage.size();++i) {
diff --git a/ZeroTierUI/mainwindow.ui b/ZeroTierUI/mainwindow.ui
index add117f7..025ac6cd 100644
--- a/ZeroTierUI/mainwindow.ui
+++ b/ZeroTierUI/mainwindow.ui
@@ -35,44 +35,31 @@
<number>6</number>
</property>
<item>
- <widget class="QScrollArea" name="networksScrollArea">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="toolTip">
- <string/>
- </property>
- <property name="frameShape">
- <enum>QFrame::NoFrame</enum>
+ <widget class="QListWidget" name="networkListWidget">
+ <property name="focusPolicy">
+ <enum>Qt::NoFocus</enum>
</property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
- <property name="widgetResizable">
+ <property name="autoScroll">
+ <bool>false</bool>
+ </property>
+ <property name="editTriggers">
+ <set>QAbstractItemView::NoEditTriggers</set>
+ </property>
+ <property name="alternatingRowColors">
<bool>true</bool>
</property>
- <property name="alignment">
- <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+ <property name="selectionMode">
+ <enum>QAbstractItemView::NoSelection</enum>
+ </property>
+ <property name="selectionBehavior">
+ <enum>QAbstractItemView::SelectRows</enum>
+ </property>
+ <property name="verticalScrollMode">
+ <enum>QAbstractItemView::ScrollPerPixel</enum>
</property>
- <widget class="QWidget" name="networksScrollAreaContentWidget">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>656</width>
- <height>238</height>
- </rect>
- </property>
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
</widget>
</item>
<item>
diff --git a/ZeroTierUI/network.cpp b/ZeroTierUI/network.cpp
index 12d02516..1631c816 100644
--- a/ZeroTierUI/network.cpp
+++ b/ZeroTierUI/network.cpp
@@ -17,6 +17,10 @@ Network::Network(QWidget *parent,const std::string &nwid) :
{
ui->setupUi(this);
ui->networkIdPushButton->setText(QString(nwid.c_str()));
+ QFontMetrics fm(ui->ipListWidget->font());
+ int lineHeight = ui->ipListWidget->spacing() + fm.height();
+ ui->ipListWidget->setMinimumHeight(lineHeight * 3);
+ ui->ipListWidget->setMaximumHeight(lineHeight * 3);
}
Network::~Network()
diff --git a/ZeroTierUI/network.ui b/ZeroTierUI/network.ui
index c138e7e0..507bf335 100644
--- a/ZeroTierUI/network.ui
+++ b/ZeroTierUI/network.ui
@@ -7,11 +7,11 @@
<x>0</x>
<y>0</y>
<width>580</width>
- <height>267</height>
+ <height>253</height>
</rect>
</property>
<property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <sizepolicy hsizetype="Expanding" vsizetype="Maximum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -22,249 +22,308 @@
<property name="styleSheet">
<string notr="true"/>
</property>
- <layout class="QHBoxLayout" name="horizontalLayout_3">
+ <layout class="QHBoxLayout" name="horizontalLayout">
<property name="spacing">
- <number>0</number>
+ <number>6</number>
</property>
<property name="leftMargin">
- <number>0</number>
+ <number>6</number>
</property>
<property name="topMargin">
- <number>3</number>
+ <number>6</number>
</property>
<property name="rightMargin">
- <number>0</number>
+ <number>6</number>
</property>
<property name="bottomMargin">
- <number>3</number>
+ <number>6</number>
</property>
<item>
- <widget class="QFrame" name="frame">
- <property name="frameShape">
- <enum>QFrame::StyledPanel</enum>
+ <widget class="QWidget" name="leftWidget" native="true">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
</property>
- <property name="frameShadow">
- <enum>QFrame::Raised</enum>
+ <layout class="QFormLayout" name="formLayout">
+ <property name="fieldGrowthPolicy">
+ <enum>QFormLayout::ExpandingFieldsGrow</enum>
+ </property>
+ <property name="labelAlignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="formAlignment">
+ <set>Qt::AlignHCenter|Qt::AlignTop</set>
+ </property>
+ <property name="horizontalSpacing">
+ <number>6</number>
+ </property>
+ <property name="verticalSpacing">
+ <number>2</number>
+ </property>
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>Network ID:</string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::PlainText</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QPushButton" name="networkIdPushButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string>Click to Copy to Clipboard</string>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">border: 0; padding: 0; margin: 0; text-align: left;</string>
+ </property>
+ <property name="text">
+ <string>0000000000000000</string>
+ </property>
+ <property name="flat">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>Name:</string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::PlainText</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QLabel" name="nameLabel">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>?</string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::PlainText</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_5">
+ <property name="text">
+ <string>Type:</string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::PlainText</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="QLabel" name="networkTypeLabel">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>?</string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::PlainText</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Status:</string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::PlainText</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="1">
+ <widget class="QLabel" name="statusLabel">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>?</string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::PlainText</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="0">
+ <widget class="QLabel" name="label_4">
+ <property name="text">
+ <string>Device:</string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::PlainText</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="1">
+ <widget class="QLabel" name="deviceLabel">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>?</string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::PlainText</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QWidget" name="rightWidget" native="true">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
</property>
- <layout class="QHBoxLayout" name="horizontalLayout">
+ <layout class="QVBoxLayout" name="verticalLayout">
<property name="spacing">
- <number>6</number>
+ <number>3</number>
+ </property>
+ <property name="sizeConstraint">
+ <enum>QLayout::SetNoConstraint</enum>
</property>
<property name="leftMargin">
- <number>6</number>
+ <number>0</number>
</property>
<property name="topMargin">
- <number>6</number>
+ <number>0</number>
</property>
<property name="rightMargin">
- <number>6</number>
+ <number>0</number>
</property>
<property name="bottomMargin">
- <number>6</number>
+ <number>0</number>
</property>
<item>
- <widget class="QWidget" name="leftWidget" native="true">
+ <widget class="QLabel" name="label_6">
+ <property name="font">
+ <font>
+ <underline>false</underline>
+ </font>
+ </property>
+ <property name="text">
+ <string>IP Address Assignments</string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::PlainText</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QListWidget" name="ipListWidget">
<property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
- <layout class="QFormLayout" name="formLayout">
- <property name="fieldGrowthPolicy">
- <enum>QFormLayout::ExpandingFieldsGrow</enum>
- </property>
- <property name="labelAlignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- <property name="formAlignment">
- <set>Qt::AlignHCenter|Qt::AlignTop</set>
- </property>
- <property name="horizontalSpacing">
- <number>6</number>
- </property>
- <property name="verticalSpacing">
- <number>2</number>
- </property>
- <property name="leftMargin">
- <number>0</number>
- </property>
- <property name="topMargin">
- <number>0</number>
- </property>
- <property name="rightMargin">
- <number>0</number>
- </property>
- <property name="bottomMargin">
- <number>0</number>
- </property>
- <item row="2" column="0">
- <widget class="QLabel" name="label_2">
- <property name="text">
- <string>Network ID:</string>
- </property>
- <property name="textFormat">
- <enum>Qt::PlainText</enum>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QPushButton" name="networkIdPushButton">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="font">
- <font>
- <family>Courier</family>
- <pointsize>13</pointsize>
- <weight>75</weight>
- <bold>true</bold>
- </font>
- </property>
- <property name="toolTip">
- <string>Click to Copy to Clipboard</string>
- </property>
- <property name="styleSheet">
- <string notr="true">border: 0;
-padding: 0;
-margin: 0;
-text-align: left;</string>
- </property>
- <property name="text">
- <string>0000000000000000</string>
- </property>
- <property name="flat">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="3" column="0">
- <widget class="QLabel" name="label_3">
- <property name="text">
- <string>Name:</string>
- </property>
- <property name="textFormat">
- <enum>Qt::PlainText</enum>
- </property>
- </widget>
- </item>
- <item row="3" column="1">
- <widget class="QLabel" name="nameLabel">
- <property name="font">
- <font>
- <weight>75</weight>
- <bold>true</bold>
- </font>
- </property>
- <property name="text">
- <string>(name)</string>
- </property>
- <property name="textFormat">
- <enum>Qt::PlainText</enum>
- </property>
- </widget>
- </item>
- <item row="4" column="0">
- <widget class="QLabel" name="label_5">
- <property name="text">
- <string>Type:</string>
- </property>
- <property name="textFormat">
- <enum>Qt::PlainText</enum>
- </property>
- </widget>
- </item>
- <item row="4" column="1">
- <widget class="QLabel" name="networkTypeLabel">
- <property name="font">
- <font>
- <weight>75</weight>
- <bold>true</bold>
- </font>
- </property>
- <property name="text">
- <string>public</string>
- </property>
- <property name="textFormat">
- <enum>Qt::PlainText</enum>
- </property>
- </widget>
- </item>
- <item row="5" column="0">
- <widget class="QLabel" name="label">
- <property name="text">
- <string>Status:</string>
- </property>
- <property name="textFormat">
- <enum>Qt::PlainText</enum>
- </property>
- </widget>
- </item>
- <item row="5" column="1">
- <widget class="QLabel" name="statusLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="font">
- <font>
- <weight>75</weight>
- <bold>true</bold>
- </font>
- </property>
- <property name="text">
- <string>OK</string>
- </property>
- <property name="textFormat">
- <enum>Qt::PlainText</enum>
- </property>
- </widget>
- </item>
- <item row="6" column="0">
- <widget class="QLabel" name="label_4">
- <property name="text">
- <string>Device:</string>
- </property>
- <property name="textFormat">
- <enum>Qt::PlainText</enum>
- </property>
- </widget>
- </item>
- <item row="6" column="1">
- <widget class="QLabel" name="deviceLabel">
- <property name="font">
- <font>
- <weight>75</weight>
- <bold>true</bold>
- </font>
- </property>
- <property name="text">
- <string>zt0</string>
- </property>
- <property name="textFormat">
- <enum>Qt::PlainText</enum>
- </property>
- </widget>
- </item>
- </layout>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <family>Courier</family>
+ <pointsize>12</pointsize>
+ </font>
+ </property>
+ <property name="focusPolicy">
+ <enum>Qt::NoFocus</enum>
+ </property>
+ <property name="editTriggers">
+ <set>QAbstractItemView::NoEditTriggers</set>
+ </property>
+ <property name="showDropIndicator" stdset="0">
+ <bool>false</bool>
+ </property>
+ <property name="selectionMode">
+ <enum>QAbstractItemView::SingleSelection</enum>
+ </property>
+ <property name="horizontalScrollMode">
+ <enum>QAbstractItemView::ScrollPerPixel</enum>
+ </property>
+ <property name="sortingEnabled">
+ <bool>true</bool>
+ </property>
</widget>
</item>
<item>
- <widget class="QWidget" name="rightWidget" native="true">
+ <widget class="QWidget" name="leaveNetworkButtonContainerWidget" native="true">
<property name="sizePolicy">
- <sizepolicy hsizetype="Maximum" vsizetype="Maximum">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
- <layout class="QVBoxLayout" name="verticalLayout">
+ <property name="minimumSize">
+ <size>
+ <width>100</width>
+ <height>0</height>
+ </size>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="spacing">
- <number>6</number>
+ <number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
@@ -279,117 +338,32 @@ text-align: left;</string>
<number>0</number>
</property>
<item>
- <widget class="QLabel" name="label_6">
- <property name="font">
- <font>
- <underline>false</underline>
- </font>
- </property>
- <property name="text">
- <string>IP Addresses</string>
- </property>
- <property name="textFormat">
- <enum>Qt::PlainText</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QListWidget" name="ipListWidget">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
</property>
- <property name="minimumSize">
+ <property name="sizeHint" stdset="0">
<size>
- <width>0</width>
- <height>0</height>
+ <width>40</width>
+ <height>20</height>
</size>
</property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QToolButton" name="leaveNetworkButton">
<property name="font">
<font>
- <family>Courier</family>
- <pointsize>12</pointsize>
+ <pointsize>10</pointsize>
+ <underline>false</underline>
</font>
</property>
- <property name="editTriggers">
- <set>QAbstractItemView::NoEditTriggers</set>
- </property>
- <property name="showDropIndicator" stdset="0">
- <bool>false</bool>
- </property>
- <property name="selectionMode">
- <enum>QAbstractItemView::SingleSelection</enum>
- </property>
- <property name="resizeMode">
- <enum>QListView::Fixed</enum>
- </property>
- <property name="sortingEnabled">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QWidget" name="leaveNetworkButtonContainerWidget" native="true">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
+ <property name="styleSheet">
+ <string notr="true">padding: 0.1em; margin:0;</string>
</property>
- <property name="minimumSize">
- <size>
- <width>100</width>
- <height>0</height>
- </size>
+ <property name="text">
+ <string>Leave Network</string>
</property>
- <layout class="QHBoxLayout" name="horizontalLayout_2">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="leftMargin">
- <number>0</number>
- </property>
- <property name="topMargin">
- <number>0</number>
- </property>
- <property name="rightMargin">
- <number>0</number>
- </property>
- <property name="bottomMargin">
- <number>0</number>
- </property>
- <item>
- <spacer name="horizontalSpacer">
- <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="QToolButton" name="leaveNetworkButton">
- <property name="font">
- <font>
- <pointsize>10</pointsize>
- <underline>false</underline>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">padding: 0.1em; margin:0;</string>
- </property>
- <property name="text">
- <string>Leave Network</string>
- </property>
- </widget>
- </item>
- </layout>
</widget>
</item>
</layout>