diff options
author | Emilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk> | 2011-05-03 18:55:59 +0800 |
---|---|---|
committer | Emilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk> | 2011-05-03 21:59:38 +0800 |
commit | f9ea13c0202f21d93f466ab345bf9a85c07c1a2f (patch) | |
tree | 9a3d0c99d6803f65daa8a93629059ced588c3d44 /libempathy-gtk | |
parent | f91f182a80b651c75cb737cfcefcd5285145d1dd (diff) | |
download | gsoc2013-empathy-f9ea13c0202f21d93f466ab345bf9a85c07c1a2f.tar gsoc2013-empathy-f9ea13c0202f21d93f466ab345bf9a85c07c1a2f.tar.gz gsoc2013-empathy-f9ea13c0202f21d93f466ab345bf9a85c07c1a2f.tar.bz2 gsoc2013-empathy-f9ea13c0202f21d93f466ab345bf9a85c07c1a2f.tar.lz gsoc2013-empathy-f9ea13c0202f21d93f466ab345bf9a85c07c1a2f.tar.xz gsoc2013-empathy-f9ea13c0202f21d93f466ab345bf9a85c07c1a2f.tar.zst gsoc2013-empathy-f9ea13c0202f21d93f466ab345bf9a85c07c1a2f.zip |
LogWindow: scroll the events view to the end
Where newest messages are.
Diffstat (limited to 'libempathy-gtk')
-rw-r--r-- | libempathy-gtk/empathy-log-window.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/libempathy-gtk/empathy-log-window.c b/libempathy-gtk/empathy-log-window.c index ee6260b85..c69ac2a7a 100644 --- a/libempathy-gtk/empathy-log-window.c +++ b/libempathy-gtk/empathy-log-window.c @@ -2291,9 +2291,13 @@ log_window_got_messages_for_date_cb (GObject *manager, gpointer user_data) { Ctx *ctx = user_data; + GtkTreeView *view; + GtkTreeModel *model; + GtkTreeIter iter; GList *events; GList *l; GError *error = NULL; + gint n; if (log_window == NULL) goto out; @@ -2362,6 +2366,19 @@ log_window_got_messages_for_date_cb (GObject *manager, } g_list_free (events); + view = GTK_TREE_VIEW (log_window->treeview_events); + model = gtk_tree_view_get_model (view); + n = gtk_tree_model_iter_n_children (model, NULL) - 1; + + if (n >= 0 && gtk_tree_model_iter_nth_child (model, &iter, NULL, n)) + { + GtkTreePath *path; + + path = gtk_tree_model_get_path (model, &iter); + gtk_tree_view_scroll_to_cell (view, path, NULL, FALSE, 0, 0); + gtk_tree_path_free (path); + } + out: ctx_free (ctx); |