From 44cf5060534292b10ffe4f06cd35cf7c1387f3a4 Mon Sep 17 00:00:00 2001
From: Tristan Matthews <tristan.matthews@savoirfairelinux.com>
Date: Tue, 24 Apr 2012 16:14:22 -0400
Subject: [PATCH] * #9959: disable stun server entry instead of hiding it

This allows for more intuitive editing by the user.
---
 gnome/src/config/accountconfigdialog.c | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/gnome/src/config/accountconfigdialog.c b/gnome/src/config/accountconfigdialog.c
index b76ac0942f..907118ca0d 100644
--- a/gnome/src/config/accountconfigdialog.c
+++ b/gnome/src/config/accountconfigdialog.c
@@ -500,8 +500,7 @@ static void use_sip_tls_cb(GtkWidget *widget, gpointer data)
         gtk_widget_set_sensitive(use_stun_check_box, FALSE);
         gtk_widget_set_sensitive(same_as_local_radio_button, TRUE);
         gtk_widget_set_sensitive(published_addr_radio_button, TRUE);
-        gtk_widget_hide(stun_server_label);
-        gtk_widget_hide(stun_server_entry);
+        gtk_widget_set_sensitive(stun_server_entry, FALSE);
 
         if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(same_as_local_radio_button))) {
             gtk_widget_show(published_address_entry);
@@ -518,6 +517,7 @@ static void use_sip_tls_cb(GtkWidget *widget, gpointer data)
             gtk_widget_set_sensitive(published_addr_radio_button, FALSE);
             gtk_widget_show(stun_server_label);
             gtk_widget_show(stun_server_entry);
+            gtk_widget_set_sensitive(stun_server_entry, TRUE);
             gtk_widget_hide(published_address_entry);
             gtk_widget_hide(published_port_spin_box);
             gtk_widget_hide(published_address_label);
@@ -525,8 +525,7 @@ static void use_sip_tls_cb(GtkWidget *widget, gpointer data)
         } else {
             gtk_widget_set_sensitive(same_as_local_radio_button, TRUE);
             gtk_widget_set_sensitive(published_addr_radio_button, TRUE);
-            gtk_widget_hide(stun_server_label);
-            gtk_widget_hide(stun_server_entry);
+            gtk_widget_set_sensitive(stun_server_entry, FALSE);
         }
     }
 }
@@ -604,6 +603,7 @@ static void use_stun_cb(GtkWidget *widget, gpointer data UNUSED)
         DEBUG("Config: Showing stun options, hiding Local/Published info");
         gtk_widget_show(stun_server_label);
         gtk_widget_show(stun_server_entry);
+        gtk_widget_set_sensitive(stun_server_entry, TRUE);
         gtk_widget_set_sensitive(same_as_local_radio_button, FALSE);
         gtk_widget_set_sensitive(published_addr_radio_button, FALSE);
 
@@ -612,9 +612,8 @@ static void use_stun_cb(GtkWidget *widget, gpointer data UNUSED)
         gtk_widget_hide(published_address_entry);
         gtk_widget_hide(published_port_spin_box);
     } else {
-        DEBUG("Config: hiding stun options, showing Local/Published info");
-        gtk_widget_hide(stun_server_label);
-        gtk_widget_hide(stun_server_entry);
+        DEBUG("Config: disabling stun options, showing Local/Published info");
+        gtk_widget_set_sensitive(stun_server_entry, FALSE);
         gtk_widget_set_sensitive(same_as_local_radio_button, TRUE);
         gtk_widget_set_sensitive(published_addr_radio_button, TRUE);
 
-- 
GitLab