diff options
author | Jonathan Blandford <jrb@gnome.org> | 2002-05-27 12:05:09 +0000 |
---|---|---|
committer | Michael Meeks <michael@src.gnome.org> | 2002-05-27 12:05:09 +0000 |
commit | 77781baac90b238edd9ccfebe86e254c23e1c06f (patch) | |
tree | c2a3189f358d992ec6c42f7cd23216511cff1533 | |
parent | f5a05d3b103ff804f5bd913a1e1ba258ec62488d (diff) | |
download | nautilus-77781baac90b238edd9ccfebe86e254c23e1c06f.tar.gz |
make flag storage more efficient. (report_node_inserted): report has_child
2002-05-27 Jonathan Blandford <jrb@gnome.org>
* components/tree/nautilus-tree-model.c
(TreeNode): make flag storage more efficient.
(report_node_inserted): report has_child toggled before
reporting row_inserted.
* components/tree/nautilus-tree-view.c
(row_inserted_expand_node_callback): remove evil hack to
emit has_child toggled on the view.
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | components/tree/nautilus-tree-model.c | 16 | ||||
-rw-r--r-- | components/tree/nautilus-tree-view.c | 8 |
3 files changed, 19 insertions, 16 deletions
@@ -1,3 +1,14 @@ +2002-05-27 Jonathan Blandford <jrb@gnome.org> + + * components/tree/nautilus-tree-model.c + (TreeNode): make flag storage more efficient. + (report_node_inserted): report has_child toggled before + reporting row_inserted. + + * components/tree/nautilus-tree-view.c + (row_inserted_expand_node_callback): remove evil hack to + emit has_child toggled on the view. + 2002-05-27 Chris Lyttle <chris@wilddev.net> * Makefile.am: remove omf-install dir diff --git a/components/tree/nautilus-tree-model.c b/components/tree/nautilus-tree-model.c index d559efe54..4baa12165 100644 --- a/components/tree/nautilus-tree-model.c +++ b/components/tree/nautilus-tree-model.c @@ -48,8 +48,6 @@ typedef struct TreeNode TreeNode; struct TreeNode { /* part of this node for the file itself */ - - gboolean inserted; int ref_count; NautilusFile *file; @@ -62,7 +60,6 @@ struct TreeNode { TreeNode *prev; /* part of the node used only for directories */ - int dummy_child_ref_count; int all_children_ref_count; @@ -72,8 +69,11 @@ struct TreeNode { guint files_changed_id; TreeNode *first_child; - gboolean done_loading; - gboolean inserting_first_child; + + /* misc. flags */ + guint done_loading : 1; + guint inserting_first_child : 1; + guint inserted : 1; }; struct NautilusTreeModelDetails { @@ -518,11 +518,11 @@ report_node_inserted (NautilusTreeModel *model, TreeNode *node) report_row_inserted (model, &iter); node->inserted = TRUE; - if (tree_node_has_dummy_child (node)) { - report_dummy_row_inserted (model, node); - } if (node->directory != NULL) { report_row_has_child_toggled (model, &iter); + } + if (tree_node_has_dummy_child (node)) { + report_dummy_row_inserted (model, node); } } diff --git a/components/tree/nautilus-tree-view.c b/components/tree/nautilus-tree-view.c index 4f6ec393f..01562c5fd 100644 --- a/components/tree/nautilus-tree-view.c +++ b/components/tree/nautilus-tree-view.c @@ -157,14 +157,6 @@ row_inserted_expand_node_callback (GtkTreeModel *tree_model, g_return_if_fail (uri != NULL); parent_path = gtk_tree_model_get_path (tree_model, &parent); - - /* FIXME: this is really grim, but it works around the - * fact that we can't do a child_toggled before the - * row_insert on the child, so things get confused */ - gtk_tree_model_row_has_child_toggled ( - GTK_TREE_MODEL (view->details->child_model), - parent_path, &parent); - sort_path = gtk_tree_model_sort_convert_child_path_to_path (view->details->sort_model, parent_path); |