aboutsummaryrefslogtreecommitdiffstats
path: root/mail/message-thread.c
Commit message (Collapse)AuthorAgeFilesLines
* Removed. No longer serves a purpose.Not Zed2000-11-211-748/+0
| | | | | | | | | | | | | | | | | 2000-11-21 Not Zed <NotZed@HelixCode.com> * message-thread.[ch]: Removed. No longer serves a purpose. * Makefile.am (evolution_mail_SOURCES): Removed message-thread.[ch]. * message-list.c (build_subtree): (node_equal): (add_node_diff): (build_subtree_diff): (do_regenerate_messagelist): (cleanup_regenerate_messagelist): Changed to use camel-folder-thread. svn path=/trunk/; revision=6625
* Save out the md5 hash of the messageid as hex, since thats all we have forNot Zed2000-11-211-36/+40
| | | | | | | | | | | | | | | | | 2000-11-20 Not Zed <NotZed@HelixCode.com> * message-list.c (save_node_state): Save out the md5 hash of the messageid as hex, since thats all we have for those nodes. (build_subtree): Expand the messageid to a hex string first, then check it. (add_node_diff): And the same here. * message-thread.c (thread_messages): Changed for changes to messageid/references items. (id_hash, id_equal): New functions to hash on the binary message id hash. (thread_messages): removed some more no longer used dead code. svn path=/trunk/; revision=6617
* Fix up #include <config.h> Same here. Here too. Fix indentation of #ifdefKjartan Maraas2000-11-071-0/+1
| | | | | | | | | | | | 2000-11-06 Kjartan Maraas <kmaraas@gnome.org> * mail-autofilter.c: Fix up #include <config.h> * mail-crypto.c: Same here. * mail-search-dialog.c: Here too. * main.c: Fix indentation of #ifdef * message-thread.c: Fix include. svn path=/trunk/; revision=6422
* Added mail-display.h.Not Zed2000-11-031-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-11-03 Not Zed <NotZed@HelixCode.com> * mail-view.c: Added mail-display.h. * mail-autofilter.c: Removed unecessary headers. Who ran indent over this code? Sigh. * mail-ops.c (display_message_input_s): Added messagedisplay. (mail_do_display_message): Added messagedisplay arg. (mail_do_display_message): Dont bother doing another thread when we know we dont have a uid. (): Added folder-browser.h to headers. Sigh. * folder-browser-factory.c (control_activate): Setup the viewthreaded callback to the folder_browser function. * folder-browser.c (my_folder_browser_init): Connect to right_click of etable of the messagelist here. (on_right_click): Changed for argument changes. (folder_browser_toggle_threads): Changed to take a fb, and to set threaded mode on the messagelist. (my_folder_browser_init): Connect also to the double_click signal. (my_folder_browser_init): Connect to the message_selected signal of the message_list. (on_message_selected): Signal handler for message selected. (my_folder_browser_init): Fix for change to message_list_new(). * message-list.h: Dont include folder-browser.h. (message_list_toggle_threads): Moved into folder-browser.h. (struct _MessageList): Removed folderbrowser. * mail.h: Dont include folder-browser.h here either, but mail-types.h instead. Moved prototypes moved into folder-browser.c into folder-browser.h. (vfolder_*, filter_*). * mail-display.h: Dont include folder-browser.h here, but mail-types.h and specific camel headers. * message-thread.c (sort_node): Invert the sort order logic so the list is sorted in mailbox order, not reverse mailbox order. * message-list.c (free_tree_ids): Fix a merge foo. (remove_node_diff): Removed unused row argument. Fixed callers/prototype. (clear_tree): pre_change on the removal of the root node. (build_flat): Only perform pre_change if we are rebuilding the whole lot. For incremental change let etable do its thing. (build_tree): Likewise for building the tree view. If making incremental updates, do them as we build it. (vfolder_subject): (vfolder_sender): (vfolder_recipient): (filter_subject): (filter_sender): (filter_recipient): (filter_mlist): (on_right_click): Moved to folder-browser.c, where they belong. (message_list_init): Dont connect to right_click anymore. (message_list_toggle_threads): Moved to folder-browser.c, renamed. (on_double_click): Moved to folder-browser.c (on_click): Set the flags directly, rather than in anothre thread, which is just not necessary. (message_list_class_init): Added a new signal 'message_selected', to indicate when a message was selected. (on_cursor_change_idle): Emit a signal, rather than directly triggering the display update. (select_row): Removed, no longer used. (idle_select_row): And this too. (select_msg): Removed as well. (message_list_select): Emit a signal, rather thandisplaying/clearing the mail-display directly. (mark_msg_seen): Moved to folder-browser.c (message_list_new): Removed folderbrowser argument. svn path=/trunk/; revision=6365
* ** Merged in camel-incremental-branch.Not Zed2000-11-021-18/+77
| | | | | | | | | | | | | 2000-11-02 Not Zed <NotZed@HelixCode.com> ** Merged in camel-incremental-branch. * mail-format.c (mail_get_message_body): Jeff! Sigh. We should definetly not be strduping the content, it has already been copied and duplicated. Look at get_data_wrapper_text. svn path=/trunk/; revision=6337
* lots of i18n fixesDan Winship2000-10-241-20/+2
| | | | svn path=/trunk/; revision=6143
* No, we REALLY dont want to perform an immediate search as the keys areNot Zed2000-10-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-10-18 Not Zed <NotZed@HelixCode.com> * folder-browser.c (folder_browser_gui_init): No, we REALLY dont want to perform an immediate search as the keys are pressed. * mail-display.c (on_object_requested): Kill a minor warning with a cast. * mail-config.c: Include mising ctype.h to kill a warning. * message-thread.c (main): Fixed the test case for api changes. * message-list.c (message_list_drag_data_get): Set some flags to get_folder(). I dont even think this will work because mail_tool_get_folder doesn't handle file url's. * mail-vfolder.c (vfolder_uri_to_folder): Pass appropriate flags. * mail-ops.c (do_setup_folder): Pass appropriate flags. Hmm, whats the difference between setup and create. *shrug* (do_create_folder): Pass appropriate flags to get_folder. Needs a way to specify the index flag. * mail-tools.c (mail_tool_get_folder_from_urlname): Changed create to flags argument. (mail_tool_get_local_inbox_url): Add an index argument. (mail_tool_get_local_inbox): honour index flag. (mail_tool_get_inbox): Changed for api change. (mail_tool_uri_to_folder): Fixed calls to store_get_folder(); * mail-local.c (load_metainfo): Added an indexed field to the metainfo. (save_metainfo): And save it too. (do_reconfigure_folder): Honour index flag when creating the new folder. Do not open the old folder with an index at all. (mail_local_map_uri): Add an index argument - tells if the mbox is indexed. (mail_tool_local_uri_to_folder): Create & pass flags properly. (#include gnome.h): Dont include all of gnome, just what we use, and explicity include xml-memory, so we get xmlFree(). svn path=/trunk/; revision=5979
* Cool Hack of the Day: right-click menu item to autodetect what mailingEttore Perazzoli2000-09-121-1/+0
| | | | | | | | | | list a message comes from and create the rule for it on the fly. (Many thanks to Joakim for suggesting the way to implement this.) Also, use the new shiny toolbar icons from TigerT and mark some strings for translation. svn path=/trunk/; revision=5362
* (prune_empty): Plugged another small leak.Michael Zucci2000-09-121-0/+1
| | | | svn path=/trunk/; revision=5353
* Reverted to version 1.15. (remove_node): Ok, if a node has a parent,Not Zed2000-09-121-313/+55
| | | | | | | | | | | | 2000-09-12 Not Zed <NotZed@HelixCode.com> * message-thread.c: Reverted to version 1.15. (remove_node): Ok, if a node has a parent, remove it from the parent list, otherwise remove it from the (supplied) root list. (group_root_set): When we merge children, free the lost node. (thread_messages_free): Remove the return, run as is. svn path=/trunk/; revision=5352
* 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