From 0c9c8a55f81cfd4274b96a13d26f224f48f0a1aa Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Fri, 7 Jul 2000 21:54:14 +0000 Subject: (sort_node): sort the tree by the original order of the messages in the folder rather than by date. svn path=/trunk/; revision=3963 --- mail/ChangeLog | 3 +++ mail/message-thread.c | 5 +++-- mail/message-thread.h | 1 + 3 files changed, 7 insertions(+), 2 deletions(-) (limited to 'mail') diff --git a/mail/ChangeLog b/mail/ChangeLog index f33cafe649..1462275027 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -8,6 +8,9 @@ nodes in the "subjects are common" case. Fixes a bug that would cause the message list to be truncated if this rule was invoked. + (sort_node): sort the tree by the original order of the messages + in the folder rather than by date. + 2000-07-07 Dan Winship * message-list.c: Lots of changes. Store uids as node data on the diff --git a/mail/message-thread.c b/mail/message-thread.c index 9c0325ed21..a1abc23560 100644 --- a/mail/message-thread.c +++ b/mail/message-thread.c @@ -361,9 +361,9 @@ sort_node(const void *a, const void *b) a1 = a1->child; if (b1->message == NULL) b1 = b1->child; - if (a1->message->date_sent == b1->message->date_sent) + if (a1->order == b1->order) return 0; - if (a1->message->date_sent < b1->message->date_sent) + if (a1->order < b1->order) return 1; else return -1; @@ -429,6 +429,7 @@ thread_messages(CamelFolder *folder, GPtrArray *uids) c->message = mi; g_hash_table_insert(id_table, mi->message_id, c); } + c->order = i; container = c; ref = mi->references; p = NULL; diff --git a/mail/message-thread.h b/mail/message-thread.h index ffde0019b9..d66baacbdd 100644 --- a/mail/message-thread.h +++ b/mail/message-thread.h @@ -8,6 +8,7 @@ struct _container { const CamelMessageInfo *message; char *root_subject; /* cached root equivalent subject */ int re; /* re version of subject? */ + int order; /* the order of this message in the folder */ }; struct _container *thread_messages(CamelFolder *folder, GPtrArray *uids); -- cgit