aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2010-01-15 18:48:15 +0800
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2010-01-18 19:04:00 +0800
commitefcf558673f83faf9621fe644ea1c20c78756d9f (patch)
treee1112450b663d35d2147d0f1610d3845cf2217ee
parente7dc37cd2c4be8c8ab892bfcebf57249c4a15460 (diff)
downloadgsoc2013-empathy-efcf558673f83faf9621fe644ea1c20c78756d9f.tar
gsoc2013-empathy-efcf558673f83faf9621fe644ea1c20c78756d9f.tar.gz
gsoc2013-empathy-efcf558673f83faf9621fe644ea1c20c78756d9f.tar.bz2
gsoc2013-empathy-efcf558673f83faf9621fe644ea1c20c78756d9f.tar.lz
gsoc2013-empathy-efcf558673f83faf9621fe644ea1c20c78756d9f.tar.xz
gsoc2013-empathy-efcf558673f83faf9621fe644ea1c20c78756d9f.tar.zst
gsoc2013-empathy-efcf558673f83faf9621fe644ea1c20c78756d9f.zip
update treeview when account's status is changed
-rw-r--r--src/empathy-accounts-dialog.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/empathy-accounts-dialog.c b/src/empathy-accounts-dialog.c
index 15e6796e5..984604223 100644
--- a/src/empathy-accounts-dialog.c
+++ b/src/empathy-accounts-dialog.c
@@ -1471,6 +1471,25 @@ accounts_dialog_connection_changed_cb (TpAccount *account,
}
static void
+update_account_in_treeview (EmpathyAccountsDialog *self,
+ TpAccount *account)
+{
+ EmpathyAccountsDialogPriv *priv = GET_PRIV (self);
+ GtkTreeIter iter;
+ GtkTreeModel *model;
+
+ model = gtk_tree_view_get_model (GTK_TREE_VIEW (priv->treeview));
+ if (accounts_dialog_get_account_iter (self, account, &iter))
+ {
+ GtkTreePath *path;
+
+ path = gtk_tree_model_get_path (model, &iter);
+ gtk_tree_model_row_changed (model, path, &iter);
+ gtk_tree_path_free (path);
+ }
+}
+
+static void
accounts_dialog_presence_changed_cb (TpAccount *account,
guint presence,
gchar *status,
@@ -1479,6 +1498,8 @@ accounts_dialog_presence_changed_cb (TpAccount *account,
{
/* Update the status-infobar in the details view */
accounts_dialog_update_status_infobar (dialog, account);
+
+ update_account_in_treeview (dialog, account);
}
static void