[gnome-control-center] network: Hide firewall zone combo when firewalld is not running



commit 5036ff0f8097f20eb1fb795879f537bc7caf92ea
Author: Michael Catanzaro <mcatanzaro gnome org>
Date:   Thu Mar 10 14:30:58 2016 -0600

    network: Hide firewall zone combo when firewalld is not running
    
    Currently, if firewalld is not running, then the firewall zone combo is
    always insensitive. This would make sense if firewalld was great and we
    were to consider it a distro bug to not have firewalld running and
    enabled, then users would be able to see the option is disabled and
    think "maybe my distro has done something wrong."
    
    But in actuality, firewalld is not really great, only Fedora ships it
    and we're not really recommending it to other distros. So hide the combo
    if it's not running, else it's just broken on $NOTFEDORA.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=763477

 .../network/connection-editor/ce-page-ethernet.c   |    4 +++-
 .../network/connection-editor/ce-page-security.c   |    2 +-
 panels/network/connection-editor/ce-page-vpn.c     |    4 +++-
 .../network/connection-editor/firewall-helpers.c   |    9 +++++++--
 .../network/connection-editor/firewall-helpers.h   |    1 +
 5 files changed, 15 insertions(+), 5 deletions(-)
---
diff --git a/panels/network/connection-editor/ce-page-ethernet.c 
b/panels/network/connection-editor/ce-page-ethernet.c
index 81542d4..c344787 100644
--- a/panels/network/connection-editor/ce-page-ethernet.c
+++ b/panels/network/connection-editor/ce-page-ethernet.c
@@ -68,6 +68,7 @@ connect_ethernet_page (CEPageEthernet *page)
         const GByteArray *s_mac;
         char *s_mac_str;
         GtkWidget *widget;
+        GtkWidget *heading;
         const gchar *name;
 
         name = nm_setting_connection_get_id (page->setting_connection);
@@ -118,7 +119,8 @@ connect_ethernet_page (CEPageEthernet *page)
         g_signal_connect_swapped (widget, "toggled", G_CALLBACK (ce_page_changed), page);
 
         widget = GTK_WIDGET (gtk_builder_get_object (CE_PAGE (page)->builder, "combo_zone"));
-        firewall_ui_setup (sc, widget, CE_PAGE (page)->cancellable);
+        heading = GTK_WIDGET (gtk_builder_get_object (CE_PAGE (page)->builder, "heading_zone"));
+        firewall_ui_setup (sc, widget, heading, CE_PAGE (page)->cancellable);
         g_signal_connect_swapped (widget, "changed", G_CALLBACK (ce_page_changed), page);
 
 }
diff --git a/panels/network/connection-editor/ce-page-security.c 
b/panels/network/connection-editor/ce-page-security.c
index 6375b8a..ce11e13 100644
--- a/panels/network/connection-editor/ce-page-security.c
+++ b/panels/network/connection-editor/ce-page-security.c
@@ -361,7 +361,7 @@ finish_setup (CEPageSecurity *page)
         page->firewall_combo = GTK_COMBO_BOX (gtk_builder_get_object (CE_PAGE (page)->builder, 
"combo_zone"));
 
         sc = nm_connection_get_setting_connection (CE_PAGE (page)->connection);
-        firewall_ui_setup (sc, page->firewall_combo, CE_PAGE (page)->cancellable);
+        firewall_ui_setup (sc, GTK_WIDGET (page->firewall_combo), page->firewall_heading, CE_PAGE 
(page)->cancellable);
         g_signal_connect_swapped (page->firewall_combo, "changed", G_CALLBACK (ce_page_changed), page);
 
         security_combo_changed (combo, page);
diff --git a/panels/network/connection-editor/ce-page-vpn.c b/panels/network/connection-editor/ce-page-vpn.c
index 44f33a0..12ca27d 100644
--- a/panels/network/connection-editor/ce-page-vpn.c
+++ b/panels/network/connection-editor/ce-page-vpn.c
@@ -121,6 +121,7 @@ connect_vpn_page (CEPageVpn *page)
 {
         const gchar *name;
         GtkWidget *widget;
+        GtkWidget *heading;
 
         name = nm_setting_connection_get_id (page->setting_connection);
         gtk_entry_set_text (page->name, name);
@@ -134,7 +135,8 @@ connect_vpn_page (CEPageVpn *page)
                           G_CALLBACK (all_user_changed), page);
 
         widget = GTK_WIDGET (gtk_builder_get_object (CE_PAGE (page)->builder, "combo_zone"));
-        firewall_ui_setup (page->setting_connection, widget, CE_PAGE (page)->cancellable);
+        heading = GTK_WIDGET (gtk_builder_get_object (CE_PAGE (page)->builder, "heading_zone"));
+        firewall_ui_setup (page->setting_connection, widget, heading, CE_PAGE (page)->cancellable);
         g_signal_connect_swapped (widget, "changed", G_CALLBACK (ce_page_changed), page);
 
 }
diff --git a/panels/network/connection-editor/firewall-helpers.c 
b/panels/network/connection-editor/firewall-helpers.c
index 9d8357c..2e2c29f 100644
--- a/panels/network/connection-editor/firewall-helpers.c
+++ b/panels/network/connection-editor/firewall-helpers.c
@@ -27,6 +27,7 @@
 typedef struct {
         gchar *zone;
         GtkWidget *combo;
+        GtkWidget *label;
 } GetZonesReplyData;
 
 static void
@@ -50,11 +51,13 @@ get_zones_reply (GObject      *source,
 
         idx = 0;
         if (error) {
-                gtk_widget_set_sensitive (d->combo, FALSE);
+                gtk_widget_hide (d->combo);
+                gtk_widget_hide (d->label);
                 g_error_free (error);
         }
         else {
-                gtk_widget_set_sensitive (d->combo, TRUE);
+                gtk_widget_show (d->combo);
+                gtk_widget_show (d->label);
                 g_variant_get (ret, "(^a&s)", &zones);
 
                 for (i = 0; zones[i]; i++) {
@@ -79,6 +82,7 @@ get_zones_reply (GObject      *source,
 void
 firewall_ui_setup (NMSettingConnection *setting,
                    GtkWidget           *combo,
+                   GtkWidget           *label,
                    GCancellable        *cancellable)
 {
         GDBusConnection *bus;
@@ -89,6 +93,7 @@ firewall_ui_setup (NMSettingConnection *setting,
         d = g_new0 (GetZonesReplyData, 1);
         d->zone = g_strdup (nm_setting_connection_get_zone (setting));
         d->combo = combo;
+        d->label = label;
 
         g_dbus_connection_call (bus,
                                 "org.fedoraproject.FirewallD1",
diff --git a/panels/network/connection-editor/firewall-helpers.h 
b/panels/network/connection-editor/firewall-helpers.h
index 61ebe80..74473bd 100644
--- a/panels/network/connection-editor/firewall-helpers.h
+++ b/panels/network/connection-editor/firewall-helpers.h
@@ -24,6 +24,7 @@
 
 void firewall_ui_setup      (NMSettingConnection *setting,
                              GtkWidget           *combo,
+                             GtkWidget           *label,
                              GCancellable        *cancellable);
 void firewall_ui_to_setting (NMSettingConnection *setting,
                              GtkWidget           *combo);


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