Mercurial > geeqie.yaz
comparison src/view_dir_tree.c @ 1628:738b70daa3af
do not call signal handler from vdtree_row_expanded
it fixes tree view for user-entered hidden directories
author | nadvornik |
---|---|
date | Sat, 06 Jun 2009 15:33:56 +0000 |
parents | 909bf83bf9a4 |
children | f8503019ac38 |
comparison
equal
deleted
inserted
replaced
1627:909bf83bf9a4 | 1628:738b70daa3af |
---|---|
38 gchar *name; | 38 gchar *name; |
39 FileData *node; | 39 FileData *node; |
40 }; | 40 }; |
41 | 41 |
42 | 42 |
43 static void vdtree_row_expanded(GtkTreeView *treeview, GtkTreeIter *iter, GtkTreePath *tpath, gpointer data); | |
43 | 44 |
44 | 45 |
45 /* | 46 /* |
46 *---------------------------------------------------------------------------- | 47 *---------------------------------------------------------------------------- |
47 * utils | 48 * utils |
124 GtkTreeModel *store; | 125 GtkTreeModel *store; |
125 GtkTreePath *tpath; | 126 GtkTreePath *tpath; |
126 | 127 |
127 store = gtk_tree_view_get_model(GTK_TREE_VIEW(vd->view)); | 128 store = gtk_tree_view_get_model(GTK_TREE_VIEW(vd->view)); |
128 tpath = gtk_tree_model_get_path(store, iter); | 129 tpath = gtk_tree_model_get_path(store, iter); |
130 | |
129 if (expand) | 131 if (expand) |
130 { | 132 { |
133 /* block signal handler, icon is set here, the caller of vdtree_expand_by_iter must make sure | |
134 that the iter is populated */ | |
135 g_signal_handlers_block_by_func(G_OBJECT(vd->view), vdtree_row_expanded, vd); | |
131 gtk_tree_view_expand_row(GTK_TREE_VIEW(vd->view), tpath, FALSE); | 136 gtk_tree_view_expand_row(GTK_TREE_VIEW(vd->view), tpath, FALSE); |
132 vdtree_icon_set_by_iter(vd, iter, vd->pf->open); | 137 vdtree_icon_set_by_iter(vd, iter, vd->pf->open); |
138 g_signal_handlers_unblock_by_func(G_OBJECT(vd->view), vdtree_row_expanded, vd); | |
133 } | 139 } |
134 else | 140 else |
135 { | 141 { |
142 /* signal handler vdtree_row_collapsed is called, it updates the icon */ | |
136 gtk_tree_view_collapse_row(GTK_TREE_VIEW(vd->view), tpath); | 143 gtk_tree_view_collapse_row(GTK_TREE_VIEW(vd->view), tpath); |
137 } | 144 } |
138 gtk_tree_path_free(tpath); | 145 gtk_tree_path_free(tpath); |
139 } | 146 } |
140 | 147 |