aboutsummaryrefslogtreecommitdiffstats
path: root/mail/message-thread.c
Commit message (Collapse)AuthorAgeFilesLines
* Don't group together messages with the same non-Re: subject and noDan Winship2000-07-261-38/+40
| | | | | | | | | | | * message-thread.c (group_root_set): Don't group together messages with the same non-Re: subject and no References/In-Reply-To. More often than not, they're unrelated. (eg, "[No subject]".) (thread_messages): Handle messages with no Message-Id. "This shouldn't happen", but it does sometimes, and it's not much code to make it just work. svn path=/trunk/; revision=4317
* What if message info is NULL?Jeffrey Stedfast2000-07-201-2/+2
| | | | | | | | 2000-07-19 Jeffrey Stedfast <fejj@helixcode.com> * message-thread.c (thread_messages): What if message info is NULL? svn path=/trunk/; revision=4222
* Increase shareholder value.Dan Winship2000-07-111-1/+1
| | | | svn path=/trunk/; revision=4052
* fix a "Re:" parsing bugDan Winship2000-07-091-1/+1
| | | | | | * message-thread.c (get_root_subject): fix a "Re:" parsing bug svn path=/trunk/; revision=3998
* (sort_node): sort the tree by the original order of the messagesDan Winship2000-07-081-2/+3
| | | | | | in the folder rather than by date. svn path=/trunk/; revision=3963
* Add another argument "clast" pointing to the container before the currentDan Winship2000-07-081-5/+8
| | | | | | | | | | | | * message-thread.c (remove_node): Add another argument "clast" pointing to the container before the current one in the list, which it can update if that turns out to be the one that it removed. (group_root_set): Update for remove_node change, and remove both nodes in the "subjects are common" case. Fixes a bug that would cause the message list to be truncated if this rule was invoked. svn path=/trunk/; revision=3961
* Lots of changes. Store uids as node data on the tree nodes and use thoseDan Winship2000-07-081-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * message-list.c: Lots of changes. Store uids as node data on the tree nodes and use those rather than rows where possible. (The concept of "row" is just getting too complicated.) Get rid of the summary_table, because given a uid we can call camel_folder_get_message_info, which makes more sense than keeping a separate uid->row hash table ourselves. (get_message_info): update (get_message_row): removed (ml_col_cound, ml_row_count, ml_value_at, ml_set_value_at, ml_cell_is_editable, ml_duplicate_value, ml_free_value, ml_initialize_value, ml_value_is_empty, ml_value_to_string): Removed. We always use the tree model now. (message_list_init): Remove the non-tree code. (build_tree): store uids in the tree rather than row numbers, and build the message_list->uid_rowmap to map from uids to rows when needed. (message_list_regenerate): Renamed from _set_search, since it's used to redraw in non-search cases too. (message_changed): Use the uid_rowmap to get a model row number. * message-thread.c (thread_messages): Change the interface on this to work with the new MessageList. * folder-browser.c (search_set, folder_browser_clear_search): s/message_list_set_search/message_list_regenerate/ svn path=/trunk/; revision=3960
* Well, delete, expunge, appear broken, it sorts (initially) at least now.Michael Zucci2000-07-061-13/+83
| | | | | | | | | | | | * message-thread.c (sort_thread): sort messages based on date for the initial sort order. (thread_messages_free): Implement. (message_list_init): set the root node invisible afterall. (message_list_set_search): Clear the old tree before putting in a new one. svn path=/trunk/; revision=3922
* Setup the subject renderer to a tree in tree mode. (on_cursor_change_cmd):Not Zed2000-07-061-0/+2
| | | | | | | | | | | | | | | | | | | | | | 2000-07-06 Not Zed <NotZed@HelixCode.com> * message-list.c (message_list_init_header): Setup the subject renderer to a tree in tree mode. (on_cursor_change_cmd): For a tree model, map the view row to the data row. (build_tree): Builds the tree data structure of all messages. (message_list_set_search): For a tree model, build the tree here. (ml_tree_icon_at): Icon callback, returns nothing. (ml_tree_value_at): (ml_tree_set_value_at): (ml_tree_is_cell_editable): Maps tree node to data row, and calls the equivalent table callback (message_list_init_renderers): Setup the tree renderer if needed. * message-list.h: Add a tree renderer to render list, and tree_view indicator. svn path=/trunk/; revision=3921
* Code for message threading.Not Zed2000-07-061-0/+506
2000-07-06 Not Zed <NotZed@HelixCode.com> * message-thread.[ch]: Code for message threading. svn path=/trunk/; revision=3916