From aa549c4790e7d7cdeb7f858008759faa5369b4df Mon Sep 17 00:00:00 2001 From: Jonny Lamb Date: Wed, 8 Dec 2010 12:58:54 +0000 Subject: account-widget: handle the remember password widget with the simple widget Signed-off-by: Jonny Lamb --- libempathy-gtk/empathy-account-widget-yahoo.ui | 34 +++++++++++++++++++++++- libempathy-gtk/empathy-account-widget.c | 36 +++++++++++++++++--------- 2 files changed, 57 insertions(+), 13 deletions(-) (limited to 'libempathy-gtk') diff --git a/libempathy-gtk/empathy-account-widget-yahoo.ui b/libempathy-gtk/empathy-account-widget-yahoo.ui index acc60de74..16044f3c8 100644 --- a/libempathy-gtk/empathy-account-widget-yahoo.ui +++ b/libempathy-gtk/empathy-account-widget-yahoo.ui @@ -16,7 +16,7 @@ True - 3 + 4 2 12 6 @@ -91,6 +91,25 @@ 2 + + + Remember Password + True + True + False + True + True + + + 1 + 2 + 3 + 4 + + + + + @@ -357,5 +376,18 @@ 3 + + + Remember password + True + True + False + True + True + + + 4 + + diff --git a/libempathy-gtk/empathy-account-widget.c b/libempathy-gtk/empathy-account-widget.c index 28bedd324..1cc0f9f82 100644 --- a/libempathy-gtk/empathy-account-widget.c +++ b/libempathy-gtk/empathy-account-widget.c @@ -88,6 +88,8 @@ typedef struct { GtkWidget *param_account_widget; GtkWidget *param_password_widget; + GtkWidget *remember_password_widget; + /* Used only for IRC accounts */ EmpathyIrcNetworkChooser *irc_network_chooser; @@ -1318,6 +1320,9 @@ account_widget_build_yahoo (EmpathyAccountWidget *self, NULL); self->ui_details->default_focus = g_strdup ("entry_id_simple"); + + priv->remember_password_widget = GTK_WIDGET (gtk_builder_get_object ( + self->ui_details->gui, "remember_password_simple")); } else { @@ -1337,6 +1342,9 @@ account_widget_build_yahoo (EmpathyAccountWidget *self, NULL); self->ui_details->default_focus = g_strdup ("entry_id"); + + priv->remember_password_widget = GTK_WIDGET (gtk_builder_get_object ( + self->ui_details->gui, "remember_password")); } } @@ -1789,23 +1797,27 @@ do_constructed (GObject *obj) } /* remember password */ - if (priv->param_password_widget != NULL) + if (priv->param_password_widget != NULL + && priv->remember_password_widget != NULL) { - GObject *button; - - button = gtk_builder_get_object ( - self->ui_details->gui, "remember_password"); - - if (button != NULL) + if (priv->simple) { - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), + gtk_toggle_button_set_active ( + GTK_TOGGLE_BUTTON (priv->remember_password_widget), TRUE); + } + else + { + gtk_toggle_button_set_active ( + GTK_TOGGLE_BUTTON (priv->remember_password_widget), !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); } + + g_signal_connect (priv->remember_password_widget, "toggled", + G_CALLBACK (remember_password_toggled_cb), self); + + remember_password_toggled_cb ( + GTK_TOGGLE_BUTTON (priv->remember_password_widget), self); } /* dup and init the account-manager */ -- cgit v1.2.3