[empathy] account-widget: add empathy_account_widget_set_{account, password}_param



commit f82cf307e75f0446b4e590b0036a179b64862939
Author: Guillaume Desmottes <guillaume desmottes collabora co uk>
Date:   Fri Jan 15 16:13:24 2010 +0000

    account-widget: add empathy_account_widget_set_{account,password}_param
    
    This will be used to restore the account and password params when switching
    widgets.

 libempathy-gtk/empathy-account-widget.c |   32 +++++++++++++++++++++++++++++++
 libempathy-gtk/empathy-account-widget.h |    6 +++++
 2 files changed, 38 insertions(+), 0 deletions(-)
---
diff --git a/libempathy-gtk/empathy-account-widget.c b/libempathy-gtk/empathy-account-widget.c
index 99af213..52efbce 100644
--- a/libempathy-gtk/empathy-account-widget.c
+++ b/libempathy-gtk/empathy-account-widget.c
@@ -81,6 +81,9 @@ typedef struct {
 
   TpAccountManager *account_manager;
 
+  GtkWidget *param_account_widget;
+  GtkWidget *param_password_widget;
+
   gboolean dispose_run;
 } EmpathyAccountWidgetPriv;
 
@@ -397,6 +400,11 @@ empathy_account_widget_setup_widget (EmpathyAccountWidget *self,
       str = empathy_account_settings_get_string (priv->settings, param_name);
       gtk_entry_set_text (GTK_ENTRY (widget), str ? str : "");
 
+      if (!tp_strdiff (param_name, "account"))
+        priv->param_account_widget = widget;
+      else if (!tp_strdiff (param_name, "password"))
+        priv->param_password_widget = widget;
+
       if (strstr (param_name, "password"))
         {
           gtk_entry_set_visibility (GTK_ENTRY (widget), FALSE);
@@ -1872,3 +1880,27 @@ empathy_account_widget_changed (EmpathyAccountWidget *self)
   account_widget_handle_control_buttons_sensitivity (self);
   priv->contains_pending_changes = TRUE;
 }
+
+void
+empathy_account_widget_set_account_param (EmpathyAccountWidget *self,
+    const gchar *account)
+{
+  EmpathyAccountWidgetPriv *priv = GET_PRIV (self);
+
+  if (priv->param_account_widget == NULL)
+    return;
+
+  gtk_entry_set_text (GTK_ENTRY (priv->param_account_widget), account);
+}
+
+void
+empathy_account_widget_set_password_param (EmpathyAccountWidget *self,
+    const gchar *account)
+{
+  EmpathyAccountWidgetPriv *priv = GET_PRIV (self);
+
+  if (priv->param_password_widget == NULL)
+    return;
+
+  gtk_entry_set_text (GTK_ENTRY (priv->param_password_widget), account);
+}
diff --git a/libempathy-gtk/empathy-account-widget.h b/libempathy-gtk/empathy-account-widget.h
index 5b994c2..9ed9894 100644
--- a/libempathy-gtk/empathy-account-widget.h
+++ b/libempathy-gtk/empathy-account-widget.h
@@ -73,6 +73,12 @@ void empathy_account_widget_discard_pending_changes
 gchar * empathy_account_widget_get_default_display_name (
     EmpathyAccountWidget *widget);
 
+void empathy_account_widget_set_account_param (EmpathyAccountWidget *widget,
+    const gchar *account);
+
+void empathy_account_widget_set_password_param (EmpathyAccountWidget *self,
+    const gchar *password);
+
 /* protected methods */
 void empathy_account_widget_changed (EmpathyAccountWidget *widget);
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]