Commit Graph

48 Commits

Author SHA1 Message Date
e82bac0274 if doing a full update, save the cursor pos and restore it afterwards.
2001-02-12  Not Zed  <NotZed@Ximian.com>

        * message-list.c (build_tree): if doing a full update, save the
        cursor pos and restore it afterwards.
        (on_cursor_activated_cmd): Copy the current_uid to a new string.
        I dont know why this is required, but it is.
        (message_list_destroy): Free the cursor_uid as we're done with it.
        (build_flat): IF the current uid disappeared from the list, then
        unset the message.
        (build_tree): Likewise.

svn path=/trunk/; revision=8199
2001-02-13 00:58:07 +00:00
71c965734e Added libmenus.la.
2001-02-06  Christopher James Lahey  <clahey@ximian.com>

	* Makefile.am (evolution_mail_LDADD): Added libmenus.la.

	* folder-browser-factory.c (control_activate): Added GalView menus
	here.

	* message-list.c, message-list.h (message_list_get_layout): Made
	message_list_get_layout export.

svn path=/trunk/; revision=8041
2001-02-07 03:25:28 +00:00
fa62a26528 Change from using filters for date and size to using e_cell_date and
2001-01-15  Christopher James Lahey  <clahey@ximian.com>

	* message-list.c, message-list.h: Change from using filters for
	date and size to using e_cell_date and e_cell_size.  Moved a bunch
	of includes from the message-list.h to the message-list.c.

svn path=/trunk/; revision=7524
2001-01-16 02:13:32 +00:00
fba04bdda7 Merge from camel-mt-branch.
2000-12-24  Not Zed  <NotZed@HelixCode.com>

        * Merge from camel-mt-branch.

svn path=/trunk/; revision=7153
2000-12-24 01:03:14 +00:00
a228c210b0 Always use the slow (full-update) version of the tree update code, to get
2000-12-16  Not Zed  <NotZed@HelixCode.com>

	* message-list.c (build_tree): Always use the slow (full-update)
	version of the tree update code, to get around a bug(?) in etree.
	(build_flat): Likewise.

2000-12-15  Not Zed  <NotZed@HelixCode.com>

	* mail-display.c (write_data_to_file): Dont blindly convert all
	parts to utf8, e.g. image/jpg.  We only convert text/* parts, and
	only then if required.

2000-12-14  Not Zed  <NotZed@HelixCode.com>

	* component-factory.c (create_view): cast over a warning.

	* folder-browser-factory.c: Add verbs for hide functions.

	* message-list.c (message_list_hide_clear):
	(message_list_hide_uids):
	(message_list_hide_add): Some api renaming.
	(message_list_hide_add): Allow ML_HIDE_SAME to be passed to mean
	not to change the upper/lower range at all.
	(hide_save_state): Save the state of the hide list to stable
	storage.
	(hide_load_state): Load the state of hte hide list.
	(message_list_set_folder): Load/save the state of the folder if it
	is changed/set.
	(message_list_destroy): Save the state of the folder hide list
	when done.
	(save_tree_state): If we wrote out an empty state file, simply
	remove it instead.

	* folder-browser.c (on_right_click): Add some hide menus.
	(hide_read): Hide read messages.
	(hide_deleted): Hide deleted messages.
	(hide_selected): Hide selected/current message.
	(hide_none): Show all hidden messages.
	(on_right_click): Lock around accesses to the message (inside
	mlist_detect_magic).
	(on_right_click): Free the mailing list name.

2000-12-13  Not Zed  <NotZed@HelixCode.com>

	* folder-browser.c (on_right_click): Add camel locking since we
	call it directly.  Whoever heard of a lock you 'down' to unlock?

	* message-list.c (mail_do_regenerate_messagelist): Added hide
	expression, messages to hide.  Fixed all callers.
	(do_regenerate_messagelist): IF we have a hide expression, search
	and remove those from the uid list.  If we have a hide range,
	apply that afterwards.
	(cleanup_regenerate_messagelist): Handle freeing the hide uid
	temporary data, if required.
	(message_list_destroy): Free hide data, also lock around all camel
	object stuff.
	(message_list_length): New function to get the number of messages
	avaialble to be hidden by range.
	(message_list_set_hide): Set the hide expression and range.
	Issue: Should hiding be remembered?
	(message_list_unhide_all): Turn off all hiding.
	(message_list_hide_uids): Hide a list of uid's.

svn path=/trunk/; revision=7061
2000-12-16 08:55:37 +00:00
b7c314b29c Ignore double-clicks on "active" columns (the ones where clicking does
* folder-browser.c (on_double_click): Ignore double-clicks on
	"active" columns (the ones where clicking does something
	beyond "select"), fixing bug #811

svn path=/trunk/; revision=6910
2000-12-11 17:02:07 +00:00
e22c643dc6 Remove the never-once-used BonoboObject stuff and make MessageList be a
* message-list.c: Remove the never-once-used BonoboObject stuff
	and make MessageList be a GtkWidget instead. Also, keep track of
	the ETable directly rather than repeatedly calling
	e_table_scrolled_get_table.

	* folder-browser.c (folder_browser_destroy): Use gtk methods
	rather than bonobo methods to destroy the message list.
	(on_right_click, on_double_click): These are being attached to the
	ETable directly now, so fix the first argument (which isn't being
	used anyway, but...)
	(folder_browser_gui_init): simplify now that MessageList itself is
	a widget. Also use message_list->table rather than
	e_table_scrolled_get_table.

	* mail-local.c (mail_local_reconfigure_folder): Add "mail_" to
	the beginning of this function name to match its prototype and the
	other vague namespace conventions in the mailer.

	* mail-callbacks.c (select_all, invert_selection): Use ml->table.
	(configure_folder): s/local_reconfigure_folder/mail_&/

svn path=/trunk/; revision=6908
2000-12-11 16:44:30 +00:00
9b49b3e25a Set threaded view before setting the folder (cleanup some flash ons
2000-11-30  Not Zed  <NotZed@HelixCode.com>

	* mail-ops.c (cleanup_load_folder): Set threaded view before
	setting the folder (cleanup some flash ons tartup).

	* message-list.c (message_list_init): Initialise a mempool for uid
	string storage.
	(new_id_from_uid): Added messagelist arg, allocate strings from
	uid_pool.
	(new_id_from_subject): Same.  Fixed all callers.
	(remove_node_diff): Dont free uid here.
	(build_flat_diff): Nor here.
	(clear_tree): Flush the mempool, rather than freeing the id's
	directly.
	(free_tree_ids): Removed, no longer required.
	(free_tree_ids): Likewise.
	(message_list_init): Dont connect to the table destroy signal
	anymore to free the uid table.
	(message_list_destroy): Free the uid pool here.
	(*): Use accessors for messageid stuff.
	(content_is_attachment): Removed, no longer required.
	(ml_tree_value_at): Get the attachment flag directly from the
	summary.
	(ml_tree_value_at): For 'fake' nodes, try and do something better
	than "?" for from, to, and size.
	(subtree_size): New function, add up the total size of a subtree.
	(subtree_earliest): Get the earliest date from a subtree.
	(ml_tree_value_at): Return earliest date sent/received for fake
	nodes.
	(ml_tree_value_at): Return something to mark a fake subject line
	as a fake subject, although i dont know, i guess this buggers up
	sorting ...
	(subtree_size): Check the info node is still there.
	(subtree_earliest): Same here.
	(subtree_unread): And here.  The info node might vanish if the
	folder has changed/is changing and we try and redraw stuff while
	its doing it.
	(message_list_drag_data_get): Use accessors.

svn path=/trunk/; revision=6732
2000-11-30 11:32:50 +00:00
8952ed2a26 Added mail-display.h.
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
2000-11-03 09:28:00 +00:00
6db2305b33 ** Merged in camel-incremental-branch.
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
2000-11-02 03:36:48 +00:00
6eb3e631bd Add a "flagged" column, based on the Camel "flagged" flag, for assigning
* message-list.c: Add a "flagged" column, based on the Camel
	"flagged" flag, for assigning an arbitrary "hey, I care about
	this" flag to a message.
	(ml_tree_set_value_at): Remove
	(ml_tree_is_cell_editable): No, it's not.
	(on_click): Handle the read/unread and flagged fields via the
	click handler. Among other things, this makes it not select
	a message when you change its read status.

svn path=/trunk/; revision=6173
2000-10-25 19:05:20 +00:00
fb49a9def4 Updated these to the new ETable style of specifications.
2000-10-11  Christopher James Lahey  <clahey@helixcode.com>

	* message-list.c, message-list.h, subscribe-dialog.c: Updated
	these to the new ETable style of specifications.

svn path=/trunk/; revision=5845
2000-10-11 11:06:51 +00:00
79154e4ac8 New widget, full search dialogue for mail.
2000-10-06  Not Zed  <NotZed@HelixCode.com>

        * mail-search-dialogue.c: New widget, full search dialogue for
        mail.

        * folder-browser.c (search_set): If we click on custom search, run
        the full search dialogue.
        (folder_browser_gui_init): Add a button to perform a full search.
        (search_full): Bring up the mail search dialogue asynchronously.
        (search_full_clicked): Handle search options.
        (folder_browser_destroy): Free the saved rule if there is one
        there.
        (search_options[]): Added a custom option option - brings up the
        full search dialogue.
        (search_set): Disable the search entry if we are doing a full
        search.

        * mail-vfolder.c (vfolder_create_storage): Yay, finally
        depeterised this stuff.
        (vfolder_uri_to_folder): Removed an irrelevant comment.

        * mail-callbacks.c (filter_edit): And here.

        * mail-ops.c (do_fetch_mail): And here too.

        * mail-autofilter.c (filter_gui_add_from_message): Fixed call to
        context_load.
        (filter_gui_add_for_mailing_list): And here too.

        * folder-browser-factory.c (create_ondemand_hooks): Remove that
        ondemand callback snot.

2000-10-05  Not Zed  <NotZed@HelixCode.com>

        * message-list.c (message_list_init_etable): Build the etable once
        we know what folder we are going to use.
        (save_header_state): Save the header spec to a cache file.
        (message_list_destroy): Save the header spec.
        (message_list_setup_etable): Setup the etable spec for this
        folder, from a saved version if one exists, or to suit the folder
        type (sent/received).
        (message_list_set_folder): Setup the etable here once we have a folder.

svn path=/trunk/; revision=5798
2000-10-09 12:57:36 +00:00
625a04713d re-write.
2000-10-09  Michael Meeks  <michael@helixcode.com>

	* message-list.c (message_list_toggle_threads): re-write.

	* folder-browser-factory.c (control_activate): update paths, need
	CVS HEAD bonobo, use a listener not a verb.

svn path=/trunk/; revision=5792
2000-10-09 12:01:27 +00:00
8b2ca26789 s/Bonobo_UIHandler/Bonobo_UIContainer/
s/include "bonobo-ui-handler.h"/include "bonobo-ui-compat.h"/

svn path=/trunk/; revision=5539
2000-09-21 14:13:27 +00:00
633260a8fc Removed COL_ONLINE_STATUS because we don't want that. Renamed COL_PRIORITY
2000-09-18  Jeffrey Stedfast  <fejj@helixcode.com>

	* message-list.c: Removed COL_ONLINE_STATUS because we don't want
	that. Renamed COL_PRIORITY to COL_SCORE and set it up to sort-of
	work, I'm not really sure which renderer I should use.

svn path=/trunk/; revision=5493
2000-09-18 23:35:04 +00:00
37d47c916d Added check for gnome-app-lib. Removed directories that have been moved to
2000-09-18  Christopher James Lahey  <clahey@helixcode.com>

	* configure.in: Added check for gnome-app-lib.  Removed
	directories that have been moved to gal.

From addressbook/ChangeLog:

2000-09-18  Christopher James Lahey  <clahey@helixcode.com>

	* backend/ebook/Makefile.am, contact-editor/Makefile.am,
	ename/Makefile.am, gui/component/Makefile.am,
	gui/widgets/Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and
	$(EXTRA_GNOME_LIBS).  Removed unneeded libraries.

	* backend/ebook/e-card.c, backend/pas/pas-backend-file.c,
	contact-editor/e-contact-editor-address.c,
	contact-editor/e-contact-editor-categories.c,
	contact-editor/e-contact-editor-categories.h,
	contact-editor/e-contact-editor-fullname.c,
	contact-editor/e-contact-editor.c,
	contact-editor/e-contact-save-as.c, ename/e-address-western.c,
	ename/test-ename-western-gtk.c,
	gui/component/addressbook-factory.c, gui/component/addressbook.c,
	gui/component/e-cardlist-model.h, gui/component/e-ldap-storage.c,
	gui/component/select-names/e-select-names-bonobo.c,
	gui/component/select-names/e-select-names-manager.c,
	gui/component/select-names/e-select-names-model.c,
	gui/component/select-names/e-select-names-table-model.c,
	gui/component/select-names/e-select-names-table-model.h,
	gui/component/select-names/e-select-names-text-model.h,
	gui/component/select-names/e-select-names.c,
	gui/component/select-names/e-select-names.h,
	gui/search/e-addressbook-search-dialog.c,
	gui/widgets/e-addressbook-model.h,
	gui/widgets/e-addressbook-view.c, gui/widgets/e-minicard-label.c,
	gui/widgets/e-minicard-view-widget.c,
	gui/widgets/e-minicard-view-widget.h,
	gui/widgets/e-minicard-view.c, gui/widgets/e-minicard-view.h,
	gui/widgets/e-minicard-widget.h, gui/widgets/e-minicard.c,
	gui/widgets/test-minicard-label.c, gui/widgets/test-reflow.c,
	printing/e-contact-print.c: Fixed the #include lines to deal
	properly with gal.

From calendar/ChangeLog:

2000-09-18  Christopher James Lahey  <clahey@helixcode.com>

	* gui/Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and
	$(EXTRA_GNOME_LIBS).  Removed unneeded libraries.

	* gui/calendar-model.h, gui/e-calendar-table.c, gui/e-day-view.c,
	gui/e-week-view-event-item.c, gui/e-week-view.c,
	gui/event-editor.c, gui/gncal-todo.c, gui/gnome-cal.c, gui/main.c,
	gui/print.c, gui/dialogs/task-editor.c: Fixed the #include lines
	to deal properly with gal.

	* gui/check-filled.xpm: New file since we can't include it from
	e-table anymore.

From camel/ChangeLog:

2000-09-18  Christopher James Lahey  <clahey@helixcode.com>

	* camel-folder-search.c, camel-folder-search.h,
	camel-remote-store.c, providers/imap/camel-imap-folder.c,
	providers/imap/camel-imap-store.c: Fixed the #include lines to
	deal properly with gal.

From composer/ChangeLog:

2000-09-18  Christopher James Lahey  <clahey@helixcode.com>

	* Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and
	$(EXTRA_GNOME_LIBS).  Removed unneeded libraries.

	* e-msg-composer-address-dialog.c, e-msg-composer-address-entry.c,
	e-msg-composer-attachment.c, e-msg-composer-hdrs.c,
	e-msg-composer.c: Fixed the #include lines to deal properly with
	gal.

From e-util/ChangeLog:

2000-09-18  Christopher James Lahey  <clahey@helixcode.com>

	* Makefile.am: Removed all the files moved to gal.

	* e-dialog-widgets.c: Fixed the #include lines to deal properly
	with gal.

	* e-gui-utils.c, e-gui-utils.h: Removed all of the functionality
	that was moved to gal.

	* e-canvas-utils.c, e-canvas-utils.h, e-canvas-vbox.c,
	e-canvas-vbox.h, e-canvas.c, e-canvas.h, e-cursors.c, e-cursors.h,
	e-font.c, e-font.h, e-popup-menu.c, e-popup-menu.h, e-printable.c,
	e-printable.h, e-unicode.c, e-unicode.h, e-util.c, e-util.h,
	e-xml-utils.c, e-xml-utils.h: Moved to gal.

From filter/ChangeLog:

2000-09-18  Christopher James Lahey  <clahey@helixcode.com>

	* filter-editor.c, filter-filter.c, filter-folder.c,
	filter-input.c, filter-message-search.c, filter-option.c,
	filter-rule.c, score-editor.c, vfolder-editor.c, vfolder-rule.c:
	Fixed the #include lines to deal properly with gal.

From mail/ChangeLog:

2000-09-18  Christopher James Lahey  <clahey@helixcode.com>

	* Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and
	$(EXTRA_GNOME_LIBS).  Removed unneeded libraries.

	* component-factory.c, folder-browser-factory.c, folder-browser.c,
	mail-callbacks.c, mail-config-gui.c, mail-display.c,
	mail-display.h, main.c, message-list.c, message-list.h: Fixed the
	#include lines to deal properly with gal.

From po/ChangeLog:

2000-09-18  Christopher James Lahey  <clahey@helixcode.com>

	* POTFILES.in: Removed files that have been moved to gal.

From shell/ChangeLog:

2000-09-18  Christopher James Lahey  <clahey@helixcode.com>

	* Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and
	$(EXTRA_GNOME_LIBS).  Removed unneeded libraries.

	* e-component-registry.c, e-corba-storage-registry.c,
	e-corba-storage.c, e-folder-type-registry.c, e-folder.c,
	e-local-folder.c, e-local-storage.c,
	e-shell-folder-creation-dialog.c,
	e-shell-folder-selection-dialog.c, e-shell-folder-title-bar.c,
	e-shell-view.c, e-shell.c, e-shortcuts-view.c, e-shortcuts.c,
	e-storage-set-view.c, e-storage-set-view.h, e-storage-set.c,
	e-storage.c, evolution-local-storage.c, evolution-session.c,
	evolution-shell-client.c, evolution-shell-component-client.c,
	evolution-shell-component.c, evolution-shell-view.c,
	evolution-storage-listener.c, evolution-storage.c, main.c: Fixed
	the #include lines to deal properly with gal.

From widgets/meeting-time-sel/ChangeLog:

2000-09-18  Christopher James Lahey  <clahey@helixcode.com>

	* Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and
	$(EXTRA_GNOME_LIBS).  Removed unneeded libraries.

	* e-meeting-time-sel-list-item.c, e-meeting-time-sel.c,
	e-meeting-time-sel.h: Fixed the #include lines to deal properly
	with gal.

If you've read this far, you deserve a prize.  The first email in my
mailbox with the subject "What a commit message!" (and your physical
mailing address somewhere in the message) will receive a free Helix
Code T-shirt mailed to anywhere within the continental United States.
I cannot be held responsible for problems with email systems anywhere.
This is supposed to be for fun, so please don't make a fuss if
something goes wrong and your mail doesn't reach me.  Find my email
elsewhere in this message, and if it's been more than a few days,
you're probably too late.

From widgets/misc/ChangeLog:

2000-09-18  Christopher James Lahey  <clahey@helixcode.com>

	* Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and
	$(EXTRA_GNOME_LIBS).  Removed unneeded libraries.

	* e-calendar-item.c, e-calendar.c, e-calendar.h, e-title-bar.c:
	Fixed the #include lines to deal properly with gal.

	* e-scroll-frame.c, e-scroll-frame.h: Moved to gal.

From widgets/shortcut-bar/ChangeLog:

2000-09-18  Christopher James Lahey  <clahey@helixcode.com>

	* Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and
	$(EXTRA_GNOME_LIBS).  Removed unneeded libraries.

	* e-icon-bar.c, e-icon-bar.h, e-shortcut-bar.c,
	e-shortcut-model.c, test-shortcut-bar.c: Fixed the #include lines
	to deal properly with gal.

From widgets/ChangeLog:

2000-09-18  Christopher James Lahey  <clahey@helixcode.com>

	* Makefile.am: Removed directories that have been moved to gal.

	* e-paned/.cvsignore, e-paned/Makefile.am, e-paned/e-hpaned.c,
	e-paned/e-hpaned.h, e-paned/e-paned.c, e-paned/e-paned.h,
	e-paned/e-vpaned.c, e-paned/e-vpaned.h: Moved to gal.

	* e-reflow/.cvsignore, e-reflow/Makefile.am,
	e-reflow/e-reflow-sorted.c, e-reflow/e-reflow-sorted.h,
	e-reflow/e-reflow.c, e-reflow/e-reflow.h: Moved to gal.

	* e-table/.cvsignore, e-table/ChangeLog, e-table/LICENSE,
	e-table/Makefile.am, e-table/ROADMAP.e-table, e-table/TODO,
	e-table/add-col.xpm, e-table/arrow-down.xpm, e-table/arrow-up.xpm,
	e-table/check-empty.xpm, e-table/check-filled.xpm,
	e-table/clip.png, e-table/e-cell-checkbox.c,
	e-table/e-cell-checkbox.h, e-table/e-cell-string.c,
	e-table/e-cell-text.c, e-table/e-cell-text.h,
	e-table/e-cell-toggle.c, e-table/e-cell-toggle.h,
	e-table/e-cell-tree.c, e-table/e-cell-tree.h, e-table/e-cell.c,
	e-table/e-cell.h, e-table/e-table-click-to-add.c,
	e-table/e-table-click-to-add.h, e-table/e-table-col-dnd.h,
	e-table/e-table-col.c, e-table/e-table-col.h,
	e-table/e-table-column-model.h, e-table/e-table-column.c,
	e-table/e-table-config.c, e-table/e-table-config.glade,
	e-table/e-table-config.glade.h, e-table/e-table-config.h,
	e-table/e-table-defines.h, e-table/e-table-example-1.c,
	e-table/e-table-example-2.c,
	e-table/e-table-field-chooser-dialog.c,
	e-table/e-table-field-chooser-dialog.h,
	e-table/e-table-field-chooser-item.c,
	e-table/e-table-field-chooser-item.h,
	e-table/e-table-field-chooser.c,
	e-table/e-table-field-chooser.glade,
	e-table/e-table-field-chooser.glade.h,
	e-table/e-table-field-chooser.h,
	e-table/e-table-group-container.c,
	e-table/e-table-group-container.h, e-table/e-table-group-leaf.c,
	e-table/e-table-group-leaf.h, e-table/e-table-group.c,
	e-table/e-table-group.glade, e-table/e-table-group.glade.h,
	e-table/e-table-group.h, e-table/e-table-header-item.c,
	e-table/e-table-header-item.h, e-table/e-table-header.c,
	e-table/e-table-header.h, e-table/e-table-item.c,
	e-table/e-table-item.h, e-table/e-table-model.c,
	e-table/e-table-model.h, e-table/e-table-one.c,
	e-table/e-table-one.h, e-table/e-table-scrolled.c,
	e-table/e-table-scrolled.h, e-table/e-table-selection-model.c,
	e-table/e-table-selection-model.h, e-table/e-table-simple.c,
	e-table/e-table-simple.h, e-table/e-table-size-test.c,
	e-table/e-table-sort-info.c, e-table/e-table-sort-info.h,
	e-table/e-table-sorted-variable.c,
	e-table/e-table-sorted-variable.h, e-table/e-table-sorted.c,
	e-table/e-table-sorted.h, e-table/e-table-sorter.c,
	e-table/e-table-sorter.h, e-table/e-table-subset-variable.c,
	e-table/e-table-subset-variable.h, e-table/e-table-subset.c,
	e-table/e-table-subset.h, e-table/e-table-text-model.c,
	e-table/e-table-text-model.h, e-table/e-table-tooltip.h,
	e-table/e-table-tree.h, e-table/e-table.c, e-table/e-table.h,
	e-table/e-tree-example-1.c, e-table/e-tree-example-2.c,
	e-table/e-tree-model.c, e-table/e-tree-model.h,
	e-table/e-tree-simple.c, e-table/e-tree-simple.h,
	e-table/image1.png, e-table/image2.png, e-table/image3.png,
	e-table/remove-col.xpm, e-table/sample.table,
	e-table/table-test.c, e-table/table-test.h, e-table/test-check.c,
	e-table/test-cols.c, e-table/test-table.c: Moved to gal.

	* e-text/.cvsignore, e-text/Makefile.am, e-text/e-entry-test.c,
	e-text/e-entry.c, e-text/e-entry.h,
	e-text/e-text-event-processor-emacs-like.c,
	e-text/e-text-event-processor-emacs-like.h,
	e-text/e-text-event-processor-types.h,
	e-text/e-text-event-processor.c, e-text/e-text-event-processor.h,
	e-text/e-text-model.c, e-text/e-text-model.h,
	e-text/e-text-test.c, e-text/e-text.c, e-text/e-text.h: Moved to
	gal.

i.e.,

...

changed evolution to work with gal.

svn path=/trunk/; revision=5490
2000-09-18 03:43:20 +00:00
4654c4625e Make the Home' and End' keys do the Right Thing. Remove circular
reference to the shell.  Bind "Open in New Window" to `Ctrl-O'.

svn path=/trunk/; revision=5181
2000-09-02 19:01:04 +00:00
8cb514d6dd Merge with camel-async.
svn path=/trunk/; revision=4687
2000-08-10 17:30:50 +00:00
bcbb63c59f Update for append_message api change.
2000-08-10  Not Zed  <NotZed@HelixCode.com>

        * mail-local.c (do_local_reconfigure_folder): Update for
        append_message api change.

        * message-list.c (message_list_regenerate): Change for search api
        change.
        (ml_tree_value_at): Add a colour column, based on the colour
        assigned in the summary.
        (message_list_init_renderers): Init colour column.

svn path=/trunk/; revision=4685
2000-08-10 16:37:02 +00:00
b9a9cd3a86 New convenience function with params of a normal Gtk callback function. We
2000-08-08  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-ops.c (view_msg): New convenience function with params of a
	normal Gtk callback function. We also now create a new
	FolderBrowser object so that the message-view window isn't tied to
	the display in the main window
	(view_message): Now calls view_msg (this function is a bonobo
	callback and can't be used with gtk widgets)
	(edit_msg): Same idea as view_msg()
	(edit_message): Again, same as view_message()

	* message-list.c (on_right_click): Callback for creating an
	e-popup-menu
	(message_list_init): Added a right_click event to trigger a pop-up
	menu to be displayed

svn path=/trunk/; revision=4619
2000-08-09 01:09:55 +00:00
580e879674 Removed counting of selected messages.
2000-07-26  Christopher James Lahey  <clahey@helixcode.com>

	* message-list.c, message-list.h: Removed counting of selected
	messages.

svn path=/trunk/; revision=4362
2000-07-26 20:25:40 +00:00
b3bdc8f5ea Update message_list_select_next to do either next or previous.
* message-list.c (message_list_select): Update
        message_list_select_next to do either next or previous.

svn path=/trunk/; revision=4047
2000-07-10 20:13:59 +00:00
f58676daaf Switched from ETable to ETableScrolled.
2000-07-10  Christopher James Lahey  <clahey@helixcode.com>

	* message-list.c, message-list.h: Switched from ETable to
	ETableScrolled.

svn path=/trunk/; revision=4034
2000-07-10 11:04:39 +00:00
1cc1f0a7a7 Add a "Threaded Message List" item to the "View" menu.
* folder-browser-factory.c (control_activate): Add a "Threaded
	Message List" item to the "View" menu.

	* message-list.c (message_list_toggle_threads): Handler for that.
	(build_flat): New function to build a "flat" message list using
	the tree model.
	(message_list_regenerate): Build tree or flat message list
	depending on the global setting.

svn path=/trunk/; revision=3999
2000-07-09 03:06:56 +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
647cc8b636 New function to select the first message on or after the given row that
* message-list.c (message_list_select_next): New function to
	select the first message on or after the given row that meets
	certain flag criteria.

	* folder-browser.c (etable_key): call message_list_select_next to
	select next non-deleted message after Delete.

	* mail-ops.c (real_fetch_mail): call message_list_select_next to
	select first unread message in current folder if it changes.
	(real_delete_msg): Remove the code to move the etable cursor. It
	only makes sense really if you deleted the message with the
	keyboard, so do it from there.

svn path=/trunk/; revision=3927
2000-07-06 21:33:07 +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
6f95a96083 New function, a wrapper around e_table_selected_row_foreach, which calls
* message-list.c (message_list_foreach): New function, a wrapper
	around e_table_selected_row_foreach, which calls the callback
	function with UIDs rather than row numbers.

	* folder-browser-factory.c: Remove never-used "Find" button from
	the toolbar and replace it with "Refile". (We need a better icon
	for this...). Hook up "Refile" to "refile_msg".

	* mail-ops.c (refile_msg): Call the shell's user_select_folder
	routine, and then use message_list_foreach and real_refile_msg to
	do the work.
	(delete_msg): Update to use message_list_foreach.

	* folder-browser.c (mail_uri_to_folder): new function, extracted
	from folder_browser_load_folder, to turn a URI into a folder.
	(folder_browser_load_folder): Use it.

svn path=/trunk/; revision=3833
2000-06-30 20:05:47 +00:00
263cc3a01f use the ETable row_selection signal to track how many rows are selected.
* message-list.c (on_row_selection): use the ETable row_selection
	signal to track how many rows are selected. Eventually we will use
	this info to disable toolbar buttons when you have too few/too
	many messages selected, but the current toolbar widget doesn't
	allow that.

	* message-list.h, message-list.c, mail-ops.c: Change selected_row
	and selected_uid fields of MessageList to cursor_row and
	cursor_uid to be more correct according to the new ETable
	interfaces.

svn path=/trunk/; revision=3829
2000-06-30 17:46:48 +00:00
09f78111f5 message-list.c: added prototype for filter_date()
svn path=/trunk/; revision=3772
2000-06-28 15:02:30 +00:00
4907469fb0 Update received date to work like sent date.
* message-list.c: Update received date to work like sent date.

svn path=/trunk/; revision=3678
2000-06-21 18:17:21 +00:00
78c8bb8577 Implement clicking on the envelope icon to set read/unread. Based on a
* message-list.c (ml_set_value_at): Implement clicking on the
	envelope icon to set read/unread. Based on a patch by clahey.
	(select_msg): keep the timeout id for the "seen" flagging in the
	message_list structure, so ml_set_value_at can clear it so it
	doesn't re-mark a message seen after you click it unseen.

svn path=/trunk/; revision=3601
2000-06-16 23:50:29 +00:00
9c21067261 new function to do a uid to row mapping. (mark_msg_seen, select_msg,
* message-list.c (get_message_row): new function to do a uid to
	row mapping.
	(mark_msg_seen, select_msg, message_changed,
	message_list_set_folder): Update for Camel flag changes.
	(on_cursor_change_cmd): Rename "row_to_select" to "selected_row",
	and keep a "selected_uid" as well.

	* mail-ops.c (composer_send_cb): Update for Camel flag changes,
	and fix some memory-handling bugs. (Free the post_send_data when
	the composer is destroyed, not when the user clicks "send", which
	could happen never, or more than once.)
	(delete_msg): Update for Camel flag changes, and fix the "holding
	down the delete key skips some messages" bug.

svn path=/trunk/; revision=3600
2000-06-16 23:11:10 +00:00
df39895417 Add a date column. (COL_SENT_WIDTH_MIN): Make this wider. (ml_value_at):
* message-list.c: Add a date column.
	(COL_SENT_WIDTH_MIN): Make this wider.
	(ml_value_at): return the sent date (as a time_t) for COL_SENT.
	(Fix COL_TO too while I'm here.)
	(ml_duplicate_value, ml_free_value, ml_initialize_value,
	ml_value_is_empty): COL_SENT is numeric now.
	(message_list_init_renderers): Create a date renderer (using
	text_filter to translate the time_t into a string).
	(message_list_init_header): Use render_date for COL_SENT.

svn path=/trunk/; revision=3365
2000-06-02 02:32:10 +00:00
f0ec699349 Added bold for unread messages.
2000-05-30  Christopher James Lahey  <clahey@helixcode.com>

	* message-list.c, message-list.h: Added bold for unread messages.

svn path=/trunk/; revision=3292
2000-05-30 20:59:12 +00:00
0473e106f0 Added a COL_DELETED and made it the strikeout column for both text
2000-05-28  Christopher James Lahey  <clahey@helixcode.com>

	* message-list.c, message-list.h: Added a COL_DELETED and made it
	the strikeout column for both text renderers.

svn path=/trunk/; revision=3237
2000-05-28 04:22:13 +00:00
241a35c42f Requires a camel-patch, about to come through ...
2000-05-04  NotZed  <NotZed@HelixCode.com>

	* message-list.c (message_list_set_folder): Get the whole message
	summary right away.
	(folder_changed): And if we change too.
	(ml_row_count): Use the match count or summary table length as the
	row count.
	(get_message_info): Use array references to lookup message summary
	info.  For the search result list, use the summary_search_cache to
	cache the info lookup.
	(message_list_init): Allocate the summary search cache.
	(message_list_destroy): Free the summary search cache and the
	summary table, if there is one to free.
	(message_list_set_search): Save the match count, and clear the
	summary search cache for reuse.
	(folder_changed): Re-retrieve the summary list if the folder has
	changed.
	(message_list_set_folder): Retrieve the summary list when opening
	the folder.

svn path=/trunk/; revision=2807
2000-05-05 03:42:22 +00:00
ab96ee0005 > 2000-05-02 NotZed <NotZed@HelixCode.com>
>
> 	* folder-browser.c (folder_browser_gui_init): Connect the changed
> 	signal to search, so it searched immediately?
>
40a46,48
> 	(message_list_set_search): Save the search string.
> 	(folder_changed): If the folder changes, re-run the search,
> 	otherwise we may end up with invalid entries in the display.

svn path=/trunk/; revision=2749
2000-05-02 17:53:26 +00:00
56f4dd919f Added a deleted message icon whcih shows when messages are
deleted (takes a while to update the gui for some reason).
Updates the gui when expunged, via a signal.

	* pixmaps.h: Added envelope-deleted state.

	(message_list_init_renderers): Added a 3rd state to message_status
	= deleted.
	(ml_value_at): Show the message state as deleted, if it is marked
	for deletion.
	(folder_changed): When the folder changes, update the display.
	(message_list_set_folder): Connect to the folder_changed event
	here.
	(message_changed): Callback to update the display when the message
	changes.
	(select_msg): And connect to the message_changed signal so we know
	when it cahgnes.

svn path=/trunk/; revision=2746
2000-05-02 03:33:55 +00:00
5c3e0a6314 A hackish little quick-search entry. (search_activate): Perform a
2000-05-01  NotZed  <NotZed@HelixCode.com>

        * folder-browser.c (folder_browser_gui_init): A hackish little
        quick-search entry.
        (search_activate): Perform a quick-search on the folder subject
        only.

        * message-list.c (get_message_info): If there is an active search,
        then get the data from that ... use this instead of
        _get_message_info().
        (ml_row_count): If we have an active search, get the info from its
        result.
        (select_msg): Changed to use get_message_info, so searches work.
        (ml_value_at): And same here.

        * mail-display.c: Include missing errno.h.

svn path=/trunk/; revision=2724
2000-05-01 21:51:03 +00:00
6b5b1f6de9 Add libibex.la to link.
2000-04-20  NotZed  <NotZed@HelixCode.com>

        * Makefile.am (evolution_mail_LDADD): Add libibex.la to link.

        * message-list.h: Removed folder summary.

        * message-list.c: Dont include folder-summary anymore.
        (select_msg): Changed to use folder, not summary in
        summary_get_message_info().  God this code is grotty.
        (ml_value_at): Ditto.
        (ml_value_at): Changed to use new interface.  Hmm, this returns a
        static variable, that seems wrong.
        (message_list_set_folder): Remove folder summary.

svn path=/trunk/; revision=2530
2000-04-20 23:47:40 +00:00
7aa932f07e new function, actually calls select_msg. (on_row_selection_cmd): register
* message-list.c (on_row_selection_idle): new function, actually
	calls select_msg.
	(on_row_selection_cmd): register an idle instead of calling
	select_msg directly.  this fixes the lag before the row is
	selected - selection is instantaneous now, with message loading
	happening afterward.

	* message-list.h: add row_to_select and an idle_id to the message
	list to make the select_msg call happen in an idle func.

svn path=/trunk/; revision=2470
2000-04-17 07:59:16 +00:00
207a1395e1 plug mem leaks due to bad documentation of
2000-03-07  bertrand  <bertrand@helixcode.com>

	* camel-formatter.c (handle_mime_part):
	plug mem leaks due to bad documentation
	of camel_content_field_get_mime_type
	(print_camel_body_part): idem
	(handle_multipart_alternative): idem

	* gmime-content-field.c (gmime_content_field_get_mime_type):
	documentation fix.


	* camel-mime-part.c (my_finalize): unref the
	content_input_stream if any.

	* shell/e-shell-shortcut.c (shortcut_bar_item_selected):
	removed a test that prevented the standard menu
	to be shown.

svn path=/trunk/; revision=2089
2000-03-08 19:53:31 +00:00
7c164f12b9 More changes than a man can remember.
The UI works now.

svn path=/trunk/; revision=2074
2000-03-06 09:38:42 +00:00
c2ae364efc More work. Not funny that e-table does not display.
More work.  Not funny that e-table does not display.

Miguel.

svn path=/trunk/; revision=1654
2000-01-29 12:29:44 +00:00
9f31ce86ff Make Evolution compile with the latest Bonobo changes.
Make Evolution compile with the latest Bonobo changes.

Miguel.

svn path=/trunk/; revision=1636
2000-01-26 00:04:16 +00:00
670f57583d More work
svn path=/trunk/; revision=1628
2000-01-25 08:43:24 +00:00