[gnome-control-center/wifi-refinements: 15/20] network: Only show 'Out of range' when appropriate
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center/wifi-refinements: 15/20] network: Only show 'Out of range' when appropriate
- Date: Sun, 9 Sep 2012 01:10:37 +0000 (UTC)
commit a39db5427163a7122edd3e2b76aeea510bad2384
Author: Matthias Clasen <mclasen redhat com>
Date: Sat Sep 8 19:35:15 2012 -0400
network: Only show 'Out of range' when appropriate
Showing it whenever we have a saved connection goes wrong for
all items where we have both an ap and a saved connection.
Also, use the same details page for out-of-range saved connections.
panels/network/net-device-wifi.c | 42 +++++++++++++++++--------------------
panels/network/network-wifi.ui | 10 +++++---
2 files changed, 25 insertions(+), 27 deletions(-)
---
diff --git a/panels/network/net-device-wifi.c b/panels/network/net-device-wifi.c
index 8641998..2c8092f 100644
--- a/panels/network/net-device-wifi.c
+++ b/panels/network/net-device-wifi.c
@@ -71,6 +71,7 @@ enum {
COLUMN_SECURITY,
COLUMN_ACTIVE,
COLUMN_AP_IN_RANGE,
+ COLUMN_AP_OUT_OF_RANGE,
COLUMN_AP_IS_SAVED,
COLUMN_LAST
};
@@ -166,6 +167,7 @@ add_access_point (NetDeviceWifi *device_wifi, NMAccessPoint *ap, NMAccessPoint *
COLUMN_SECURITY, get_access_point_security (ap),
COLUMN_ACTIVE, is_active_ap,
COLUMN_AP_IN_RANGE, TRUE,
+ COLUMN_AP_OUT_OF_RANGE, FALSE,
COLUMN_AP_IS_SAVED, FALSE,
-1);
g_free (title);
@@ -209,6 +211,7 @@ add_connect_to_hidden (NetDeviceWifi *device_wifi)
COLUMN_MODE, NM_802_11_MODE_UNKNOWN,
COLUMN_SECURITY, NM_AP_SEC_UNKNOWN,
COLUMN_AP_IN_RANGE, FALSE,
+ COLUMN_AP_OUT_OF_RANGE, FALSE,
COLUMN_AP_IS_SAVED, FALSE,
-1);
g_free (title);
@@ -595,6 +598,7 @@ add_saved_connection (NetDeviceWifi *device_wifi, NMConnection *connection, NMDe
COLUMN_SECURITY, 0,
COLUMN_ACTIVE, FALSE,
COLUMN_AP_IN_RANGE, FALSE,
+ COLUMN_AP_OUT_OF_RANGE, TRUE,
COLUMN_AP_IS_SAVED, TRUE,
-1);
g_free (title);
@@ -680,7 +684,6 @@ nm_device_wifi_refresh_ui (NetDeviceWifi *device_wifi)
NMClient *client;
NMAccessPoint *ap;
NetDeviceWifiPrivate *priv = device_wifi->priv;
- gchar *title;
is_hotspot = device_is_hotspot (device_wifi);
if (is_hotspot) {
@@ -697,6 +700,7 @@ nm_device_wifi_refresh_ui (NetDeviceWifi *device_wifi)
else {
ap = NULL;
}
+
active_ap = nm_device_wifi_get_active_access_point (NM_DEVICE_WIFI (nm_device));
state = nm_device_get_state (nm_device);
@@ -721,7 +725,10 @@ nm_device_wifi_refresh_ui (NetDeviceWifi *device_wifi)
/* set device state, with status and optionally speed */
widget = GTK_WIDGET (gtk_builder_get_object (device_wifi->priv->builder, "label_status"));
if (ap != active_ap) {
- gtk_label_set_label (GTK_LABEL (widget), _("Not connected"));
+ if (ap)
+ gtk_label_set_label (GTK_LABEL (widget), _("Not connected"));
+ else
+ gtk_label_set_label (GTK_LABEL (widget), _("Out of range"));
gtk_widget_set_tooltip_text (widget, "");
} else {
gtk_label_set_label (GTK_LABEL (widget),
@@ -765,38 +772,27 @@ nm_device_wifi_refresh_ui (NetDeviceWifi *device_wifi)
"strength",
str);
- title = NULL;
- if (ap != NULL) {
- const GByteArray *ssid;
- ssid = nm_access_point_get_ssid (ap);
- if (ssid) {
- const gchar *ssid_text;
- ssid_text = nm_utils_escape_ssid (ssid->data, ssid->len);
- title = g_markup_escape_text (ssid_text, -1);
- }
- }
-
widget = GTK_WIDGET (gtk_builder_get_object (device_wifi->priv->builder, "label_device"));
gtk_label_set_label (GTK_LABEL (widget),
- title ? title : panel_device_to_localized_string (nm_device));
- g_free (title);
+ priv->selected_ssid_title ? priv->selected_ssid_title : panel_device_to_localized_string (nm_device));
/* only disconnect when connection active */
- if (ap != active_ap) {
+ if (ap == active_ap) {
widget = GTK_WIDGET (gtk_builder_get_object (device_wifi->priv->builder,
"button_disconnect1"));
- gtk_widget_hide (widget);
+ gtk_widget_set_sensitive (widget, state == NM_DEVICE_STATE_ACTIVATED);
+ gtk_widget_show (widget);
widget = GTK_WIDGET (gtk_builder_get_object (device_wifi->priv->builder,
"button_connect1"));
- gtk_widget_show (widget);
+ gtk_widget_hide (widget);
} else {
widget = GTK_WIDGET (gtk_builder_get_object (device_wifi->priv->builder,
"button_disconnect1"));
- gtk_widget_set_sensitive (widget, state == NM_DEVICE_STATE_ACTIVATED);
- gtk_widget_show (widget);
+ gtk_widget_hide (widget);
widget = GTK_WIDGET (gtk_builder_get_object (device_wifi->priv->builder,
"button_connect1"));
- gtk_widget_hide (widget);
+ gtk_widget_show (widget);
+ gtk_widget_set_sensitive (widget, ap != NULL);
}
/* device MAC */
@@ -1706,7 +1702,7 @@ show_wifi_details (NetDeviceWifi *device_wifi,
device_wifi->priv->selected_ssid_title, in_range);
widget = GTK_WIDGET (gtk_builder_get_object (device_wifi->priv->builder, "notebook_view"));
- if (in_range) {
+ if (TRUE) {
nm_device_wifi_refresh_ui (device_wifi);
gtk_notebook_set_current_page (GTK_NOTEBOOK (widget), 1);
goto out;
@@ -2099,7 +2095,7 @@ net_device_wifi_init (NetDeviceWifi *device_wifi)
renderer = gtk_cell_renderer_text_new ();
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (column), renderer, FALSE);
gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (column), renderer,
- "visible", COLUMN_AP_IS_SAVED,
+ "visible", COLUMN_AP_OUT_OF_RANGE,
NULL);
g_object_set (renderer,
"text", _("Out of range"),
diff --git a/panels/network/network-wifi.ui b/panels/network/network-wifi.ui
index 5809c50..a85f303 100644
--- a/panels/network/network-wifi.ui
+++ b/panels/network/network-wifi.ui
@@ -119,8 +119,6 @@
</object>
<object class="GtkListStore" id="liststore_network">
<columns>
- <!-- column-name gchararray -->
- <column type="gchararray"/>
<!-- column-name ap-id -->
<column type="gchararray"/>
<!-- column-name connection-id -->
@@ -128,17 +126,21 @@
<!-- column-name title -->
<column type="gchararray"/>
<!-- column-name sortable -->
- <column type="guint"/>
+ <column type="gchararray"/>
<!-- column-name strength -->
<column type="guint"/>
<!-- column-name mode -->
<column type="guint"/>
<!-- column-name security -->
- <column type="gboolean"/>
+ <column type="guint"/>
<!-- column-name active -->
<column type="gboolean"/>
<!-- column-name ap-in-range -->
<column type="gboolean"/>
+ <!-- column-name ap-out-of-range -->
+ <column type="gboolean"/>
+ <!-- column-name is-saved -->
+ <column type="gboolean"/>
</columns>
</object>
<object class="GtkWindow" id="window_tmp">
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]