summaryrefslogtreecommitdiff
path: root/gtk/gtkmountoperation.c
diff options
context:
space:
mode:
authorCarlos Garcia Campos <carlosgc@gnome.org>2008-12-02 09:06:35 +0000
committerCarlos Garcia Campos <carlosgc@src.gnome.org>2008-12-02 09:06:35 +0000
commita67611bc6aa8ccfa67c5cb054908961d5103ab8b (patch)
treea8282ae87d67fb644b13b4551808c8054f960a21 /gtk/gtkmountoperation.c
parent43c0ce8971bba8d1606a6312ee7d32d5c149042e (diff)
downloadgtk+-a67611bc6aa8ccfa67c5cb054908961d5103ab8b.tar.gz
Bug 562878 – password save incorrectly set in gtkmountoperation
2008-12-02 Carlos Garcia Campos <carlosgc@gnome.org> 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
Diffstat (limited to 'gtk/gtkmountoperation.c')
-rw-r--r--gtk/gtkmountoperation.c27
1 files changed, 20 insertions, 7 deletions
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",