aboutsummaryrefslogtreecommitdiffstats
path: root/widgets
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
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')
-rw-r--r--widgets/table/ChangeLog8
-rw-r--r--widgets/table/e-tree-table-adapter.c14
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