aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy-gtk
diff options
context:
space:
mode:
authorJonny Lamb <jonnylamb@gnome.org>2010-12-08 20:42:36 +0800
committerJonny Lamb <jonnylamb@gnome.org>2011-01-26 21:32:14 +0800
commitbdfa8609af4d7f2bc7cbf8e3b4e762e770fee192 (patch)
treed44d17396776bfca6d40a9e59eec72682672053b /libempathy-gtk
parent734ec37772f59a96a581b54104e83b0d571c746e (diff)
downloadgsoc2013-empathy-bdfa8609af4d7f2bc7cbf8e3b4e762e770fee192.tar
gsoc2013-empathy-bdfa8609af4d7f2bc7cbf8e3b4e762e770fee192.tar.gz
gsoc2013-empathy-bdfa8609af4d7f2bc7cbf8e3b4e762e770fee192.tar.bz2
gsoc2013-empathy-bdfa8609af4d7f2bc7cbf8e3b4e762e770fee192.tar.lz
gsoc2013-empathy-bdfa8609af4d7f2bc7cbf8e3b4e762e770fee192.tar.xz
gsoc2013-empathy-bdfa8609af4d7f2bc7cbf8e3b4e762e770fee192.tar.zst
gsoc2013-empathy-bdfa8609af4d7f2bc7cbf8e3b4e762e770fee192.zip
account-widget: hook up the remember password toggle button
Signed-off-by: Jonny Lamb <jonnylamb@gnome.org>
Diffstat (limited to 'libempathy-gtk')
-rw-r--r--libempathy-gtk/empathy-account-widget.c38
1 files changed, 38 insertions, 0 deletions
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
@@ -1705,6 +1705,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)
{
EmpathyAccountWidget *self = EMPATHY_ACCOUNT_WIDGET (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 ();