[gnome-control-center] network: Update NetDeviceSimple layout



commit 4922f370fb44b5b978b5840f7eddcafdd915cea7
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date:   Tue Aug 22 23:07:51 2017 -0300

    network: Update NetDeviceSimple layout
    
    Following the previous commit, this patch adapts the
    NetDeviceSimple layout to be consistent with the other
    devices in the Network panel.
    
    This is, however, a temporary solution, for simple devices
    will be handled in a separate panel in the future.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=786662

 panels/network/net-device-simple.c |   33 +---
 panels/network/net-device-simple.h |    3 +
 panels/network/network-simple.ui   |  356 ++++++------------------------------
 3 files changed, 66 insertions(+), 326 deletions(-)
---
diff --git a/panels/network/net-device-simple.c b/panels/network/net-device-simple.c
index 5fa0ea5..e1c06c6 100644
--- a/panels/network/net-device-simple.c
+++ b/panels/network/net-device-simple.c
@@ -41,6 +41,17 @@ struct _NetDeviceSimplePrivate
 
 G_DEFINE_TYPE (NetDeviceSimple, net_device_simple, NET_TYPE_DEVICE)
 
+void
+net_device_simple_set_show_separator (NetDeviceSimple *device_simple,
+                                      gboolean         show_separator)
+{
+        GtkWidget *widget;
+
+        /* add widgets to size group */
+        widget = GTK_WIDGET (gtk_builder_get_object (device_simple->priv->builder, "separator"));
+        gtk_widget_set_visible (widget, show_separator);
+}
+
 static GtkWidget *
 device_simple_proxy_add_to_stack (NetObject    *object,
                                   GtkStack     *stack,
@@ -51,10 +62,6 @@ device_simple_proxy_add_to_stack (NetObject    *object,
 
         /* add widgets to size group */
         widget = GTK_WIDGET (gtk_builder_get_object (device_simple->priv->builder,
-                                                     "heading_ipv4"));
-        gtk_size_group_add_widget (heading_size_group, widget);
-
-        widget = GTK_WIDGET (gtk_builder_get_object (device_simple->priv->builder,
                                                      "vbox6"));
         gtk_stack_add_named (stack, widget, net_object_get_id (object));
         return widget;
@@ -85,9 +92,7 @@ static void
 nm_device_simple_refresh_ui (NetDeviceSimple *device_simple)
 {
         NetDeviceSimplePrivate *priv = device_simple->priv;
-        const char *hwaddr;
         GtkWidget *widget;
-        char *speed = NULL;
         NMDevice *nm_device;
         NMDeviceState state;
 
@@ -96,10 +101,6 @@ nm_device_simple_refresh_ui (NetDeviceSimple *device_simple)
         /* set device kind */
         widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "label_device"));
         g_object_bind_property (device_simple, "title", widget, "label", 0);
-        widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "image_device"));
-        gtk_image_set_from_icon_name (GTK_IMAGE (widget),
-                                      panel_device_to_icon_name (nm_device, FALSE),
-                                      GTK_ICON_SIZE_DIALOG);
 
         /* set up the device on/off switch */
         widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "device_off_switch"));
@@ -112,18 +113,6 @@ nm_device_simple_refresh_ui (NetDeviceSimple *device_simple)
         /* set up the Options button */
         widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_options"));
         gtk_widget_set_visible (widget, state != NM_DEVICE_STATE_UNMANAGED);
-
-        /* set device state, with status and optionally speed */
-        if (state != NM_DEVICE_STATE_UNAVAILABLE)
-                speed = net_device_simple_get_speed (device_simple);
-        panel_set_device_status (priv->builder, "label_status", nm_device, speed);
-
-        /* device MAC */
-        hwaddr = nm_device_get_hw_address (nm_device);
-        panel_set_device_widget_details (priv->builder, "mac", hwaddr);
-
-        /* set IP entries */
-        panel_set_device_widgets (priv->builder, nm_device);
 }
 
 static void
diff --git a/panels/network/net-device-simple.h b/panels/network/net-device-simple.h
index 806755d..b2ba642 100644
--- a/panels/network/net-device-simple.h
+++ b/panels/network/net-device-simple.h
@@ -61,6 +61,9 @@ void  net_device_simple_add_row                (NetDeviceSimple *device_simple,
                                                 const char      *label,
                                                 const char      *property_name);
 
+void  net_device_simple_set_show_separator     (NetDeviceSimple *device_simple,
+                                                gboolean         show_separator);
+
 G_END_DECLS
 
 #endif /* __NET_DEVICE_SIMPLE_H */
diff --git a/panels/network/network-simple.ui b/panels/network/network-simple.ui
index 0142c1d..fc46a96 100644
--- a/panels/network/network-simple.ui
+++ b/panels/network/network-simple.ui
@@ -1,340 +1,88 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <interface>
   <!-- interface-requires gtk+ 3.0 -->
-      <object class="GtkVBox" id="vbox6">
+  <object class="GtkBox" id="vbox6">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="orientation">vertical</property>
+    <child>
+      <object class="GtkSeparator" id="separator">
+        <property name="can_focus">False</property>
+        <property name="orientation">horizontal</property>
+      </object>
+    </child>
+    <child>
+      <object class="GtkListBox">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
-        <property name="border_width">12</property>
-        <property name="spacing">6</property>
+        <property name="selection_mode">none</property>
         <child>
-          <object class="GtkGrid" id="outer_grid">
+          <object class="GtkListBoxRow">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="valign">start</property>
-            <property name="orientation">vertical</property>
-            <property name="row_spacing">10</property>
-            <property name="column_spacing">6</property>
-            <child>
-              <object class="GtkImage" id="image_device">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="halign">end</property>
-                <property name="valign">start</property>
-                <property name="xalign">1</property>
-                <property name="pixel_size">48</property>
-                <property name="icon_name">network-wired</property>
-                <property name="icon-size">6</property>
-              </object>
-              <packing>
-                <property name="left_attach">0</property>
-                <property name="top_attach">0</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
-            </child>
+            <property name="activatable">False</property>
             <child>
-              <object class="GtkVBox" id="vbox4">
+              <object class="GtkBox">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="valign">start</property>
-                <property name="hexpand">True</property>
-                <property name="spacing">3</property>
+                <property name="margin_top">9</property>
+                <property name="margin_bottom">9</property>
+                <property name="margin_start">20</property>
+                <property name="margin_end">20</property>
+                <property name="spacing">12</property>
                 <child>
                   <object class="GtkLabel" id="label_device">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
+                    <property name="hexpand">True</property>
+                    <property name="xalign">0.0</property>
                     <property name="label" translatable="yes">Wired</property>
                     <property name="ellipsize">end</property>
-                    <attributes>
-                      <attribute name="weight" value="bold"/>
-                      <attribute name="scale" value="1.2"/>
-                    </attributes>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">0</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="label_status">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label">Cable unplugged</property>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">1</property>
-                  </packing>
-                </child>
-              </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="top_attach">0</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkGrid" id="grid">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="margin_top">20</property>
-                <property name="orientation">vertical</property>
-                <property name="row_spacing">10</property>
-                <property name="column_spacing">6</property>
-                <property name="column_homogeneous">True</property>
-                <child>
-                  <object class="GtkLabel" id="heading_mac">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">1</property>
-                    <property name="label" translatable="yes">Hardware Address</property>
-                    <property name="mnemonic_widget">label_mac</property>
-                    <style>
-                      <class name="dim-label"/>
-                    </style>
-                  </object>
-                  <packing>
-                    <property name="left_attach">0</property>
-                    <property name="top_attach">0</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="heading_ipv4">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">1</property>
-                    <property name="label" translatable="yes">IPv4 Address</property>
-                    <property name="mnemonic_widget">label_ipv4</property>
-                    <style>
-                      <class name="dim-label"/>
-                    </style>
                   </object>
-                  <packing>
-                    <property name="left_attach">0</property>
-                    <property name="top_attach">1</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
                 </child>
                 <child>
-                  <object class="GtkLabel" id="heading_ipv6">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">1</property>
-                    <property name="label" translatable="yes">IPv6 Address</property>
-                    <property name="mnemonic_widget">label_ipv6</property>
-                    <style>
-                      <class name="dim-label"/>
-                    </style>
-                  </object>
-                  <packing>
-                    <property name="left_attach">0</property>
-                    <property name="top_attach">2</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="heading_route">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">1</property>
-                    <property name="label" translatable="yes">Default Route</property>
-                    <property name="mnemonic_widget">label_route</property>
-                    <style>
-                      <class name="dim-label"/>
-                    </style>
-                  </object>
-                  <packing>
-                    <property name="left_attach">0</property>
-                    <property name="top_attach">3</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="heading_dns">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">1</property>
-                    <property name="yalign">0</property>
-                    <property name="label" translatable="yes">DNS</property>
-                    <property name="mnemonic_widget">label_dns</property>
-                    <style>
-                      <class name="dim-label"/>
-                    </style>
-                  </object>
-                  <packing>
-                    <property name="left_attach">0</property>
-                    <property name="top_attach">4</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="label_mac">
+                  <object class="GtkSwitch" id="device_off_switch">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
-                    <property name="xalign">0</property>
-                    <property name="label">AA:BB:CC:DD:55:66:77:88</property>
-                    <property name="selectable">True</property>
+                    <property name="valign">center</property>
+                    <child internal-child="accessible">
+                      <object class="AtkObject" id="device_off_switch-accessible">
+                        <property name="accessible-name" translatable="yes">Turn device off</property>
+                      </object>
+                    </child>
                   </object>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="top_attach">0</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
                 </child>
                 <child>
-                  <object class="GtkLabel" id="label_ipv4">
+                  <object class="GtkButton" id="button_options">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
-                    <property name="xalign">0</property>
-                    <property name="label">127.0.0.1</property>
-                    <property name="selectable">True</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="top_attach">1</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="label_ipv6">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="xalign">0</property>
-                    <property name="label">::1</property>
-                    <property name="selectable">True</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="top_attach">2</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="label_route">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="xalign">0</property>
-                    <property name="label">127.0.0.1</property>
-                    <property name="selectable">True</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="top_attach">3</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="label_dns">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="xalign">0</property>
-                    <property name="yalign">0</property>
-                    <property name="label">127.0.0.1</property>
-                    <property name="wrap">True</property>
-                    <property name="selectable">True</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="top_attach">4</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
-                  </packing>
-                </child>
-              </object>
-              <packing>
-                <property name="left_attach">0</property>
-                <property name="top_attach">1</property>
-                <property name="width">3</property>
-                <property name="height">1</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkSwitch" id="device_off_switch">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="halign">end</property>
-                <property name="valign">center</property>
-                <child internal-child="accessible">
-                  <object class="AtkObject" id="device_off_switch-accessible">
-                    <property name="accessible-name" translatable="yes">Turn device off</property>
-                  </object>
-                </child>
-              </object>
-              <packing>
-                <property name="left_attach">2</property>
-                <property name="top_attach">0</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">True</property>
-            <property name="fill">True</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkBox" id="box1">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="margin_top">12</property>
-            <property name="orientation">vertical</property>
-            <child>
-              <object class="GtkButton" id="button_options">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">True</property>
-                <property name="halign">end</property>
-                <property name="valign">end</property>
-                <property name="hexpand">True</property>
-                <property name="vexpand">True</property>
-                <property name="use_underline">True</property>
-                <style>
-                  <class name="image-button"/>
-                </style>
-                <child>
-                  <object class="GtkImage" id="image1">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="icon_name">emblem-system-symbolic</property>
-                    <property name="icon_size">1</property>
-                  </object>
-                </child>
-                <child internal-child="accessible">
-                  <object class="AtkObject" id="button_options-accessible">
-                    <property name="accessible-name" translatable="yes">Options…</property>
+                    <property name="receives_default">True</property>
+                    <property name="valign">center</property>
+                    <property name="use_underline">True</property>
+                    <style>
+                      <class name="image-button"/>
+                    </style>
+                    <child>
+                      <object class="GtkImage">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="icon_name">emblem-system-symbolic</property>
+                        <property name="icon_size">1</property>
+                      </object>
+                    </child>
+                    <child internal-child="accessible">
+                      <object class="AtkObject" id="button_options-accessible">
+                        <property name="accessible-name" translatable="yes">Options…</property>
+                      </object>
+                    </child>
                   </object>
                 </child>
               </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">True</property>
-                <property name="position">0</property>
-              </packing>
             </child>
           </object>
-          <packing>
-            <property name="expand">True</property>
-            <property name="fill">True</property>
-            <property name="position">1</property>
-          </packing>
         </child>
       </object>
+    </child>
+  </object>
   <object class="GtkSizeGroup" id="sizegroup1"/>
 </interface>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]