aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table/e-tree-table-adapter.c
diff options
context:
space:
mode:
authorSrinivasa Ragavan <sragavan@src.gnome.org>2006-08-19 02:50:11 +0800
committerSrinivasa Ragavan <sragavan@src.gnome.org>2006-08-19 02:50:11 +0800
commit13b58cb84e3fd9c4ab2e3196699bb0681e4d0912 (patch)
tree8a02ff483ce9d2d1957dd2b4d79f31f8e1ffcc14 /widgets/table/e-tree-table-adapter.c
parent0cad073b736cf31af522dee889767957885b9ef7 (diff)
downloadgsoc2013-evolution-13b58cb84e3fd9c4ab2e3196699bb0681e4d0912.tar
gsoc2013-evolution-13b58cb84e3fd9c4ab2e3196699bb0681e4d0912.tar.gz
gsoc2013-evolution-13b58cb84e3fd9c4ab2e3196699bb0681e4d0912.tar.bz2
gsoc2013-evolution-13b58cb84e3fd9c4ab2e3196699bb0681e4d0912.tar.lz
gsoc2013-evolution-13b58cb84e3fd9c4ab2e3196699bb0681e4d0912.tar.xz
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.c14
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