summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Catanzaro <mcatanzaro@gnome.org>2016-08-02 12:20:12 -0500
committerBeniamino Galvani <bgalvani@redhat.com>2016-09-08 09:59:58 +0200
commit990a13d92ae832e49c330bf98913918deec60adf (patch)
tree63809d32241ec694e8e4cf9cffd743c83026f164
parent91957dc4f15920f4e4bec0026d7c8788bcda6ae6 (diff)
downloadnetwork-manager-applet-990a13d92ae832e49c330bf98913918deec60adf.tar.gz
c-e: 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=769446
-rw-r--r--src/connection-editor/ce-page-general.ui2
-rw-r--r--src/connection-editor/page-general.c17
2 files changed, 8 insertions, 11 deletions
diff --git a/src/connection-editor/ce-page-general.ui b/src/connection-editor/ce-page-general.ui
index fe49af58..ab0a453c 100644
--- a/src/connection-editor/ce-page-general.ui
+++ b/src/connection-editor/ce-page-general.ui
@@ -91,7 +91,7 @@
<property name="spacing">6</property>
<child>
<object class="GtkLabel" id="firewall_zone_label">
- <property name="visible">True</property>
+ <property name="visible">False</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Firewall _zone:</property>
diff --git a/src/connection-editor/page-general.c b/src/connection-editor/page-general.c
index 3b8b0022..a0275647 100644
--- a/src/connection-editor/page-general.c
+++ b/src/connection-editor/page-general.c
@@ -34,6 +34,7 @@ typedef struct {
GDBusProxy *fw_proxy;
GCancellable *cancellable;
GtkComboBoxText *firewall_zone;
+ GtkLabel *firewall_zone_label;
char **zones;
gboolean got_zones;
@@ -49,8 +50,7 @@ typedef struct {
/* TRANSLATORS: Default zone set for firewall, when no zone is selected */
#define FIREWALL_ZONE_DEFAULT _("Default")
-#define FIREWALL_ZONE_TOOLTIP_AVAILBALE _("The zone defines the trust level of the connection. Default is not a regular zone, selecting it results in the use of the default zone set in the firewall. Only usable if firewalld is active.")
-#define FIREWALL_ZONE_TOOLTIP_UNAVAILBALE _("FirewallD is not running.")
+#define FIREWALL_ZONE_TOOLTIP _("The zone defines the trust level of the connection. Default is not a regular zone, selecting it results in the use of the default zone set in the firewall. Only usable if firewalld is active.")
enum {
COL_ID,
@@ -132,7 +132,6 @@ general_private_init (CEPageGeneral *self)
CEPageGeneralPrivate *priv = CE_PAGE_GENERAL_GET_PRIVATE (self);
GtkBuilder *builder;
GtkWidget *vbox;
- GtkLabel *label;
builder = CE_PAGE (self)->builder;
@@ -141,7 +140,6 @@ general_private_init (CEPageGeneral *self)
vbox = GTK_WIDGET (gtk_builder_get_object (builder, "firewall_zone_vbox"));
gtk_container_add (GTK_CONTAINER (vbox), GTK_WIDGET (priv->firewall_zone));
- gtk_widget_show_all (GTK_WIDGET (priv->firewall_zone));
/* Get zones from FirewallD */
priv->cancellable = g_cancellable_new ();
@@ -156,8 +154,8 @@ general_private_init (CEPageGeneral *self)
self);
/* Set mnemonic widget for device Firewall zone label */
- label = GTK_LABEL (gtk_builder_get_object (builder, "firewall_zone_label"));
- gtk_label_set_mnemonic_widget (label, GTK_WIDGET (priv->firewall_zone));
+ priv->firewall_zone_label = GTK_LABEL (gtk_builder_get_object (builder, "firewall_zone_label"));
+ gtk_label_set_mnemonic_widget (priv->firewall_zone_label, GTK_WIDGET (priv->firewall_zone));
/*-- Dependent VPN connection --*/
priv->dependent_vpn_checkbox = GTK_TOGGLE_BUTTON (gtk_builder_get_object (builder, "dependent_vpn_checkbox"));
@@ -228,11 +226,10 @@ populate_firewall_zones_ui (CEPageGeneral *self)
/* Zone tooltip and availability */
if (priv->zones) {
- gtk_widget_set_tooltip_text (GTK_WIDGET (priv->firewall_zone), FIREWALL_ZONE_TOOLTIP_AVAILBALE);
+ gtk_widget_set_tooltip_text (GTK_WIDGET (priv->firewall_zone), FIREWALL_ZONE_TOOLTIP);
gtk_widget_set_sensitive (GTK_WIDGET (priv->firewall_zone), TRUE);
- } else {
- gtk_widget_set_tooltip_text (GTK_WIDGET (priv->firewall_zone), FIREWALL_ZONE_TOOLTIP_UNAVAILBALE);
- gtk_widget_set_sensitive (GTK_WIDGET (priv->firewall_zone), FALSE);
+ gtk_widget_show_all (GTK_WIDGET (priv->firewall_zone));
+ gtk_widget_show (GTK_WIDGET (priv->firewall_zone_label));
}
stuff_changed (NULL, self);