aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>2011-04-25 17:35:23 +0800
committerEmilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>2011-04-25 19:45:21 +0800
commit6379395dc8f6a31f443d83e7b2145bb65f6c6875 (patch)
tree231ec46d26f8d5f7e01d6912ac33f31532c8e7e7
parent86f71b05736651fe61a63faace83b9599055c181 (diff)
downloadgsoc2013-empathy-6379395dc8f6a31f443d83e7b2145bb65f6c6875.tar
gsoc2013-empathy-6379395dc8f6a31f443d83e7b2145bb65f6c6875.tar.gz
gsoc2013-empathy-6379395dc8f6a31f443d83e7b2145bb65f6c6875.tar.bz2
gsoc2013-empathy-6379395dc8f6a31f443d83e7b2145bb65f6c6875.tar.lz
gsoc2013-empathy-6379395dc8f6a31f443d83e7b2145bb65f6c6875.tar.xz
gsoc2013-empathy-6379395dc8f6a31f443d83e7b2145bb65f6c6875.tar.zst
gsoc2013-empathy-6379395dc8f6a31f443d83e7b2145bb65f6c6875.zip
Populate from 'Anyone' when changing the account
-rw-r--r--libempathy-gtk/empathy-log-window.c23
1 files changed, 19 insertions, 4 deletions
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,
@@ -1490,6 +1486,24 @@ g_print ("get_entities_for_account\n");
}
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)
{
EmpathyAccountChooser *account_chooser;
@@ -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);
}