From 5fbcc4828efb084344e9c5fd42ebccb288ee492f Mon Sep 17 00:00:00 2001 From: Christopher James Lahey Date: Wed, 2 Aug 2000 16:56:26 +0000 Subject: Add a handler for "model_pre_change" and properly stop editing. 2000-08-02 Christopher James Lahey * e-table-item.c, e-table-item.h: Add a handler for "model_pre_change" and properly stop editing. * e-table-model.c, e-table-model.h: Added a "model_pre_change" signal that gets sent before any row numbers are changed. * e-table-sorted-variable.c, e-table-subset-variable.c: Emit "model_pre_change" signals as appropriate. * e-table-subset.c, e-table-subset.h: Proxy "model_pre_changed" signals. svn path=/trunk/; revision=4472 --- widgets/e-table/e-table-sorted-variable.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'widgets/e-table/e-table-sorted-variable.c') diff --git a/widgets/e-table/e-table-sorted-variable.c b/widgets/e-table/e-table-sorted-variable.c index a5472d7bce..958daca1de 100644 --- a/widgets/e-table/e-table-sorted-variable.c +++ b/widgets/e-table/e-table-sorted-variable.c @@ -169,8 +169,12 @@ etsv_add_all (ETableSubsetVariable *etssv) ETableModel *etm = E_TABLE_MODEL(etssv); ETableSubset *etss = E_TABLE_SUBSET(etssv); ETableSortedVariable *etsv = E_TABLE_SORTED_VARIABLE (etssv); - int rows = e_table_model_row_count(etss->source); + int rows; int i; + + e_table_model_pre_change(etm); + + rows = e_table_model_row_count(etss->source); if (etss->n_map + rows > etssv->n_vals_allocated){ etssv->n_vals_allocated += MAX(INCREMENT_AMOUNT, rows); @@ -285,13 +289,17 @@ etsv_sort(ETableSortedVariable *etsv) ETableSubset *etss = E_TABLE_SUBSET(etsv); static int reentering = 0; int rows = E_TABLE_SUBSET(etsv)->n_map; - int total_rows = e_table_model_row_count(E_TABLE_SUBSET(etsv)->source); + int total_rows; int i; int j; int cols; if (reentering) return; reentering = 1; + + e_table_model_pre_change(E_TABLE_MODEL(etsv)); + + total_rows = e_table_model_row_count(E_TABLE_SUBSET(etsv)->source); cols = e_table_sort_info_sorting_get_count(etsv->sort_info); cols_closure = cols; etsv_closure = etsv; -- cgit v1.2.3