Remove the session area when empty; improved dialog UI code
authorJanne Koschinski <janne@kuschku.de>
Mon, 28 Aug 2017 17:15:44 +0000 (19:15 +0200)
committerManuel Nickschas <sputnick@quassel-irc.org>
Tue, 19 Dec 2017 22:25:24 +0000 (23:25 +0100)
src/qtui/coreinfodlg.cpp
src/qtui/ui/coreinfodlg.ui

index 38628ac..82816a0 100644 (file)
@@ -43,13 +43,18 @@ void CoreInfoDlg::coreInfoAvailable()
     ui.labelCoreVersionDate->setText(_coreInfo["quasselBuildDate"].toString()); // "BuildDate" for compatibility
     ui.labelClientCount->setNum(_coreInfo["sessionConnectedClients"].toInt());
 
+    auto coreSessionSupported = false;
     for (const auto &peerData : _coreInfo["sessionConnectedClientData"].toList()) {
+        coreSessionSupported = true;
+
         auto coreSessionWidget = new CoreSessionWidget(ui.coreSessionScrollContainer);
         coreSessionWidget->setData(peerData.toMap());
         ui.coreSessionContainer->addWidget(coreSessionWidget);
         connect(coreSessionWidget, SIGNAL(disconnectClicked(int)), this, SLOT(disconnectClicked(int)));
     }
 
+    ui.coreSessionScrollArea->setVisible(coreSessionSupported);
+
     ui.coreSessionContainer->addStretch(1);
 
     updateUptime();
index 778f0ec..57f2428 100644 (file)
 <?xml version="1.0" encoding="UTF-8"?>
 <ui version="4.0">
  <class>CoreInfoDlg</class>
   <widget class="QDialog" name="CoreInfoDlg">
-        <property name="geometry">
+ <widget class="QDialog" name="CoreInfoDlg">
+  <property name="geometry">
    <rect>
     <x>0</x>
     <y>0</y>
-       <width>566</width>
-       <height>349</height>
+    <width>566</width>
+    <height>349</height>
    </rect>
   </property>
-        <property name="windowTitle">
+  <property name="windowTitle">
    <string>Core Information</string>
   </property>
-        <layout class="QVBoxLayout" name="verticalLayout">
+  <layout class="QVBoxLayout" name="verticalLayout" stretch="0,1,0,0">
    <item>
-       <layout class="QGridLayout" name="gridLayout">
-           <item row="0" column="0">
-               <widget class="QLabel" name="label_2">
-                   <property name="text">
+    <layout class="QGridLayout" name="gridLayout">
+     <item row="0" column="0">
+      <widget class="QLabel" name="labelCoreVersionTitle">
+       <property name="text">
         <string>Version:</string>
        </property>
       </widget>
      </item>
-           <item row="0" column="1">
-               <widget class="QLabel" name="labelCoreVersion">
-                   <property name="text">
-                       <string>&lt;core version&gt;</string>
+     <item row="0" column="1">
+      <widget class="QLabel" name="labelCoreVersion">
+       <property name="text">
+        <string notr="true">&lt;core version&gt;</string>
        </property>
       </widget>
      </item>
-           <item row="2" column="0">
-               <widget class="QLabel" name="label_4">
-                   <property name="text">
-        <string>Uptime:</string>
+     <item row="1" column="0">
+      <widget class="QLabel" name="labelCoreVersionDateTitle">
+       <property name="text">
+        <string>Version date:</string>
        </property>
       </widget>
      </item>
-           <item row="3" column="0">
-               <widget class="QLabel" name="label_3">
-                   <property name="text">
-        <string>Connected Clients:</string>
+     <item row="1" column="1">
+      <widget class="QLabel" name="labelCoreVersionDate">
+       <property name="text">
+        <string notr="true">&lt;version date&gt;</string>
        </property>
       </widget>
      </item>
-           <item row="3" column="1">
-               <widget class="QLabel" name="labelClientCount">
-                   <property name="text">
-                       <string>&lt;connected clients&gt;</string>
+     <item row="2" column="0">
+      <widget class="QLabel" name="labelUptimeTitle">
+       <property name="text">
+        <string>Uptime:</string>
        </property>
       </widget>
      </item>
-           <item row="2" column="1">
-               <widget class="QLabel" name="labelUptime">
-                   <property name="text">
-                       <string>&lt;core uptime&gt;</string>
+     <item row="2" column="1">
+      <widget class="QLabel" name="labelUptime">
+       <property name="text">
+        <string notr="true">&lt;core uptime&gt;</string>
        </property>
       </widget>
      </item>
-           <item row="1" column="0">
-               <widget class="QLabel" name="label">
-                   <property name="text">
-        <string>Version date:</string>
+     <item row="3" column="0">
+      <widget class="QLabel" name="labelClientCountTitle">
+       <property name="text">
+        <string>Connected Clients:</string>
        </property>
       </widget>
      </item>
-           <item row="1" column="1">
-               <widget class="QLabel" name="labelCoreVersionDate">
-                   <property name="text">
-                       <string>&lt;version date&gt;</string>
+     <item row="3" column="1">
+      <widget class="QLabel" name="labelClientCount">
+       <property name="text">
+        <string notr="true">&lt;connected clients&gt;</string>
        </property>
       </widget>
      </item>
     </layout>
    </item>
    <item>
-       <widget class="QScrollArea" name="coreSessionScrollArea">
-           <property name="sizePolicy">
-               <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-               </sizepolicy>
-           </property>
-           <property name="widgetResizable">
-               <bool>true</bool>
+    <widget class="QScrollArea" name="coreSessionScrollArea">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="widgetResizable">
+      <bool>true</bool>
+     </property>
+     <property name="alignment">
+      <set>Qt::AlignHCenter|Qt::AlignTop</set>
+     </property>
+     <widget class="QWidget" name="coreSessionScrollContainer">
+      <property name="geometry">
+       <rect>
+        <x>0</x>
+        <y>0</y>
+        <width>550</width>
+        <height>187</height>
+       </rect>
+      </property>
+      <property name="sizePolicy">
+       <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+        <horstretch>0</horstretch>
+        <verstretch>0</verstretch>
+       </sizepolicy>
+      </property>
+      <layout class="QVBoxLayout" name="verticalLayout_3">
+       <item>
+        <layout class="QVBoxLayout" name="coreSessionContainer">
+         <item>
+          <spacer name="verticalSpacer">
+           <property name="orientation">
+            <enum>Qt::Vertical</enum>
            </property>
-           <property name="alignment">
-               <set>Qt::AlignHCenter|Qt::AlignTop</set>
+           <property name="sizeHint" stdset="0">
+            <size>
+             <width>20</width>
+             <height>40</height>
+            </size>
            </property>
-           <widget class="QWidget" name="coreSessionScrollContainer">
-               <property name="geometry">
-                   <rect>
-                       <x>0</x>
-                       <y>0</y>
-                       <width>550</width>
-                       <height>193</height>
-                   </rect>
-               </property>
-               <property name="sizePolicy">
-                   <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
-                       <horstretch>0</horstretch>
-                       <verstretch>0</verstretch>
-                   </sizepolicy>
-               </property>
-               <layout class="QVBoxLayout" name="verticalLayout_3">
-                   <item>
-                       <layout class="QVBoxLayout" name="coreSessionContainer">
-                           <item>
-                               <spacer name="verticalSpacer">
-                                   <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>
-                   </item>
-               </layout>
-           </widget>
-       </widget>
+          </spacer>
+         </item>
+        </layout>
+       </item>
+      </layout>
+     </widget>
+    </widget>
    </item>
-            <item>
-                <layout class="QGridLayout" name="gridLayout_2">
-                    <item row="1" column="1">
-                        <widget class="QPushButton" name="closeButton">
-                            <property name="text">
+   <item>
+    <spacer name="mainSpacer">
+     <property name="orientation">
+      <enum>Qt::Vertical</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>0</width>
+       <height>0</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+   <item>
+    <layout class="QGridLayout" name="gridLayout_2">
+     <item row="1" column="1">
+      <widget class="QPushButton" name="closeButton">
+       <property name="text">
         <string>Close</string>
        </property>
       </widget>
      </item>
-                    <item row="1" column="0">
-                        <spacer name="horizontalSpacer">
-                            <property name="orientation">
+     <item row="1" column="0">
+      <spacer name="horizontalSpacer">
+       <property name="orientation">
         <enum>Qt::Horizontal</enum>
        </property>
-                            <property name="sizeHint" stdset="0">
+       <property name="sizeHint" stdset="0">
         <size>
          <width>40</width>
          <height>20</height>
        </property>
       </spacer>
      </item>
-                    <item row="1" column="2">
-                        <spacer name="horizontalSpacer_2">
-                            <property name="orientation">
+     <item row="1" column="2">
+      <spacer name="horizontalSpacer_2">
+       <property name="orientation">
         <enum>Qt::Horizontal</enum>
        </property>
-                            <property name="sizeHint" stdset="0">
+       <property name="sizeHint" stdset="0">
         <size>
          <width>40</width>
          <height>20</height>