Commit Graph

9 Commits

Author SHA1 Message Date
a273803fab What if message info is NULL?
2000-07-19  Jeffrey Stedfast  <fejj@helixcode.com>

	* message-thread.c (thread_messages): What if message info is NULL?

svn path=/trunk/; revision=4222
2000-07-19 17:34:08 +00:00
ba8853311f Increase shareholder value.
svn path=/trunk/; revision=4052
2000-07-10 20:58:32 +00:00
541c905279 fix a "Re:" parsing bug
* message-thread.c (get_root_subject): fix a "Re:" parsing bug

svn path=/trunk/; revision=3998
2000-07-09 03:03:50 +00:00
0c9c8a55f8 (sort_node): sort the tree by the original order of the messages
in the folder rather than by date.

svn path=/trunk/; revision=3963
2000-07-07 21:54:14 +00:00
2b29d7310a Add another argument "clast" pointing to the container before the current
* 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
2000-07-07 21:21:16 +00:00
2d33aa8a77 Lots of changes. Store uids as node data on the tree nodes and use those
* 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
2000-07-07 21:15:11 +00:00
1e8c9c87a0 Well, delete, expunge, appear broken, it sorts (initially) at least now.
* 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
2000-07-06 12:32:55 +00:00
6cabd25cfa Setup the subject renderer to a tree in tree mode. (on_cursor_change_cmd):
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
2000-07-06 08:44:01 +00:00
b226c0a68f Code for message threading.
2000-07-06  Not Zed  <NotZed@HelixCode.com>

        * message-thread.[ch]: Code for message threading.

svn path=/trunk/; revision=3916
2000-07-06 05:03:57 +00:00