diff options
Diffstat (limited to 'widgets')
-rw-r--r-- | widgets/table/ChangeLog | 8 | ||||
-rw-r--r-- | widgets/table/e-tree-table-adapter.c | 14 |
2 files changed, 21 insertions, 1 deletions
diff --git a/widgets/table/ChangeLog b/widgets/table/ChangeLog index 2ce971ad46..6e8a297223 100644 --- a/widgets/table/ChangeLog +++ b/widgets/table/ChangeLog @@ -1,3 +1,11 @@ +2006-08-19 Srinivasa Ragavan <sragavan@novell.com> + + ** Fix for bug #350884 + + * e-tree-table-adapter.c: (resort_model), + (etta_proxy_node_changed): Sort the model after for gmail like + display. + 2006-07-05 Rajeev ramanathan <rajeevramanathan_2004@yaoo.co.in> * e-cell-text.c: (ect_unrealize), (build_layout), (ect_draw): Added diff --git a/widgets/table/e-tree-table-adapter.c b/widgets/table/e-tree-table-adapter.c index c4585f240a..3a24fa38bc 100644 --- a/widgets/table/e-tree-table-adapter.c +++ b/widgets/table/e-tree-table-adapter.c @@ -82,6 +82,8 @@ struct ETreeTableAdapterPriv { int sort_info_changed_id; }; +static void etta_sort_info_changed (ETableSortInfo *sort_info, ETreeTableAdapter *etta); + static GNode * lookup_gnode(ETreeTableAdapter *etta, ETreePath path) { @@ -744,12 +746,22 @@ etta_proxy_no_change (ETreeModel *etm, ETreeTableAdapter *etta) e_table_model_no_change(E_TABLE_MODEL(etta)); } +guint resort_model (ETreeTableAdapter *etta) +{ + etta_sort_info_changed (NULL, etta); + return FALSE; +} + static void etta_proxy_node_changed (ETreeModel *etm, ETreePath path, ETreeTableAdapter *etta) { update_node(etta, path); - e_table_model_changed(E_TABLE_MODEL(etta)); + + /* FIXME: Really it shouldnt be required. But a lot of thread + * which were supposed to be present in the list is way below + */ + g_idle_add (resort_model, etta); } static void |