[Xfce4-commits] [xfce/thunar] 01/01: tree view jumps (scrolls) when clicking on a directory (Bug #15174)
noreply at xfce.org
noreply at xfce.org
Mon Mar 18 23:09:15 CET 2019
This is an automated email from the git hooks/post-receive script.
a l e x p u s h e d a c o m m i t t o b r a n c h x f c e - 4 . 1 2
in repository xfce/thunar.
commit c0d13b6a806cd25c43fe75aadf7936417a0109b8
Author: Alexander Schwinn <alexxcons at xfce.org>
Date: Mon Mar 18 23:02:01 2019 +0100
tree view jumps (scrolls) when clicking on a directory (Bug #15174)
---
thunar/thunar-tree-view.c | 17 ++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)
diff --git a/thunar/thunar-tree-view.c b/thunar/thunar-tree-view.c
index f99b394..dab4f4d 100644
--- a/thunar/thunar-tree-view.c
+++ b/thunar/thunar-tree-view.c
@@ -2510,6 +2510,7 @@ thunar_tree_view_cursor_idle (gpointer user_data)
gtk_tree_model_get_iter (GTK_TREE_MODEL (view->model), &iter, path);
gtk_tree_path_free (path);
+ path = NULL;
/* collect all ThunarFiles in the path of current_directory in a List. root is on the very left side */
for (file = view->current_directory; file != NULL; file = thunar_file_get_parent (file, NULL))
@@ -2558,11 +2559,11 @@ thunar_tree_view_cursor_idle (gpointer user_data)
gtk_tree_model_get (GTK_TREE_MODEL (view->model), &child_iter, THUNAR_TREE_MODEL_COLUMN_FILE, &file_in_tree, -1);
if (file == file_in_tree)
{
+ if (path != NULL)
+ gtk_tree_path_free (path);
g_object_unref (file_in_tree);
+ /* always remember latest known path, so we can set the cursor to it */
path = gtk_tree_model_get_path (GTK_TREE_MODEL (view->model), &child_iter);
- gtk_tree_view_expand_to_path (GTK_TREE_VIEW (view), path);
- gtk_tree_view_set_cursor (GTK_TREE_VIEW (view), path, NULL, FALSE);
- gtk_tree_path_free (path);
iter = child_iter; /* next tree level */
break;
}
@@ -2574,6 +2575,16 @@ thunar_tree_view_cursor_idle (gpointer user_data)
}
}
+ if (path == NULL)
+ path = thunar_tree_view_get_preferred_toplevel_path (view, view->current_directory);
+
+ if (path != NULL)
+ {
+ gtk_tree_view_expand_to_path (GTK_TREE_VIEW (view), path);
+ gtk_tree_view_set_cursor (GTK_TREE_VIEW (view), path, NULL, FALSE);
+ gtk_tree_path_free (path);
+ }
+
/* tidy up */
for (lp = path_as_list; lp != NULL; lp = lp->next)
{
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the Xfce4-commits
mailing list