summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Hughes <richard@hughsie.com>2010-12-17 10:58:56 +0000
committerRichard Hughes <richard@hughsie.com>2010-12-17 11:02:03 +0000
commit1ce24314ad08ec8ab92e38dae6924d82d378d793 (patch)
tree218385ccc415b7612be2057d436a9fee3e9d2c81
parent39d9ed99767bd84b1cccaccb5336f2e829cac977 (diff)
network: teach the panel about nameservers and routes
-rw-r--r--panels/network/cc-network-panel.c305
-rw-r--r--panels/network/network.ui255
2 files changed, 507 insertions, 53 deletions
diff --git a/panels/network/cc-network-panel.c b/panels/network/cc-network-panel.c
index 91db9e1cc..14462f885 100644
--- a/panels/network/cc-network-panel.c
+++ b/panels/network/cc-network-panel.c
@@ -648,7 +648,6 @@ panel_got_device_proxy_ip4_cb (GObject *source_object,
gpointer user_data)
{
GError *error = NULL;
- GVariant *result = NULL;
PanelDeviceItem *item = (PanelDeviceItem *) user_data;
item->proxy_ip4 = g_dbus_proxy_new_for_bus_finish (res, &error);
@@ -658,20 +657,10 @@ panel_got_device_proxy_ip4_cb (GObject *source_object,
goto out;
}
- /* get the Address */
- result = g_dbus_proxy_get_cached_property (item->proxy_ip4, "Addresses");
- //Addresses = array of (array of uint32)
- //Routes = array of (array of uint32)
- //Domains = array of string
- //Nameservers = array of uint32
- //WinsServers = array of uint32
-
/* add device if there are no more pending actions */
if (--item->device_add_refcount == 0)
panel_add_device_to_listview (item);
out:
- if (result != NULL)
- g_variant_unref (result);
return;
}
@@ -684,7 +673,6 @@ panel_got_device_proxy_ip6_cb (GObject *source_object,
gpointer user_data)
{
GError *error = NULL;
- GVariant *result = NULL;
PanelDeviceItem *item = (PanelDeviceItem *) user_data;
item->proxy_ip6 = g_dbus_proxy_new_for_bus_finish (res, &error);
@@ -694,19 +682,10 @@ panel_got_device_proxy_ip6_cb (GObject *source_object,
goto out;
}
- /* get the Address */
- result = g_dbus_proxy_get_cached_property (item->proxy_ip6, "Addresses");
- //Addresses = array of (struct of (array of (byte), uint32, array of (byte)))
- //Routes = array of (struct of (array of (byte), uint32, array of (byte)))
- //Nameservers = array of (array of byte)
- //Domains = array of string
-
/* add device if there are no more pending actions */
if (--item->device_add_refcount == 0)
panel_add_device_to_listview (item);
out:
- if (result != NULL)
- g_variant_unref (result);
return;
}
@@ -1121,14 +1100,15 @@ panel_set_label_for_variant_ipv4 (GtkWidget *widget, GVariant *variant)
}
/**
- * panel_set_label_for_variant_ipv4_array:
+ * panel_set_label_for_variant_ipv4_array_array:
*
* This is some crazy shit. NM sends us the following data type:
* "array of [array of [uint32]]"
**/
-static void
-panel_set_label_for_variant_ipv4_array (GtkWidget *widget, GVariant *variant)
+static gboolean
+panel_set_label_for_variant_ipv4_array_array (GtkWidget *widget, GVariant *variant)
{
+ gboolean ret;
gchar *tmp;
gsize len;
GString *string;
@@ -1141,10 +1121,6 @@ panel_set_label_for_variant_ipv4_array (GtkWidget *widget, GVariant *variant)
/* get an iter of the outer array */
len = g_variant_iter_init (&iter, variant);
- if (len != 1) {
- g_warning ("invalid ipv4 address?!");
- goto out;
- }
/* unwrap the outer array */
outer = g_variant_iter_next_value (&iter);
@@ -1182,17 +1158,68 @@ panel_set_label_for_variant_ipv4_array (GtkWidget *widget, GVariant *variant)
/* set label */
gtk_label_set_label (GTK_LABEL (widget), string->str);
out:
+ ret = string->len > 0;
g_string_free (string, TRUE);
+ return ret;
}
/**
* panel_set_label_for_variant_ipv4_array:
*
+ * TNM sends us the following data type "array of [uint32]"
+ **/
+static void
+panel_set_label_for_variant_ipv4_array (GtkWidget *widget, GVariant *variant)
+{
+ gchar *tmp;
+ gsize len;
+ GString *string;
+ guint i;
+ GVariant *value;
+
+ string = g_string_new ("");
+
+ /* unwrap the array */
+ len = g_variant_n_children (variant);
+ if (len == 0) {
+ g_warning ("invalid ipv4 address on inner?!");
+ goto out;
+ }
+ for (i=0; i<len; i++) {
+ value = g_variant_get_child_value (variant, i);
+ tmp = panel_ipv4_to_string (value);
+
+ /* ignore invalid entries: TODO why? */
+ if (g_str_has_suffix (tmp, ".0")) {
+ g_debug ("ignoring IP %s", tmp);
+ } else {
+ g_debug ("got IP %s", tmp);
+ g_string_append_printf (string,
+ "%s, ",
+ tmp);
+ }
+ g_free (tmp);
+ g_variant_unref (value);
+ }
+
+ /* remove trailing space comma */
+ if (string->len > 2)
+ g_string_set_size (string, string->len - 2);
+
+ /* set label */
+ gtk_label_set_label (GTK_LABEL (widget), string->str);
+out:
+ g_string_free (string, TRUE);
+}
+
+/**
+ * panel_set_label_for_variant_ipv6_prefixed_array:
+ *
* This is some crazy shit. NM sends us the following data type:
* "array of [struct of (array of [byte], uint32, array of [byte])]"
**/
-static void
-panel_set_label_for_variant_ipv6_array (GtkWidget *widget, GVariant *variant)
+static gboolean
+panel_set_label_for_variant_ipv6_prefixed_array (GtkWidget *widget, GVariant *variant)
{
GString *string;
gchar *tmp;
@@ -1201,13 +1228,14 @@ panel_set_label_for_variant_ipv6_array (GtkWidget *widget, GVariant *variant)
gsize len;
GVariant *address;
guint32 prefix;
+ gboolean ret = FALSE;
string = g_string_new ("");
/* get an iter of the outer array */
len = g_variant_iter_init (&iter, variant);
if (len == 0) {
- g_warning ("invalid ipv6 address?!");
+ g_debug ("no ipv6 address");
goto out;
}
@@ -1231,7 +1259,57 @@ panel_set_label_for_variant_ipv6_array (GtkWidget *widget, GVariant *variant)
/* set label */
gtk_label_set_label (GTK_LABEL (widget), string->str);
out:
+ ret = string->len > 0;
g_string_free (string, TRUE);
+ return ret;
+}
+
+/**
+ * panel_set_label_for_variant_ipv6_array:
+ *
+ * NM sends us the following data type:
+ * "array of [array of (byte)]"
+ **/
+static gboolean
+panel_set_label_for_variant_ipv6_array (GtkWidget *widget, GVariant *variant)
+{
+ gboolean ret = FALSE;
+ GString *string;
+ gchar *tmp;
+ GVariantIter iter;
+ gsize len;
+ GVariant *address;
+
+ string = g_string_new ("");
+
+ /* get an iter of the outer array */
+ len = g_variant_iter_init (&iter, variant);
+ if (len == 0) {
+ g_debug ("no ipv6 address");
+ goto out;
+ }
+
+ /* unwrap the outer array */
+ address = g_variant_iter_next_value (&iter);
+ while (address != NULL) {
+
+ /* format the address and add to the string */
+ tmp = panel_ipv6_to_string (address);
+ g_string_append_printf (string, "%s, ", tmp);
+
+ address = g_variant_iter_next_value (&iter);
+ }
+
+ /* remove trailing space comma */
+ if (string->len > 2)
+ g_string_set_size (string, string->len - 2);
+
+ /* set label */
+ gtk_label_set_label (GTK_LABEL (widget), string->str);
+out:
+ ret = string->len > 0;
+ g_string_free (string, TRUE);
+ return ret;
}
/**
@@ -1240,10 +1318,13 @@ out:
static void
panel_populate_wired_device (PanelDeviceItem *item)
{
+ gboolean ret;
GtkWidget *widget;
+ GVariant *hw_address;
GVariant *ip4 = NULL;
GVariant *ip6 = NULL;
- GVariant *hw_address;
+ GVariant *nameservers = NULL;
+ GVariant *routes = NULL;
GVariant *speed;
CcNetworkPanelPrivate *priv = item->panel->priv;
@@ -1252,26 +1333,99 @@ panel_populate_wired_device (PanelDeviceItem *item)
"hbox_wired_ip6"));
if (item->proxy_ip6 != NULL) {
gtk_widget_show (widget);
+
+ /* array of (ipdata, prefix, route) */
ip6 = g_dbus_proxy_get_cached_property (item->proxy_ip6,
"Addresses");
widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
"label_wired_ip6"));
- panel_set_label_for_variant_ipv6_array (widget, ip6);
+ panel_set_label_for_variant_ipv6_prefixed_array (widget, ip6);
+
+ /* array of (ipdata, prefix, route) */
+ routes = g_dbus_proxy_get_cached_property (item->proxy_ip6,
+ "Routes");
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
+ "label_wired_route"));
+ ret = panel_set_label_for_variant_ipv6_prefixed_array (widget, routes);
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
+ "hbox_wired_route"));
+ gtk_widget_set_visible (widget, ret);
+
+ /* array of ipdata */
+ nameservers = g_dbus_proxy_get_cached_property (item->proxy_ip6,
+ "Nameservers");
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
+ "label_wired_dns"));
+ ret = panel_set_label_for_variant_ipv6_array (widget, nameservers);
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
+ "hbox_wired_dns"));
+ gtk_widget_set_visible (widget, ret);
+
+ /* Domains = array of string */
+ //no widget
+
+ /* i'm not sure how to get this yet */
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
+ "hbox_wired_subnet"));
+ gtk_widget_hide (widget);
} else {
gtk_widget_hide (widget);
}
/* set IPv4 */
- widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
- "label_wired_ip4"));
if (item->proxy_ip4 != NULL) {
+ /* array of (array of uint32) */
ip4 = g_dbus_proxy_get_cached_property (item->proxy_ip4,
"Addresses");
- panel_set_label_for_variant_ipv4_array (widget, ip4);
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
+ "label_wired_ip4"));
+ panel_set_label_for_variant_ipv4_array_array (widget, ip4);
+
+ /* array of (array of uint32) */
+ routes = g_dbus_proxy_get_cached_property (item->proxy_ip4,
+ "Routes");
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
+ "label_wired_route"));
+ ret = panel_set_label_for_variant_ipv4_array_array (widget, routes);
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
+ "hbox_wired_route"));
+ gtk_widget_set_visible (widget, ret);
+
+ /* array of uint32 */
+ nameservers = g_dbus_proxy_get_cached_property (item->proxy_ip4,
+ "Nameservers");
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
+ "label_wired_dns"));
+ panel_set_label_for_variant_ipv4_array (widget, nameservers);
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
+ "hbox_wired_dns"));
+ gtk_widget_show (widget);
+
+ /* Domains = array of string */
+ //no widget
+ /* WinsServers = array of uint32 */
+ //no widget
+
+ /* i'm not sure how to get this yet */
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
+ "hbox_wired_subnet"));
+ gtk_widget_hide (widget);
+
} else {
ip4 = g_dbus_proxy_get_cached_property (item->proxy,
"Ip4Address");
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
+ "label_wired_ip4"));
panel_set_label_for_variant_ipv4 (widget, ip4);
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
+ "hbox_wired_route"));
+ gtk_widget_hide (widget);
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
+ "hbox_wired_dns"));
+ gtk_widget_hide (widget);
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
+ "hbox_wired_subnet"));
+ gtk_widget_hide (widget);
}
/* set MAC */
@@ -1291,6 +1445,10 @@ panel_populate_wired_device (PanelDeviceItem *item)
g_variant_unref (ip4);
if (ip6 != NULL)
g_variant_unref (ip6);
+ if (routes != NULL)
+ g_variant_unref (routes);
+ if (nameservers != NULL)
+ g_variant_unref (nameservers);
g_variant_unref (hw_address);
g_variant_unref (speed);
}
@@ -1301,11 +1459,14 @@ panel_populate_wired_device (PanelDeviceItem *item)
static void
panel_populate_wireless_device (PanelDeviceItem *item)
{
+ gboolean ret;
GtkWidget *widget;
GVariant *bitrate;
GVariant *hw_address;
GVariant *ip4;
GVariant *ip6;
+ GVariant *nameservers = NULL;
+ GVariant *routes = NULL;
CcNetworkPanelPrivate *priv = item->panel->priv;
/* set IPv6 */
@@ -1313,26 +1474,86 @@ panel_populate_wireless_device (PanelDeviceItem *item)
"hbox_wireless_ip6"));
if (item->proxy_ip6 != NULL) {
gtk_widget_show (widget);
+
+ /* array of (ipdata, prefix, route) */
ip6 = g_dbus_proxy_get_cached_property (item->proxy_ip6,
"Addresses");
widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
"label_wireless_ip6"));
- panel_set_label_for_variant_ipv6_array (widget, ip6);
+ panel_set_label_for_variant_ipv6_prefixed_array (widget, ip6);
+
+ /* array of (ipdata, prefix, route) */
+ routes = g_dbus_proxy_get_cached_property (item->proxy_ip6,
+ "Routes");
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
+ "label_wireless_route"));
+ ret = panel_set_label_for_variant_ipv6_prefixed_array (widget, routes);
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
+ "hbox_wireless_route"));
+ gtk_widget_set_visible (widget, ret);
+
+ /* array of ipdata */
+ nameservers = g_dbus_proxy_get_cached_property (item->proxy_ip6,
+ "Nameservers");
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
+ "label_wireless_dns"));
+ ret = panel_set_label_for_variant_ipv6_array (widget, nameservers);
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
+ "hbox_wireless_dns"));
+ gtk_widget_set_visible (widget, ret);
+
+ /* Domains = array of string */
+ //no widget
} else {
gtk_widget_hide (widget);
}
/* set IPv4 */
- widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
- "label_wireless_ip4"));
if (item->proxy_ip4 != NULL) {
+ /* array of (array of uint32) */
ip4 = g_dbus_proxy_get_cached_property (item->proxy_ip4,
"Addresses");
- panel_set_label_for_variant_ipv4_array (widget, ip4);
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
+ "label_wireless_ip4"));
+ panel_set_label_for_variant_ipv4_array_array (widget, ip4);
+
+ /* array of (array of uint32) */
+ routes = g_dbus_proxy_get_cached_property (item->proxy_ip4,
+ "Routes");
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
+ "label_wireless_route"));
+ panel_set_label_for_variant_ipv4_array_array (widget, routes);
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
+ "hbox_wireless_route"));
+ gtk_widget_show (widget);
+
+ /* array of uint32 */
+ nameservers = g_dbus_proxy_get_cached_property (item->proxy_ip4,
+ "Nameservers");
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
+ "label_wireless_dns"));
+ panel_set_label_for_variant_ipv4_array (widget, nameservers);
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
+ "hbox_wireless_dns"));
+ gtk_widget_show (widget);
+
+ /* Domains = array of string */
+ //no widget
+ /* WinsServers = array of uint32 */
+ //no widget
+
} else {
ip4 = g_dbus_proxy_get_cached_property (item->proxy,
"Ip4Address");
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
+ "label_wireless_ip4"));
panel_set_label_for_variant_ipv4 (widget, ip4);
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
+ "hbox_wireless_route"));
+ gtk_widget_hide (widget);
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
+ "hbox_wireless_dns"));
+ gtk_widget_hide (widget);
}
/* set MAC */
@@ -1351,6 +1572,10 @@ panel_populate_wireless_device (PanelDeviceItem *item)
g_variant_unref (ip4);
if (ip6 != NULL)
g_variant_unref (ip6);
+ if (routes != NULL)
+ g_variant_unref (routes);
+ if (nameservers != NULL)
+ g_variant_unref (nameservers);
g_variant_unref (hw_address);
g_variant_unref (bitrate);
}
diff --git a/panels/network/network.ui b/panels/network/network.ui
index eaa26e8a3..24aa761b4 100644
--- a/panels/network/network.ui
+++ b/panels/network/network.ui
@@ -374,6 +374,141 @@
<property name="position">3</property>
</packing>
</child>
+ <child>
+ <object class="GtkHBox" id="hbox_wired_subnet">
+ <property name="visible">True</property>
+ <property name="spacing">9</property>
+ <child>
+ <object class="GtkHBox" id="hbox13">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkLabel" id="label2">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Subnet Mast:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </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_wired_subnet">
+ <property name="visible">True</property>
+ <property name="label">127.0.0.1</property>
+ <property name="selectable">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox" id="hbox_wired_route">
+ <property name="visible">True</property>
+ <property name="spacing">9</property>
+ <child>
+ <object class="GtkHBox" id="hbox19">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkLabel" id="label3">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Default Route:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </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_wired_route">
+ <property name="visible">True</property>
+ <property name="label">127.0.0.1</property>
+ <property name="selectable">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">5</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox" id="hbox_wired_dns">
+ <property name="visible">True</property>
+ <property name="spacing">9</property>
+ <child>
+ <object class="GtkHBox" id="hbox21">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkLabel" id="label4">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">DNS:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </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_wired_dns">
+ <property name="visible">True</property>
+ <property name="label">127.0.0.1</property>
+ <property name="selectable">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">6</property>
+ </packing>
+ </child>
</object>
</child>
<child type="tab">
@@ -526,6 +661,50 @@
</packing>
</child>
<child>
+ <object class="GtkHBox" id="hbox15">
+ <property name="visible">True</property>
+ <property name="spacing">9</property>
+ <child>
+ <object class="GtkHBox" id="hbox16">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkLabel" id="label15">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Network Name:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox" id="combobox_network_name">
+ <property name="visible">True</property>
+ <property name="model">liststore_wireless_network</property>
+ <property name="has_entry">True</property>
+ <property name="entry_text_column">1</property>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
<object class="GtkHBox" id="hbox_wireless_ip4">
<property name="visible">True</property>
<property name="spacing">9</property>
@@ -567,7 +746,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
- <property name="position">3</property>
+ <property name="position">4</property>
</packing>
</child>
<child>
@@ -612,20 +791,20 @@
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
- <property name="position">4</property>
+ <property name="position">5</property>
</packing>
</child>
<child>
- <object class="GtkHBox" id="hbox15">
+ <object class="GtkHBox" id="hbox_wireless_route">
<property name="visible">True</property>
<property name="spacing">9</property>
<child>
- <object class="GtkHBox" id="hbox16">
+ <object class="GtkHBox" id="hbox23">
<property name="visible">True</property>
<child>
- <object class="GtkLabel" id="label15">
+ <object class="GtkLabel" id="label8">
<property name="visible">True</property>
- <property name="label" translatable="yes">Network Name:</property>
+ <property name="label" translatable="yes">Default Route:</property>
</object>
<packing>
<property name="expand">False</property>
@@ -642,14 +821,14 @@
</packing>
</child>
<child>
- <object class="GtkComboBox" id="combobox_network_name">
+ <object class="GtkLabel" id="label_wireless_route">
<property name="visible">True</property>
- <property name="model">liststore_wireless_network</property>
- <property name="has_entry">True</property>
- <property name="entry_text_column">1</property>
+ <property name="label">127.0.0.1</property>
<property name="selectable">True</property>
</object>
<packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
@@ -657,7 +836,52 @@
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
- <property name="position">5</property>
+ <property name="position">6</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox" id="hbox_wireless_dns">
+ <property name="visible">True</property>
+ <property name="spacing">9</property>
+ <child>
+ <object class="GtkHBox" id="hbox25">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkLabel" id="label10">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">DNS:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </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_wireless_dns">
+ <property name="visible">True</property>
+ <property name="label">127.0.0.1</property>
+ <property name="selectable">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">7</property>
</packing>
</child>
</object>
@@ -999,8 +1223,8 @@
<child>
<object class="GtkLabel" id="label_vpn_group_password">
<property name="visible">True</property>
- <property name="selectable">True</property>
<property name="label">***********</property>
+ <property name="selectable">True</property>
</object>
<packing>
<property name="expand">False</property>
@@ -1044,8 +1268,8 @@
<child>
<object class="GtkLabel" id="label_vpn_username">
<property name="visible">True</property>
- <property name="selectable">True</property>
<property name="label">smithy</property>
+ <property name="selectable">True</property>
</object>
<packing>
<property name="expand">False</property>
@@ -1578,6 +1802,11 @@
<widget name="hbox47"/>
<widget name="hbox49"/>
<widget name="hbox3"/>
+ <widget name="hbox13"/>
+ <widget name="hbox19"/>
+ <widget name="hbox21"/>
+ <widget name="hbox23"/>
+ <widget name="hbox25"/>
</widgets>
</object>
<object class="GtkListStore" id="liststore_proxy_method">