diff options
author | Christopher James Lahey <clahey@ximian.com> | 2001-11-01 07:42:08 +0800 |
---|---|---|
committer | Chris Lahey <clahey@src.gnome.org> | 2001-11-01 07:42:08 +0800 |
commit | 71a63f1498b615c98a543138532cbbfc64cd616f (patch) | |
tree | 413f3a87e737bd79661cf82567846ddc1f3d88c1 /widgets/table/e-tree-selection-model.c | |
parent | f553e16d8fc2a714a7f735ac2f7ee496afa37a57 (diff) | |
download | gsoc2013-evolution-71a63f1498b615c98a543138532cbbfc64cd616f.tar gsoc2013-evolution-71a63f1498b615c98a543138532cbbfc64cd616f.tar.gz gsoc2013-evolution-71a63f1498b615c98a543138532cbbfc64cd616f.tar.bz2 gsoc2013-evolution-71a63f1498b615c98a543138532cbbfc64cd616f.tar.lz gsoc2013-evolution-71a63f1498b615c98a543138532cbbfc64cd616f.tar.xz gsoc2013-evolution-71a63f1498b615c98a543138532cbbfc64cd616f.tar.zst gsoc2013-evolution-71a63f1498b615c98a543138532cbbfc64cd616f.zip |
Bumped the version number to 0.16.99.0 and GAL_CURRENT to 17.
2001-10-31 Christopher James Lahey <clahey@ximian.com>
* 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 <clahey@ximian.com>
* 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
Diffstat (limited to 'widgets/table/e-tree-selection-model.c')
-rw-r--r-- | widgets/table/e-tree-selection-model.c | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/widgets/table/e-tree-selection-model.c b/widgets/table/e-tree-selection-model.c index 7914cb022a..87c17b7e80 100644 --- a/widgets/table/e-tree-selection-model.c +++ b/widgets/table/e-tree-selection-model.c @@ -79,6 +79,7 @@ struct ETreeSelectionModelPriv { 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 sorted_model_node_resorted_id; }; @@ -378,7 +379,7 @@ etsm_no_change (ETreeModel *etm, ETreeSelectionModel *etsm) } static void -etsm_node_changed (ETreeModel *etm, ETreePath node, ETreeSelectionModel *etsm) +clear_tree (ETreeSelectionModel *etsm, ETreeModel *etm) { int cursor_row; @@ -407,6 +408,12 @@ etsm_node_changed (ETreeModel *etm, ETreePath node, ETreeSelectionModel *etsm) g_free (etsm->priv->cursor_save_id); etsm->priv->cursor_save_id = NULL; +} + +static void +etsm_node_changed (ETreeModel *etm, ETreePath node, ETreeSelectionModel *etsm) +{ + clear_tree (etsm, etm); etsm_unfreeze (etsm); } @@ -429,7 +436,8 @@ etsm_node_col_changed (ETreeModel *etm, ETreePath node, int col, ETreeSelectionM static void etsm_node_inserted (ETreeModel *etm, ETreePath parent, ETreePath child, ETreeSelectionModel *etsm) { - etsm_node_changed(etm, parent, etsm); + clear_tree (etsm, etm); + etsm_unfreeze (etsm); #if 0 ETreeSelectionModelNode *node; ETreePath path; @@ -451,7 +459,13 @@ etsm_node_inserted (ETreeModel *etm, ETreePath parent, ETreePath child, ETreeSel static void etsm_node_removed (ETreeModel *etm, ETreePath parent, ETreePath child, int old_position, ETreeSelectionModel *etsm) { - etsm_node_changed(etm, parent, etsm); +} + +static void +etsm_node_deleted (ETreeModel *etm, ETreePath parent, ETreePath child, int old_position, ETreeSelectionModel *etsm) +{ + clear_tree (etsm, etm); + etsm_unfreeze (etsm); } @@ -492,6 +506,8 @@ add_model(ETreeSelectionModel *etsm, ETreeModel *model) GTK_SIGNAL_FUNC (etsm_node_inserted), etsm); priv->tree_model_node_removed_id = gtk_signal_connect_after (GTK_OBJECT (priv->model), "node_removed", GTK_SIGNAL_FUNC (etsm_node_removed), etsm); + priv->tree_model_node_deleted_id = gtk_signal_connect_after (GTK_OBJECT (priv->model), "node_deleted", + GTK_SIGNAL_FUNC (etsm_node_deleted), etsm); } static void @@ -516,6 +532,8 @@ drop_model(ETreeSelectionModel *etsm) priv->tree_model_node_inserted_id); gtk_signal_disconnect (GTK_OBJECT (priv->model), priv->tree_model_node_removed_id); + gtk_signal_disconnect (GTK_OBJECT (priv->model), + priv->tree_model_node_deleted_id); gtk_object_unref (GTK_OBJECT (priv->model)); priv->model = NULL; @@ -527,6 +545,7 @@ drop_model(ETreeSelectionModel *etsm) 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; } @@ -1231,6 +1250,7 @@ e_tree_selection_model_init (ETreeSelectionModel *etsm) 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->sorted_model_node_resorted_id = 0; } |