From bdfa8609af4d7f2bc7cbf8e3b4e762e770fee192 Mon Sep 17 00:00:00 2001 From: Jonny Lamb Date: Wed, 8 Dec 2010 12:42:36 +0000 Subject: account-widget: hook up the remember password toggle button Signed-off-by: Jonny Lamb --- libempathy-gtk/empathy-account-widget.c | 38 +++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'libempathy-gtk') diff --git a/libempathy-gtk/empathy-account-widget.c b/libempathy-gtk/empathy-account-widget.c index a32666325..28bedd324 100644 --- a/libempathy-gtk/empathy-account-widget.c +++ b/libempathy-gtk/empathy-account-widget.c @@ -1704,6 +1704,24 @@ add_register_buttons (EmpathyAccountWidget *self, } #endif /* HAVE_MEEGO */ +static void +remember_password_toggled_cb (GtkToggleButton *button, + EmpathyAccountWidget *self) +{ + EmpathyAccountWidgetPriv *priv = GET_PRIV (self); + + if (gtk_toggle_button_get_active (button)) + { + gtk_widget_set_sensitive (priv->param_password_widget, TRUE); + } + else + { + gtk_widget_set_sensitive (priv->param_password_widget, FALSE); + gtk_entry_set_text (GTK_ENTRY (priv->param_password_widget), ""); + empathy_account_settings_unset (priv->settings, "password"); + } +} + static void do_constructed (GObject *obj) { @@ -1770,6 +1788,26 @@ do_constructed (GObject *obj) NULL); } + /* remember password */ + if (priv->param_password_widget != NULL) + { + GObject *button; + + button = gtk_builder_get_object ( + self->ui_details->gui, "remember_password"); + + if (button != NULL) + { + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), + !EMP_STR_EMPTY (empathy_account_settings_get_string ( + priv->settings, "password"))); + + g_signal_connect (button, "toggled", + G_CALLBACK (remember_password_toggled_cb), self); + remember_password_toggled_cb (GTK_TOGGLE_BUTTON (button), self); + } + } + /* dup and init the account-manager */ priv->account_manager = tp_account_manager_dup (); -- cgit v1.2.3