From 71a63f1498b615c98a543138532cbbfc64cd616f Mon Sep 17 00:00:00 2001 From: Christopher James Lahey Date: Wed, 31 Oct 2001 23:42:08 +0000 Subject: Bumped the version number to 0.16.99.0 and GAL_CURRENT to 17. 2001-10-31 Christopher James Lahey * configure.in: Bumped the version number to 0.16.99.0 and GAL_CURRENT to 17. From gal/e-table/ChangeLog: 2001-10-31 Christopher James Lahey * e-table-item.c (eti_unfreeze): Check for unfreezing past 0 here and give a warning. (eti_add_table_model): Call eti_freeze here since eti_table_model_changed will call unfreeze. * e-tree-memory.c (e_tree_memory_node_remove): Send deleted signal after freeing the child. * e-tree-model.c, e-tree-model.h: Added node_deleted signal. removed/deleted signals will always come in pairs in that order with a single pre_change for both of them. * e-tree-selection-model.c (etsm_node_deleted): Clear the tree on deleted here instead of on removed. * e-tree-sorted.c (ets_proxy_node_deleted): Chain deleted here. Chains to NULL node which is fine for now. svn path=/trunk/; revision=14557 --- widgets/table/e-tree-sorted.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'widgets/table/e-tree-sorted.c') diff --git a/widgets/table/e-tree-sorted.c b/widgets/table/e-tree-sorted.c index 21b49b339c..56bd3d3db6 100644 --- a/widgets/table/e-tree-sorted.c +++ b/widgets/table/e-tree-sorted.c @@ -99,6 +99,7 @@ struct ETreeSortedPriv { int tree_model_node_col_changed_id; int tree_model_node_inserted_id; int tree_model_node_removed_id; + int tree_model_node_deleted_id; int sort_info_changed_id; int sort_idle_id; @@ -611,6 +612,8 @@ ets_destroy (GtkObject *object) priv->tree_model_node_inserted_id); gtk_signal_disconnect (GTK_OBJECT (priv->source), priv->tree_model_node_removed_id); + gtk_signal_disconnect (GTK_OBJECT (priv->source), + priv->tree_model_node_deleted_id); gtk_object_unref (GTK_OBJECT (priv->source)); priv->source = NULL; @@ -622,6 +625,7 @@ ets_destroy (GtkObject *object) priv->tree_model_node_col_changed_id = 0; priv->tree_model_node_inserted_id = 0; priv->tree_model_node_removed_id = 0; + priv->tree_model_node_deleted_id = 0; } if (priv->sort_info) { @@ -1153,6 +1157,12 @@ ets_proxy_node_removed (ETreeModel *etm, ETreePath parent, ETreePath child, int } } +static void +ets_proxy_node_deleted (ETreeModel *etm, ETreePath child, ETreeSorted *ets) +{ + e_tree_model_node_deleted(E_TREE_MODEL(ets), NULL); +} + static void ets_sort_info_changed (ETableSortInfo *sort_info, ETreeSorted *ets) { @@ -1256,6 +1266,7 @@ e_tree_sorted_init (GtkObject *object) priv->tree_model_node_col_changed_id = 0; priv->tree_model_node_inserted_id = 0; priv->tree_model_node_removed_id = 0; + priv->tree_model_node_deleted_id = 0; priv->sort_info_changed_id = 0; priv->sort_idle_id = 0; @@ -1300,6 +1311,8 @@ e_tree_sorted_construct (ETreeSorted *ets, ETreeModel *source, ETableHeader *ful GTK_SIGNAL_FUNC (ets_proxy_node_inserted), ets); ets->priv->tree_model_node_removed_id = gtk_signal_connect (GTK_OBJECT (source), "node_removed", GTK_SIGNAL_FUNC (ets_proxy_node_removed), ets); + ets->priv->tree_model_node_deleted_id = gtk_signal_connect (GTK_OBJECT (source), "node_deleted", + GTK_SIGNAL_FUNC (ets_proxy_node_deleted), ets); ets->priv->sort_info_changed_id = gtk_signal_connect (GTK_OBJECT (sort_info), "sort_info_changed", GTK_SIGNAL_FUNC (ets_sort_info_changed), ets); -- cgit v1.2.3