From a67611bc6aa8ccfa67c5cb054908961d5103ab8b Mon Sep 17 00:00:00 2001 From: Carlos Garcia Campos Date: Tue, 2 Dec 2008 09:06:35 +0000 Subject: [PATCH] =?UTF-8?q?Bug=20562878=20=E2=80=93=20password=20save=20in?= =?UTF-8?q?correctly=20set=20in=20gtkmountoperation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2008-12-02 Carlos Garcia Campos Bug 562878 – password save incorrectly set in gtkmountoperation * gtk/gtkmountoperation.c (remember_button_toggled), (gtk_mount_operation_ask_password): Remember the password save flags only when the radio button becomes active. Set also the default state of the radio buttons depending on the current value of password save flags. svn path=/trunk/; revision=21840 --- ChangeLog | 10 ++++++++++ gtk/gtkmountoperation.c | 27 ++++++++++++++++++++------- 2 files changed, 30 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index ac2f7076c0..5250c77311 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2008-12-02 Carlos Garcia Campos + + Bug 562878 – password save incorrectly set in gtkmountoperation + + * gtk/gtkmountoperation.c (remember_button_toggled), + (gtk_mount_operation_ask_password): Remember the password save + flags only when the radio button becomes active. Set also the + default state of the radio buttons depending on the current value + of password save flags. + 2008-12-01 Matthias Clasen Bug 555334 – connected server feature diff --git a/gtk/gtkmountoperation.c b/gtk/gtkmountoperation.c index b33dafcedf..9172d9ef55 100644 --- a/gtk/gtkmountoperation.c +++ b/gtk/gtkmountoperation.c @@ -252,14 +252,18 @@ gtk_mount_operation_init (GtkMountOperation *operation) } static void -remember_button_toggled (GtkWidget *widget, +remember_button_toggled (GtkToggleButton *button, GtkMountOperation *operation) { GtkMountOperationPrivate *priv = operation->priv; - gpointer data; - data = g_object_get_data (G_OBJECT (widget), "password-save"); - priv->password_save = GPOINTER_TO_INT (data); + if (gtk_toggle_button_get_active (button)) + { + gpointer data; + + data = g_object_get_data (G_OBJECT (button), "password-save"); + priv->password_save = GPOINTER_TO_INT (data); + } } static void @@ -579,15 +583,20 @@ gtk_mount_operation_ask_password (GMountOperation *mount_op, if (flags & G_ASK_PASSWORD_SAVING_SUPPORTED) { - GtkWidget *choice; - GtkWidget *remember_box; - GSList *group; + GtkWidget *choice; + GtkWidget *remember_box; + GSList *group; + GPasswordSave password_save; remember_box = gtk_vbox_new (FALSE, 6); gtk_box_pack_start (GTK_BOX (vbox), remember_box, FALSE, FALSE, 0); + password_save = g_mount_operation_get_password_save (mount_op); + choice = gtk_radio_button_new_with_mnemonic (NULL, _("Forget password _immediately")); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (choice), + password_save == G_PASSWORD_SAVE_NEVER); g_object_set_data (G_OBJECT (choice), "password-save", GINT_TO_POINTER (G_PASSWORD_SAVE_NEVER)); g_signal_connect (choice, "toggled", @@ -596,6 +605,8 @@ gtk_mount_operation_ask_password (GMountOperation *mount_op, group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (choice)); choice = gtk_radio_button_new_with_mnemonic (group, _("Remember password until you _logout")); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (choice), + password_save == G_PASSWORD_SAVE_FOR_SESSION); g_object_set_data (G_OBJECT (choice), "password-save", GINT_TO_POINTER (G_PASSWORD_SAVE_FOR_SESSION)); g_signal_connect (choice, "toggled", @@ -604,6 +615,8 @@ gtk_mount_operation_ask_password (GMountOperation *mount_op, group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (choice)); choice = gtk_radio_button_new_with_mnemonic (group, _("Remember _forever")); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (choice), + password_save == G_PASSWORD_SAVE_PERMANENTLY); g_object_set_data (G_OBJECT (choice), "password-save", GINT_TO_POINTER (G_PASSWORD_SAVE_PERMANENTLY)); g_signal_connect (choice, "toggled",