# HG changeset patch # User nadvornik # Date 1248439542 0 # Node ID bda2d599cc70d8924690e832b4621a60aa096912 # Parent 81ccb9cf7ef5b53574a9ed00cf4c439d99e699b4 call gtk_tree_view_columns_autosize only when reall needed gtk_tree_view_columns_autosize is rather expensive, call it only afrer directory change or after user-requested refresh diff -r 81ccb9cf7ef5 -r bda2d599cc70 src/view_file_list.c --- a/src/view_file_list.c Fri Jul 24 12:21:23 2009 +0000 +++ b/src/view_file_list.c Fri Jul 24 12:45:42 2009 +0000 @@ -476,6 +476,7 @@ vflist_color_set(vf, VFLIST(vf)->click_fd, FALSE); vf_refresh(vf); + gtk_tree_view_columns_autosize(GTK_TREE_VIEW(vf->listview)); } void vflist_popup_destroy_cb(GtkWidget *widget, gpointer data) @@ -1714,8 +1715,6 @@ column = gtk_tree_view_get_column(GTK_TREE_VIEW(listview), FILE_VIEW_COLUMN_DATE); if (!column) return; gtk_tree_view_column_set_visible(column, !multiline); - - gtk_tree_view_columns_autosize(GTK_TREE_VIEW(listview)); } static gboolean vflist_is_multiline(ViewFile *vf) @@ -1950,6 +1949,7 @@ gboolean vflist_set_fd(ViewFile *vf, FileData *dir_fd) { + gboolean ret; if (!dir_fd) return FALSE; if (vf->dir_fd == dir_fd) return TRUE; @@ -1962,7 +1962,9 @@ filelist_free(vf->list); vf->list = NULL; - return vf_refresh(vf); + ret = vf_refresh(vf); + gtk_tree_view_columns_autosize(GTK_TREE_VIEW(vf->listview)); + return ret; } void vflist_destroy_cb(GtkWidget *widget, gpointer data)