diff options
author | Srinivasa Ragavan <sragavan@src.gnome.org> | 2006-08-19 02:50:11 +0800 |
---|---|---|
committer | Srinivasa Ragavan <sragavan@src.gnome.org> | 2006-08-19 02:50:11 +0800 |
commit | 13b58cb84e3fd9c4ab2e3196699bb0681e4d0912 (patch) | |
tree | 8a02ff483ce9d2d1957dd2b4d79f31f8e1ffcc14 /widgets/table/e-tree-table-adapter.c | |
parent | 0cad073b736cf31af522dee889767957885b9ef7 (diff) | |
download | gsoc2013-evolution-13b58cb84e3fd9c4ab2e3196699bb0681e4d0912.tar.gz gsoc2013-evolution-13b58cb84e3fd9c4ab2e3196699bb0681e4d0912.tar.zst gsoc2013-evolution-13b58cb84e3fd9c4ab2e3196699bb0681e4d0912.zip |
Fix for bug #350884 (GMail like thread sorting)
svn path=/trunk/; revision=32587
Diffstat (limited to 'widgets/table/e-tree-table-adapter.c')
-rw-r--r-- | widgets/table/e-tree-table-adapter.c | 14 |
1 files changed, 13 insertions, 1 deletions
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 |