diff options
author | Emilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk> | 2011-04-25 17:35:23 +0800 |
---|---|---|
committer | Emilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk> | 2011-04-25 19:45:21 +0800 |
commit | 6379395dc8f6a31f443d83e7b2145bb65f6c6875 (patch) | |
tree | 231ec46d26f8d5f7e01d6912ac33f31532c8e7e7 | |
parent | 86f71b05736651fe61a63faace83b9599055c181 (diff) | |
download | gsoc2013-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.c | 23 |
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); } |