properties: fix toggling PAP/CHAP/EAP when both MSCHAP & MSCHAP2 are unchecked (ported from PPTP)

parent f76f8d66
...@@ -105,25 +105,23 @@ handle_mppe_changed (GtkWidget *check, gboolean is_init, GtkBuilder *builder) ...@@ -105,25 +105,23 @@ handle_mppe_changed (GtkWidget *check, gboolean is_init, GtkBuilder *builder)
{ {
GtkWidget *widget; GtkWidget *widget;
gboolean use_mppe; gboolean use_mppe;
gboolean mppe_sensitive;
GtkTreeModel *model; GtkTreeModel *model;
GtkTreeIter iter; GtkTreeIter iter;
gboolean valid; gboolean valid;
mppe_sensitive = gtk_widget_get_sensitive (check);
use_mppe = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (check)); use_mppe = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (check));
/* (De)-sensitize MPPE related stuff */ /* (De)-sensitize MPPE related stuff */
widget = GTK_WIDGET (gtk_builder_get_object (builder, "ppp_mppe_security_label")); widget = GTK_WIDGET (gtk_builder_get_object (builder, "ppp_mppe_security_label"));
gtk_widget_set_sensitive (widget, use_mppe); gtk_widget_set_sensitive (widget, use_mppe && mppe_sensitive);
widget = GTK_WIDGET (gtk_builder_get_object (builder, "ppp_mppe_security_combo")); widget = GTK_WIDGET (gtk_builder_get_object (builder, "ppp_mppe_security_combo"));
if (!use_mppe) gtk_widget_set_sensitive (widget, use_mppe && mppe_sensitive);
gtk_combo_box_set_active (GTK_COMBO_BOX (widget), 0); /* default */
gtk_widget_set_sensitive (widget, use_mppe);
widget = GTK_WIDGET (gtk_builder_get_object (builder, "ppp_allow_stateful_mppe")); widget = GTK_WIDGET (gtk_builder_get_object (builder, "ppp_allow_stateful_mppe"));
if (!use_mppe) gtk_widget_set_sensitive (widget, use_mppe && mppe_sensitive);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), FALSE);
gtk_widget_set_sensitive (widget, use_mppe);
/* At dialog-setup time, don't touch the auth methods if MPPE is disabled /* At dialog-setup time, don't touch the auth methods if MPPE is disabled
* since that could overwrite the user's previously chosen auth methods. * since that could overwrite the user's previously chosen auth methods.
...@@ -147,8 +145,7 @@ handle_mppe_changed (GtkWidget *check, gboolean is_init, GtkBuilder *builder) ...@@ -147,8 +145,7 @@ handle_mppe_changed (GtkWidget *check, gboolean is_init, GtkBuilder *builder)
case TAG_PAP: case TAG_PAP:
case TAG_CHAP: case TAG_CHAP:
case TAG_EAP: case TAG_EAP:
gtk_list_store_set (GTK_LIST_STORE (model), &iter, COL_VALUE, !use_mppe, -1); gtk_list_store_set (GTK_LIST_STORE (model), &iter, COL_SENSITIVE, !(use_mppe && mppe_sensitive), -1);
gtk_list_store_set (GTK_LIST_STORE (model), &iter, COL_SENSITIVE, !use_mppe, -1);
break; break;
default: default:
break; break;
...@@ -259,13 +256,8 @@ check_toggled_cb (GtkCellRendererToggle *cell, gchar *path_str, gpointer user_da ...@@ -259,13 +256,8 @@ check_toggled_cb (GtkCellRendererToggle *cell, gchar *path_str, gpointer user_da
} }
/* Make sure MPPE is non-sensitive if MSCHAP and MSCHAPv2 are disabled */ /* Make sure MPPE is non-sensitive if MSCHAP and MSCHAPv2 are disabled */
widget = GTK_WIDGET (gtk_builder_get_object (builder, "ppp_use_mppe")); widget = GTK_WIDGET (gtk_builder_get_object (builder, "ppp_use_mppe"));
if (!mschap_state && !mschap2_state) { gtk_widget_set_sensitive (widget, mschap_state || mschap2_state);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), FALSE); mppe_toggled_cb (widget, builder);
gtk_widget_set_sensitive (widget, FALSE);
/* Make sure also MPPE security combo and stateful checkbox are non-sensitive */
mppe_toggled_cb (widget, builder);
} else
gtk_widget_set_sensitive (widget, TRUE);
} }
static void static void
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment