diff options
author | Jonathan Blandford <jrb@gnome.org> | 2002-06-08 06:48:27 +0000 |
---|---|---|
committer | Jonathan Blandford <jrb@src.gnome.org> | 2002-06-08 06:48:27 +0000 |
commit | 79c202b5060c0006f557e2462b34d5a6d60b3c30 (patch) | |
tree | 30e4a3812f482aefb9aaa3cfe44bbe1738dd10f3 /gtk | |
parent | a68df0b2e4caada907eca339c11eb19e31b411c1 (diff) | |
download | gtk+-79c202b5060c0006f557e2462b34d5a6d60b3c30.tar.gz |
Fix sizing bug.
Fri Jun 7 23:11:42 2002 Jonathan Blandford <jrb@gnome.org>
* gtk/gtktreeview.c (gtk_tree_view_real_expand_row): Fix sizing
bug.
* docs/reference/gtk/tmpl/gtkbutton.sgml: Remove ^M's.
Not sure why all the docs updated.
Diffstat (limited to 'gtk')
-rw-r--r-- | gtk/gtktreeview.c | 34 |
1 files changed, 32 insertions, 2 deletions
diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 54ddd15c27..cff42ce7af 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -8852,9 +8852,9 @@ gtk_tree_view_real_expand_row (GtkTreeView *tree_view, GtkTreeIter temp; gboolean expand; - if (node->children && !open_all) - return TRUE; + return FALSE; + if (! GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_IS_PARENT)) return FALSE; @@ -8862,6 +8862,36 @@ gtk_tree_view_real_expand_row (GtkTreeView *tree_view, if (! gtk_tree_model_iter_has_child (tree_view->priv->model, &iter)) return FALSE; + + if (node->children && open_all) + { + gboolean retval = FALSE; + GtkTreePath *tmp_path = gtk_tree_path_copy (path); + + gtk_tree_path_append_index (tmp_path, 0); + tree = node->children; + node = tree->root; + while (node->left != tree->nil) + node = node->left; + /* try to expand the children */ + do + { + gboolean t; + t = gtk_tree_view_real_expand_row (tree_view, tmp_path, tree, node, + TRUE, animate); + if (t) + retval = TRUE; + + gtk_tree_path_next (tmp_path); + node = _gtk_rbtree_next (tree, node); + } + while (node != NULL); + + gtk_tree_path_free (tmp_path); + + return retval; + } + g_signal_emit (G_OBJECT (tree_view), tree_view_signals[TEST_EXPAND_ROW], 0, &iter, path, &expand); if (expand) |