aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorFelix Kaser <f.kaser@gmx.net>2009-12-28 20:03:12 +0800
committerFelix Kaser <f.kaser@gmx.net>2010-01-11 22:03:26 +0800
commitb7fd289a92a01ba588ce29b9499f220d6d6c342f (patch)
treec683eab70a312b98c0d9c5ceb03fc65ffc870a54 /src
parent374c27a1f5f71a1ed8f9a1cfd05bab58ba8a8fc9 (diff)
downloadgsoc2013-empathy-b7fd289a92a01ba588ce29b9499f220d6d6c342f.tar
gsoc2013-empathy-b7fd289a92a01ba588ce29b9499f220d6d6c342f.tar.gz
gsoc2013-empathy-b7fd289a92a01ba588ce29b9499f220d6d6c342f.tar.bz2
gsoc2013-empathy-b7fd289a92a01ba588ce29b9499f220d6d6c342f.tar.lz
gsoc2013-empathy-b7fd289a92a01ba588ce29b9499f220d6d6c342f.tar.xz
gsoc2013-empathy-b7fd289a92a01ba588ce29b9499f220d6d6c342f.tar.zst
gsoc2013-empathy-b7fd289a92a01ba588ce29b9499f220d6d6c342f.zip
connect to signals when account has been created
when a new account is created the signals presence-changed and status-changed of the account are connected to update the treeview icon and status infobar
Diffstat (limited to 'src')
-rw-r--r--src/empathy-accounts-dialog.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/empathy-accounts-dialog.c b/src/empathy-accounts-dialog.c
index a99c5d3d0..edec6008d 100644
--- a/src/empathy-accounts-dialog.c
+++ b/src/empathy-accounts-dialog.c
@@ -159,6 +159,20 @@ static void accounts_dialog_add (EmpathyAccountsDialog *dialog,
static void accounts_dialog_model_set_selected (EmpathyAccountsDialog *dialog,
EmpathyAccountSettings *settings);
+static void accounts_dialog_connection_changed_cb (TpAccount *account,
+ guint old_status,
+ guint current,
+ guint reason,
+ gchar *dbus_error_name,
+ GHashTable *details,
+ EmpathyAccountsDialog *dialog);
+
+static void accounts_dialog_presence_changed_cb (TpAccount *account,
+ guint presence,
+ gchar *status,
+ gchar *status_message,
+ EmpathyAccountsDialog *dialog);
+
static void
accounts_dialog_update_name_label (EmpathyAccountsDialog *dialog,
const gchar *display_name)
@@ -359,6 +373,7 @@ empathy_account_dialog_widget_cancelled_cb (
static void
empathy_account_dialog_account_created_cb (EmpathyAccountWidget *widget_object,
+ TpAccount *account,
EmpathyAccountsDialog *dialog)
{
gchar *display_name;
@@ -382,6 +397,11 @@ empathy_account_dialog_account_created_cb (EmpathyAccountWidget *widget_object,
gtk_widget_set_sensitive (priv->button_add, TRUE);
gtk_widget_set_sensitive (priv->button_import, TRUE);
+ empathy_signal_connect_weak (account, "status-changed",
+ G_CALLBACK (accounts_dialog_connection_changed_cb), G_OBJECT (dialog));
+ empathy_signal_connect_weak (account, "presence-changed",
+ G_CALLBACK (accounts_dialog_presence_changed_cb), G_OBJECT (dialog));
+
if (settings)
g_object_unref (settings);
}