[gnome-control-center] network: Use HasAirplaneMode to determine whether to show the switch



commit a5cdade1a759993360be703190958b47d3046ac3
Author: Jasper St. Pierre <jstpierre mecheye net>
Date:   Wed Aug 14 21:16:30 2013 -0400

    network: Use HasAirplaneMode to determine whether to show the switch
    
    Not all systems have rfkill toggles we can set; if we don't have any,
    we shouldn't show any switch at all.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=706042

 panels/network/cc-network-panel.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)
---
diff --git a/panels/network/cc-network-panel.c b/panels/network/cc-network-panel.c
index 8a469bb..c3e8ea3 100644
--- a/panels/network/cc-network-panel.c
+++ b/panels/network/cc-network-panel.c
@@ -294,8 +294,14 @@ sync_airplane_mode_switch (CcNetworkPanel *panel)
         GVariant *result;
         gboolean enabled;
 
-        result = g_dbus_proxy_get_cached_property (panel->priv->rfkill_proxy, "AirplaneMode");
+        result = g_dbus_proxy_get_cached_property (panel->priv->rfkill_proxy, "HasAirplaneMode");
+        enabled = g_variant_get_boolean (result);
 
+        gtk_widget_set_visible (GTK_WIDGET (panel->priv->rfkill_switch), enabled);
+        if (!enabled)
+                return;
+
+        result = g_dbus_proxy_get_cached_property (panel->priv->rfkill_proxy, "AirplaneMode");
         enabled = g_variant_get_boolean (result);
        if (enabled != gtk_switch_get_active (panel->priv->rfkill_switch)) {
                g_signal_handlers_block_by_func (panel->priv->rfkill_switch,


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