diff src/view_dir_tree.c @ 1628:66bf394d162a

simplified the code around vd_select_row
author nadvornik
date Fri, 05 Jun 2009 21:52:37 +0000
parents 24a12aa0cb54
children 0a72cb859b49
line wrap: on
line diff
--- a/src/view_dir_tree.c	Thu Jun 04 21:07:03 2009 +0000
+++ b/src/view_dir_tree.c	Fri Jun 05 21:52:37 2009 +0000
@@ -676,29 +676,6 @@
 	return selection_is_ok;
 }
 
-void vdtree_select_row(ViewDir *vd, FileData *fd)
-{
-	GtkTreeSelection *selection;
-	GtkTreeIter iter;
-
-	if (!vd_find_row(vd, fd, &iter)) return;
-	selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(vd->view));
-
-	/* hack, such that selection is only allowed to be changed from here */
-	selection_is_ok = TRUE;
-	gtk_tree_selection_select_iter(selection, &iter);
-	selection_is_ok = FALSE;
-
-	if (!vdtree_populate_path_by_iter(vd, &iter, FALSE, vd->dir_fd)) return;
-
-	vdtree_expand_by_iter(vd, &iter, TRUE);
-
-	if (fd && vd->select_func)
-		{
-		vd->select_func(vd, fd->path, vd->select_data);
-		}
-}
-
 gboolean vdtree_set_fd(ViewDir *vd, FileData *dir_fd)
 {
 	FileData *fd;
@@ -718,15 +695,21 @@
 		{
 		GtkTreeModel *store;
 		GtkTreePath *tpath;
-
-		tree_view_row_make_visible(GTK_TREE_VIEW(vd->view), &iter, TRUE);
+		GtkTreeSelection *selection;
 
 		store = gtk_tree_view_get_model(GTK_TREE_VIEW(vd->view));
 		tpath = gtk_tree_model_get_path(store, &iter);
 		gtk_tree_view_set_cursor(GTK_TREE_VIEW(vd->view), tpath, NULL, FALSE);
 		gtk_tree_path_free(tpath);
 
-		vdtree_select_row(vd, fd);
+		selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(vd->view));
+
+		/* hack, such that selection is only allowed to be changed from here */
+		selection_is_ok = TRUE;
+		gtk_tree_selection_select_iter(selection, &iter);
+		selection_is_ok = FALSE;
+
+		tree_view_row_make_visible(GTK_TREE_VIEW(vd->view), &iter, TRUE);
 		}
 
 	return TRUE;