aboutsummaryrefslogtreecommitdiffstats
path: root/mail/message-thread.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix an infinite loop in the message threading with empty containers.Peter Williams2000-08-221-1/+19
| | | | svn path=/trunk/; revision=4964
* Plug mem leaks.Peter Williams2000-08-171-28/+173
| | | | svn path=/trunk/; revision=4854
* Updates to the memory debugging stuff.Peter Williams2000-08-161-14/+52
| | | | svn path=/trunk/; revision=4853
* Add support for debugging the message thread memory leaks.Peter Williams2000-08-161-5/+61
| | | | svn path=/trunk/; revision=4850
* Don't clear the tree here. If two "folder_changed"s arrive in closeDan Winship2000-08-131-8/+4
| | | | | | | | | | | | | | | | | | | | | * message-list.c (cleanup_regenerate_messagelist): Don't clear the tree here. If two "folder_changed"s arrive in close succession, then one possible ordering of events is cleanup_regenerate_messagelist, cleanup_regenerate_messagelist, cleanup_thread_messages, cleanup_thread_messages. Which would result in the message list being filled in twice without being cleared in between. So don't clear it until the rebuilding function itself is called. (clear_tree): New function to empty out the ETreeModel in the message list. (build_tree): Change to simpler interface. Call clear_tree. (build_subtree): Does most of the work of the old build_tree (build_flat): Remove unused arg. Call clear_tree. * message-thread.c (cleanup_thread_messages): Update for build_tree interface change. svn path=/trunk/; revision=4787
* Fixed some warnings.Christopher James Lahey2000-08-111-5/+0
| | | | | | | | | 2000-08-10 Christopher James Lahey <clahey@helixcode.com> * folder-browser-factory.c, message-list.c, message-thread.c, session.c: Fixed some warnings. svn path=/trunk/; revision=4722
* Merge with camel-async.Peter Williams2000-08-111-3/+126
| | | | svn path=/trunk/; revision=4687
* Fix some compiler warnings.Dan Winship2000-08-091-2/+2
| | | | | | | * mail-crypto.c, mail-format.c, message-thread.c: Fix some compiler warnings. svn path=/trunk/; revision=4615
* Configurable vfolder sources, and a button to save a searchNot Zed2000-07-311-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | as a new vfolder. 2000-07-31 Not Zed <NotZed@HelixCode.com> * mail-vfolder.h: Header for vfolder functions. * folder-browser.c (mail_uri_to_folder): Use new scheme to open vfolders. (search_save): New button/function to save a search as a vfolder. * mail-vfolder.c (vfolder_edit): Made asynchronous. (vfolder_uri_to_folder): New function for loading vfolders and setting up their source folders. (vfolder_refresh): Change shell vfolder uri's to indirect references rather than the real vfolder uri. (vfolder_gui_add_rule): Add a rule with user confirmation. (vfolder_create_part): Get a new part by name, for creating rules in code. * message-thread.c (thread_messages): Check for uid lookup failure, which indicates an error in the folder or calling code. svn path=/trunk/; revision=4422
* 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