aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDanielle Madeley <danielle.madeley@collabora.co.uk>2011-03-15 17:08:56 +0800
committerEmilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>2011-04-08 18:41:30 +0800
commit37531fcfbc7b2aa84087165593dae4fc8ccec20b (patch)
tree42a806b4dda5377187621326e7f5c7cdf56c6777
parent9c2e0d2b3b7e86e21c23c5a17eeaa8da24388b6a (diff)
downloadgsoc2013-empathy-37531fcfbc7b2aa84087165593dae4fc8ccec20b.tar
gsoc2013-empathy-37531fcfbc7b2aa84087165593dae4fc8ccec20b.tar.gz
gsoc2013-empathy-37531fcfbc7b2aa84087165593dae4fc8ccec20b.tar.bz2
gsoc2013-empathy-37531fcfbc7b2aa84087165593dae4fc8ccec20b.tar.lz
gsoc2013-empathy-37531fcfbc7b2aa84087165593dae4fc8ccec20b.tar.xz
gsoc2013-empathy-37531fcfbc7b2aa84087165593dae4fc8ccec20b.tar.zst
gsoc2013-empathy-37531fcfbc7b2aa84087165593dae4fc8ccec20b.zip
Set Apply/Cancel buttons sensitive when password is changed
-rw-r--r--libempathy-gtk/empathy-account-widget-skype.c26
1 files changed, 17 insertions, 9 deletions
diff --git a/libempathy-gtk/empathy-account-widget-skype.c b/libempathy-gtk/empathy-account-widget-skype.c
index 3775d7b57..d21ecf50c 100644
--- a/libempathy-gtk/empathy-account-widget-skype.c
+++ b/libempathy-gtk/empathy-account-widget-skype.c
@@ -423,18 +423,26 @@ account_widget_build_skype_account_properties_changed_cb (TpProxy *account,
static gboolean
account_widget_build_skype_password_entry_focus (GtkWidget *password_entry,
GdkEventFocus *event,
- gpointer user_data)
+ EmpathyAccountWidget *self)
{
- if (g_object_get_data (G_OBJECT (password_entry), "fake-password") == NULL)
- return;
+ EmpathyAccountWidgetPriv *priv = GET_PRIV (self);
+ TpAccount *account = empathy_account_settings_get_account (priv->settings);
- DEBUG ("Clearing fake password for editing");
+ if (g_object_get_data (G_OBJECT (password_entry), "fake-password") != NULL)
+ {
+ DEBUG ("Clearing fake password for editing");
- gtk_entry_set_text (GTK_ENTRY (password_entry), "");
- g_object_set_data (G_OBJECT (password_entry), "fake-password",
- GUINT_TO_POINTER (FALSE));
+ gtk_entry_set_text (GTK_ENTRY (password_entry), "");
+ g_object_set_data (G_OBJECT (password_entry), "fake-password",
+ GUINT_TO_POINTER (FALSE));
+ }
- /* FIXME: need to light up the apply/cancel buttons */
+ if (tp_account_is_enabled (account))
+ {
+ DEBUG ("Highlighting Apply/Cancel button");
+
+ empathy_account_widget_changed (self);
+ }
return FALSE;
}
@@ -830,7 +838,7 @@ empathy_account_widget_build_skype (EmpathyAccountWidget *self,
/* if the user changes the password, it's probably no longer a fake
* password */
g_signal_connect (password_entry, "focus-in-event",
- G_CALLBACK (account_widget_build_skype_password_entry_focus), NULL);
+ G_CALLBACK (account_widget_build_skype_password_entry_focus), self);
}
gboolean