From 13b58cb84e3fd9c4ab2e3196699bb0681e4d0912 Mon Sep 17 00:00:00 2001 From: Srinivasa Ragavan Date: Fri, 18 Aug 2006 18:50:11 +0000 Subject: Fix for bug #350884 (GMail like thread sorting) svn path=/trunk/; revision=32587 --- widgets/table/ChangeLog | 8 ++++++++ widgets/table/e-tree-table-adapter.c | 14 +++++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) (limited to 'widgets') 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 + + ** 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 * 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 -- cgit v1.2.3