From 6379395dc8f6a31f443d83e7b2145bb65f6c6875 Mon Sep 17 00:00:00 2001 From: Emilio Pozuelo Monfort Date: Mon, 25 Apr 2011 10:35:23 +0100 Subject: Populate from 'Anyone' when changing the account --- libempathy-gtk/empathy-log-window.c | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) (limited to 'libempathy-gtk') diff --git a/libempathy-gtk/empathy-log-window.c b/libempathy-gtk/empathy-log-window.c index e41049d5a..37f79b9ae 100644 --- a/libempathy-gtk/empathy-log-window.c +++ b/libempathy-gtk/empathy-log-window.c @@ -1460,10 +1460,6 @@ log_manager_got_entities_cb (GObject *manager, } } - /* Select 'Anyone' by default */ - if (gtk_tree_model_get_iter_first (model, &iter)) - gtk_tree_selection_select_iter (selection, &iter); - /* Unblock signals */ g_signal_handlers_unblock_by_func (selection, log_window_who_changed_cb, @@ -1489,6 +1485,24 @@ g_print ("get_entities_for_account\n"); log_manager_got_entities_cb, ctx); } +static void +select_first_entity (TplActionChain *chain, gpointer user_data) +{ + GtkTreeView *view; + GtkTreeModel *model; + GtkTreeSelection *selection; + GtkTreeIter iter; + + view = GTK_TREE_VIEW (log_window->treeview_who); + model = gtk_tree_view_get_model (view); + selection = gtk_tree_view_get_selection (view); + + if (gtk_tree_model_get_iter_first (model, &iter)) + gtk_tree_selection_select_iter (selection, &iter); + + _tpl_action_chain_continue (log_window->chain); +} + static void log_window_who_populate (EmpathyLogWindow *window) { @@ -1556,6 +1570,7 @@ log_window_who_populate (EmpathyLogWindow *window) g_list_free (accounts); } + _tpl_action_chain_append (window->chain, select_first_entity, NULL); _tpl_action_chain_start (window->chain); } -- cgit v1.2.3