Commit Graph

126 Commits

Author SHA1 Message Date
f88c5b4073 Get the X-Evolution-Transport URL and use that if it exists, else fall
2001-01-13  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-ops.c (do_send_queue): Get the X-Evolution-Transport URL
	and use that if it exists, else fall back on the default
	transport.

	* mail-callbacks.c (composer_postpone_cb): Set an
	X-Evolution-Transport header.

svn path=/trunk/; revision=7474
2001-01-13 05:59:32 +00:00
7b02bff821 Get the account by using the new e_msg_composer_get_preferred_account()
2001-01-12  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-callbacks.c (composer_send_cb): Get the account by using
	the new e_msg_composer_get_preferred_account() function. Also
	check to make sure everything is configured (in case they deleted
	their accounts while composing mail?).

	* mail-config.c (mail_config_get_account_by_address): New
	convenience function.

svn path=/trunk/; revision=7459
2001-01-12 21:15:36 +00:00
834325ad2b Force finalization of the function before returning fixing the FIXME that
2001-01-11  Miguel de Icaza  <miguel@gnu.org>

	* mail-callbacks.c (configure_mail): Force finalization of the
	function before returning fixing the FIXME that was there.

svn path=/trunk/; revision=7429
2001-01-12 04:25:40 +00:00
43f23f54d9 New function that explains to the user why he can't do the action he
2001-01-10  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-callbacks.c (configure_mail): New function that explains to
	the user why he can't do the action he requested and then procedes
	to ask if he'd like to configure his accounts now.
	(check_send_configuration): If the user doesn't have configured
	accounts, don't let him continue and call configure_mail().
	(fetch_mail): Same.
	(send_queued_mail): Same.
	(send_receieve_mail): Same.

	* mail-config.c (mail_config_write): Don't save a "is_configured"
	variable. Instead we'll just check to see if we have accounts - if
	yes, then configured == TRUE.
	(mail_config_is_configured): return accounts != NULL.
	(mail_config_get_default_account): Mark the first account as the
	default if none are marked.

svn path=/trunk/; revision=7377
2001-01-11 00:18:40 +00:00
18121f04a2 Prevent Federico's segfault.
2001-01-10  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-callbacks.c (send_queued_mail): Prevent Federico's segfault.

svn path=/trunk/; revision=7372
2001-01-10 21:27:37 +00:00
a2d998fe13 Brand spankin' new config druid, editor, and manager.
2001-01-08  Jeffrey Stedfast  <fejj@helixcode.com>

	* Makefile.am:
	* component-factory.c:
	* folder-browser-factory.c:
	* folder-browser.c:
	* mail-accounts.[c,h]:
	* mail-account-editor.[c,h]:
	* mail-callbacks.c:
	* mail-config.[c,h]:
	* mail-config-druid.[c,h]:
	* mail-config-druid.glade:
	* mail-display.c:
	* mail-format.c:
	* mail-tools.c: Brand spankin' new config druid, editor,
	and manager.

svn path=/trunk/; revision=7313
2001-01-09 03:31:31 +00:00
875c9d02c4 Reverted mail-config changes temporarily until I get it working correctly.
2001-01-08  Jeffrey Stedfast  <fejj@helixcode.com>

	* Makefile.am:
	* component-factory.c:
	* folder-browser-factory.c:
	* folder-browser.c:
	* mail-callbacks.c:
	* mail-config.[c,h]:
	* mail-display.c:
	* mail-format.c:
	* mail-tools.c: Reverted mail-config changes temporarily until
	I get it working correctly.

svn path=/trunk/; revision=7305
2001-01-08 20:51:24 +00:00
deb9cf4359 More lovely fixes...
2001-01-08  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-config-druid.c: More lovely fixes...

	* mail-callbacks.c: Don't segfault if a default account doesn't
	exist.

svn path=/trunk/; revision=7302
2001-01-08 20:37:44 +00:00
51bd9ba1bb A bunch of fixes.
2001-01-08  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-config-druid.c: A bunch of fixes.

	* mail-accounts.c: More fixes...

	* mail-account-editor.c (construct): Reparent the notebook to the
	editor->vbox and set the resize policy.

svn path=/trunk/; revision=7301
2001-01-08 20:05:56 +00:00
35139b2983 Updated to reflect changes to the mail-config API.
2001-01-07  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-tools.c (mail_tool_quote_message): Updated to reflect
	changes to the mail-config API.

	* mail-display.c (redisplay): Updated to reflect changes to the
	mail-config API.

	* mail-callbacks.c (providers_config): Use the new account dialog.

	* mail-config-druid.c (druid_finish): Load the new storage into
	the shell.
	(mail_config_druid_new): Take a shell argument.

	* mail-format.c (mail_generate_reply): Updated to reflect changes
	to the mail-config API.

	* mail-config-druid.c: Fixed this to build.

	* mail-callbacks.c (check_send_configuration): Updated to reflect
	changes to the mail-config API.
	(create_msg_composer): Same.
	(forward_get_composer): Same.
	(send_queued_mail): Same.
	(composer_send_cb): Same.

	* mail-account-editor.c: Updated to build cleanly.  *
	mail-config-druid.c: Same.  * mail-accounts.c: Same.

	* folder-browser-factory.c (control_activate): Updated for API
	changes in mail-config.

	* folder-browser.c (done_message_selected): Updated for API
	changed in mail-config.
	(folder_browser_gui_init): Same.
	(got_folder): Same.

	* component-factory.c (owner_set_cb): After using the sources
	list, free it as it is no longer a const GSList as with the older
	mail-config code.

	* mail-config.c: Totally rewritten.

svn path=/trunk/; revision=7298
2001-01-08 02:14:23 +00:00
d53b9af629 Updated to reflect changes to the mail-config API. (create_msg_composer):
2001-01-07  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-callbacks.c (check_send_configuration): Updated to reflect
	changes to the mail-config API.
	(create_msg_composer): Same.
	(forward_get_composer): Same.
	(send_queued_mail): Same.
	(composer_send_cb): Same.

	* mail-account-editor.c: Updated to build cleanly.  *
	mail-config-druid.c: Same.  * mail-accounts.c: Same.

	* folder-browser-factory.c (control_activate): Updated for API
	changes in mail-config.

	* folder-browser.c (done_message_selected): Updated for API
	changed in mail-config.
	(folder_browser_gui_init): Same.
	(got_folder): Same.

	* component-factory.c (owner_set_cb): After using the sources
	list, free it as it is no longer a const GSList as with the older
	mail-config code.

	* mail-config.c: Totally rewritten.

svn path=/trunk/; revision=7294
2001-01-07 23:12:11 +00:00
f4f3ede9d3 Removed old implementation.
2001-01-04  Not Zed  <NotZed@HelixCode.com>

	* mail-ops.c (mail_do_send_mail): Removed old implementation.

	* folder-browser.c (do_message_selected): If we haven't got a real
	uid, then clear the display instead.

	* message-list.c (message_list_drag_data_get): Use new save
	message function, and also wait for it to finish before
	continuing.
	(folder_changed):
	(message_changed): Use mail_proxy_event instead of
	mail_do_forward.
	(mail_regen_list): New iplementation to replace the old.
	: remove <gnome.h> from headers.  Dont define timeit by default.
	(main_folder_changed):
	(message_list_set_folder):
	(message_list_set_threaded):
	(message_list_set_search):
	(message_list_hide_add):
	(message_list_hide_uids):
	(message_list_hide_clear): Use mail_regen_list instead of
	mail_do_regenerate_messagelist.
	(mail_do_regenerate_messagelist): Removed the old stuff.  No
	functionality changed yet, just using different thread stuff.

	* mail-callbacks.c (save_msg_ok): Use new save message function.

	* component-factory.c (create_view):
	(add_storage): Use mail_scan_subfolders to build the folder info.
	(create_folder): Use new implementation with our own callback.
	(owner_set_cb): Changed b ack to use mail_get_folder, but now wait
	for it to finish.  This will let any gui still run, but also gives
	us the required synchronous operation.
	(got_folder): Callback for when the folder has been opened.

	* mail-ops.c (mail_get_folderinfo): New function to just get the
	folder info in another thread.
	(mail_scan_subfolders): New scan subfolder implementation that
	uses mail_get_folderinfo.
	(mail_do_scan_subfolders): Removed old implementation.
	(mail_create_folder): Nerw implementation to create a folder, only.
	(mail_do_create_folder): Removed old implementation.
	(mail_save_messages): New implementation, fixes a couple of minor
	problems, and now provides a return so it can be waited on.  Also
	check that the writes worked, etc.
	(mail_do_save_messages): Remove previous implementation.
	(mail_do_flag_messages): Removed, nothing uses it.
	(mail_do_flag_messages): Removed, nothing uses it anymore.
	(mail_get_folder): REturn the operation id, so callers can wait
	for it.
	(sync_folder_desc):
	(expunge_folder_desc): Add describe functions so we know what its
	doing.
	(mail_send_mail): More generic implementation of sending mail.

	* mail-mt.c (mail_msg_new): Lock around seq increment.  And insert
	each new message into a hash table of active messages.
	(mail_msg_init): Init the active message table.
	(mail_msg_free): Remove the message from the active message table.
	(mail_msg_wait): New function, waits for a message to be
	processed, by id.
	(mail_msg_check_error): Dont display the error if it is a
	user-cancelled operation.
	(mail_proxy_event): new implementation of mail_op_forward_event.
	Only real difference is it uses the new	thread stuff, and you can
	wait for it to finish if you want.
	(mail_proxy_event): If we're already in the main thread, just call
	the function.

svn path=/trunk/; revision=7246
2001-01-04 07:34:26 +00:00
c37da13423 Call mail-callbacks.c:forward_messages(), so the behaviour is the same as
2001-01-03  Not Zed  <NotZed@HelixCode.com>

        * mail-view.c (view_forward_msg): Call
        mail-callbacks.c:forward_messages(), so the behaviour is the same
        as from the folder browser.

        * mail-callbacks.c (forward_messages): New function to forward
        messages, attached or not.
        (forward_inlined): Changed to use new forward-messages
        implementation.
        (forward_attached): Likewise.
        (do_forward_attach): Callback for forwarding as attachment, once
        we have built it.
        (do_forward_inline): Likewise, for inline, once we have retrieved
        the message.
        (forward_message): Removed.

        * mail-ops.c (mail_build_attachment): New function to build an
        attachment of messages.
        (mail_do_attach_message): Removed, functionality superceeded by
        above.
        (mail_do_forward_message): Removed.  Likewise.
        (mail_create_folder): Started work on an alternative
        implementation of create_folder, but not sure about it yet.

        * mail-tools.c (mail_tool_generate_forward_subject): Remove locking.
        (mail_tool_make_message_attachment): Free the description when done.

svn path=/trunk/; revision=7232
2001-01-03 11:52:04 +00:00
a16344fff4 Fix for mail_get_message change, use queue thread.
2001-01-02  Not Zed  <NotZed@HelixCode.com>

	* mail-callbacks.c (view_msg): Fix for mail_get_message change,
	use queue thread.

	* folder-browser.c (done_message_selected): Fix mail_Get_message
	calls, use new thread.
	(do_message_selected): "

	* mail-ops.c (mail_get_message): Add a thread argument so callers
	can specify which queue it executes on.

	* mail-mt.c (mail_msg_free): Fix a free order problem.
	(mail_msg_destroy): Call mail_msg_free to do the work.
	(mail_msgport_replied): "
	(mail_msgport_replied): Check/display errors if we get them.
	(mail_msgport_received): If we have a describe function, say what
	we're doing, also set busy/unbusy.
	(mail_msgport_replied): Clear busy when we get a reply.
	(mail_get_password): Unset busy.
	(mail_msg_received): Set busy as we go.
	(mail_msg_destroy): Unset busy when done.
	(mail_status): Blah blah, new status interface, the other wans't
	workable with the way the shell api works.

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

	* folder-browser.c (do_message_selected): If we are reconfiguring,
	just keep polling till we are done (yeah kinda shitty, but easy).
	(folder_browser_set_uri): Clear reconfigure flag here.  ick.
	(got_folder): And here too.
	(on_right_click): Remove locking.
	(hide_sender): and here too.
	(hide_subject): And here.
	(on_right_click): If we are in reconfigure, then the whole menu is disabled.

	* mail-mt.c (status_busy_timeout): Clear the status_busy_timeout_id.

	* mail-local.c (local_storage_new_folder_cb): Made getting folders
	completely synchronous.  The shell expects it, and it was only
	synchronous before by a sideeffect.
	(do_reconfigure_folder): Remove locking stuff.
	(do_reconfigure_folder): Use our own much simpler copying routine
	than that stupid move_folder_contents thing.
	(update_progress): Use mail_status_message() instead.
	(do_reconfigure_folder): Set the reconfigure flag during
	reconfigure & set busy flag.
	(cleanup_reconfigure_folder): clear busy flag.

	* mail-tools.c (mail_tool_uri_to_folder): Remove the tool_lock
	stuff.
	(mail_tool_uri_to_folder_noex): Clear exception on exit.
	(mail_tool_move_folder_contents): Get rid of this really stupid
	function that is only used in one place.

	* component-factory.c (owner_set_cb): Use direct calls to get the
	folders, as this code must run synchronous.  Remove the event wait
	stuff.

	* mail-callbacks.c (edit_msg): Call mail_get_messages, and create
	the composers ourself.
	(do_edit_messages): get_messages callback, create the composers
	and connect to signals we need.
	(view_msg): Dont call do_view_messages, just call
	mail_get_messge for each to get them in parallel.
	(do_view_message): view a single message.

	* mail-ops.c (mail_edit_messages): Just use mail_get_messages
	for this operation.  Removed the other async operation stuff.
	Changed my mind, just removed entirely.
	(mail_do_view_messages): Removed.
	(mail_do_setup_folder): Removed.
	(mail_do_scan_subfolders): Make this run synchronously, as every
	caller expects it to (even if they didn't realise).

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

	* mail-callbacks.c (send_queued_mail): Dont expunge the folder
	here, but in send_queue, otherwise it might execute out of order.
	(expunge_folder): Remove the talbe prechange stuff, and infact
	references to the message_list folder, as we have our own folder.
	Also, dont allow expunge if we're already expunging.
	(expunged_folder): Clkear the expunging flag if we're finished.

	* folder-browser-factory.c (control_deactivate): Likewise here.
	Hrm, i thought this function required a callback, silly me.

	* mail-tools.c (mail_tool_make_message_attachment): Remov e
	locking.

	* folder-browser.c (on_message_selected): Use a timeout handler so
	we dont select immediately.
	(folder_browser_set_uri): Changed to use mail_get_folder.
	(got_folder): New callback called when get_folder is finished.
	(folder_browser_destroy): Use new sync interface.

	* mail-ops.c (mail_get_message): New function to asynchrounously
	get a message.
	: #define out mail_tool_camel_lock stuff entirely.
	(mail_get_folder): New function to asynchrounously get a folder.
	(mail_do_load_folder): Removed, replaced by more generic function
	above.
	(mail_do_display_message): Removed, replaced by the more generic
	funciton get_message.
	(mail_get_messages): New function to get a list of messages
	asynchronously.
	(mail_sync_folder): New interface to sync a folder async.
	(mail_expunge_folder): New interface for expunging folder, with
	callback.
	(do_send_queue): Remove lock stuff, and expunge if (and only if)
	successful, also sync the sent folder while we're at it.

	* session.c (mail_session_request_dialog): Changed to use new
	mail_get_password call.

	* mail-mt.[ch]: New threading/interthread messaging framework.

	* main.c (main): Init the message/thread system.

svn path=/trunk/; revision=7223
2001-01-03 01:18:21 +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
b03dcd7552 Attach a signature when forwarding, fixes bug #826.
2000-12-12  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-callbacks.c (forward_message): Attach a signature when
	forwarding, fixes bug #826.

svn path=/trunk/; revision=6944
2000-12-12 22:26:19 +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
c65fda0e89 Check to see if the file already exists, if it does prompt the user to for
2000-12-08  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-callbacks.c (save_msg_ok): Check to see if the file already
	exists, if it does prompt the user to for permission to overwrite
	the file.
	(forward_message): g_strdup the cursor_uid if there is only a
	single message to be forwarded or we'll segfault later.

	* mail-ops.c (do_save_messages): Rewrote yet again. I'm back to
	almost an identical implementation as the first time I wrote this
	except now we write the From line which I had forgotten last
	time. This means that we no longer have to unlink the .ev-summary
	file created and we also use fewer resources (no need to create a
	CamelMboxFolder object).

svn path=/trunk/; revision=6882
2000-12-09 02:09:56 +00:00
cec18e26aa Only do a message_list_foreach if we plan on attaching messages, otherwise
2000-12-07  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-callbacks.c (forward_message): Only do a
	message_list_foreach if we plan on attaching messages, otherwise
	just use ml->cursor_uid.

	* mail-ops.c (cleanup_forward_messages): If attaching multiple
	forwarded message, wrap them in a multipart/digest otherwise just
	attach the single message as a message/rfc822.

svn path=/trunk/; revision=6851
2000-12-07 23:41:59 +00:00
97f16d13a4 Add some g_return_if_fail()s to protect from crashes until the code to
* mail-callbacks.c: (various)
	* folder-browser.c (filter_mlist):
	* mail-autofilter.c (filter_gui_add_from_message):
	* mail-vfolder.c (vfolder_gui_add_from_message): Add some
	g_return_if_fail()s to protect from crashes until the code to
	enable/disable commands based on how many messages are selected is
	done.

svn path=/trunk/; revision=6840
2000-12-07 19:19:48 +00:00
bfb8c33969 Make inline forwarding not be the default anymore.
svn path=/trunk/; revision=6771
2000-12-04 10:52:55 +00:00
f22ac8e3a0 Added the SaveAs bonobo menu verb thingy.
2000-11-28  Jeffrey Stedfast  <fejj@helixcode.com>

	* folder-browser-factory.c: Added the SaveAs bonobo menu verb
	thingy.

	* mail-callbacks.c (save_msg): New callback for saving messages.
	(save_msg_ok):

	* folder-browser.c (on_right_click): Add a Save Ass menu item.

	* mail-ops.c (cleanup_save_messages): Save all emails to the path
	given.

svn path=/trunk/; revision=6699
2000-11-28 20:37:43 +00:00
0fa1b87e9e New function to return if user wants to view message source.
2000-11-21  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-config.c (mail_config_view_source): New function to return
	if user wants to view message source.
	(mail_config_set_view_source): New function to set whether the
	view wants to view source.

	* mail-ops.c (mail_do_view_message_sources): Removed. We're not
	gonna view-source this way anymore.

	* folder-browser-factory.c: Removed the ViewSource bonobo verb
	from the Message menu.
	(control_activate): Added ViewSource.

	* folder-browser.c (on_right_click): Removed Message menu item to
	view message source.
	(folder_browser_toggle_view_source): New callback to set whether
	or not the MailDisplay shows the raw message or the pretty-ified
	message.

	* mail-callbacks.c: Removed view_source.

	* mail-display.c (redisplay): If toggle_raw is set then display
	the raw message else display the pretty formatted message.
	(mail_display_redisplay): New function to force the redisplay of a
	message.

	* mail-format.c (mail_format_raw_message): New function to
	write the raw message data.

svn path=/trunk/; revision=6639
2000-11-21 22:09:51 +00:00
64f95feb7d Added a new Forward as Attachment bonobo menu item verb.
2000-11-15  Jeffrey Stedfast  <fejj@helixcode.com>

	* folder-browser-factory.c: Added a new Forward as Attachment
	bonobo menu item verb.

	* mail-view.c (view_forward_msg): Updated to reflect changes to
	mail_do_forward_message(). It now forwards the message without
	attaching it - is this what we want?

	* mail-ops.c (mail_do_view_message_sources): New async function to
	display message source dialog windows.
	(setup_forward_messages): If we were asked not to forward the
	message(s) as attachment(s) and the user chose more than a single
	message, then default to making each message an attachment.
	(cleanup_forward_messages): If we aren't forwarding the message as
	an attachment, then quote the text and set the composer's body
	with it.

	* mail-callbacks.c (view_source): New callback to view the message
	source of all messages that are currently selected.
	(forward_attach): New callback to forward a message as an
	attachment (forward_msg is now for forwarding a message without it
	being an attachment).
	(forward_message): Convenience function for forwarding messages.

svn path=/trunk/; revision=6585
2000-11-16 00:36:07 +00:00
b3a57cc8fe likewise
2000-11-08  Radek Doulik  <rodo@helixcode.com>

	* mail-format.c (mail_generate_reply): likewise

	* mail-callbacks.c (create_msg_composer): added send_html arg to
	e_msg_composer_new_with_sig_file call

svn path=/trunk/; revision=6511
2000-11-08 17:32:37 +00:00
3ccbffa051 Don't invert the flag. (undelete_msg): Same (when multiple messages are
2000-11-06  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-callbacks.c (delete_msg): Don't invert the flag.
	(undelete_msg): Same (when multiple messages are selected).

svn path=/trunk/; revision=6421
2000-11-06 20:45:52 +00:00
d893466560 Updated to have the same menu items as the new right-click menu -
2000-11-06  Jeffrey Stedfast  <fejj@helixcode.com>

	* folder-browser-factory.c: Updated to have the same menu items as
	the new right-click menu - eventually these 2 menus should be the
	same.

	* folder-browser.c (on_right_click): Now correctly handles the
	case of multiple selection.

	* mail-callbacks.c (enumerate_msg): Make public so it can be used
	in other source files (it's a useful function!)

svn path=/trunk/; revision=6419
2000-11-06 20:05:25 +00:00
9ca299b427 Added an "Undelete" option to the right-click menu and also set a mask so
2000-11-05  Jeffrey Stedfast  <fejj@helixcode.com>

	* folder-browser.c (on_right_click): Added an "Undelete" option to
	the right-click menu and also set a mask so it was only selectable
	if the message is marked as deleted. Also set a mask for "Mark as
	Read" and "Mark as Unread".

	* mail-callbacks.c (undelete_msg): New callback to undelete
	messages.

svn path=/trunk/; revision=6407
2000-11-06 00:53:20 +00:00
1cb19b5a1b Added new header files.
2000-11-03  Jeffrey Stedfast  <fejj@helixcode.com>

	* Makefile.am: Added new header files.

	* component-factory.c (owner_set_cb):
	s/session_init/mail_session_init

	* session.c: Renamed public functions to mail_session_*.
	FIXME: Rename session.c to mail-session.c

	* folder-browser-factory.c: #include "mail-callbacks.h", #include
	"mail-session.h" and replace forget_passwords with
	mail_session_forget_passwords

	* mail.h: Move session prototypes to mail-session.h, Move
	mail-crypto prototypes to mail-crypto.h, Move mail-callback
	prototypes to mail-callbacks.h

	* mail-session.h: New header file containing public prototypes
	for session.c

	* mail-format.c: #include "mail-crypto.h"

	* mail-view.c:
	* folder-browser.c: #include "mail-callbacks.h"

	* mail-crypto.h: New header file containing public prototypes
	for mail-crypto.c

	* mail-callbacks.h: New header file containing public prototypes
	for mail-callbacks.c

	* message-list.c (message_list_get_layout): Set useful defaults.
	(message_list_setup_etable): Don't set the Outbox defaults on a
	folder just because it doesn't have a corresponding saved file.

svn path=/trunk/; revision=6372
2000-11-03 18:55:41 +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
e0668b4fde Shouldn't we be strdup'ing the content? This seems to fix the memory
2000-10-31  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-format.c (mail_get_message_body): Shouldn't we be
	strdup'ing the content? This seems to fix the memory corruption
	problems.
	(mail_generate_reply): Make sure that the last char in the
	generated reply text is '\0' (when bodt text doesn't end with a
	\n, a random char will appear otherwise).

svn path=/trunk/; revision=6306
2000-11-01 00:55:38 +00:00
78a43af4b2 Check to make sure that the recipient list is neither NULL nor a 0-length
2000-10-27  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-callbacks.c (composer_send_cb): Check to make sure that the
	recipient list is neither NULL nor a 0-length list of addresses
	and pop up a dialog letting the user know why we are not allowing
	him/her to send the message.

svn path=/trunk/; revision=6238
2000-10-27 20:28:14 +00:00
37ffc13dcb Check for the TO recipient list being NULL and don't send.
2000-10-26  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-callbacks.c (composer_send_cb): Check for the TO recipient
	list being NULL and don't send.

svn path=/trunk/; revision=6201
2000-10-26 06:09:47 +00:00
3a69bfad53 Don't forget to unref the FilterDriver.
2000-10-25  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-ops.c (do_send_mail): Don't forget to unref the
	FilterDriver.

	* mail-callbacks.c (apply_filters): New callback for applying
	on-demand filters. (removed the old on-demand filters callback).

	* mail-ops.c (do_filter_ondemand): Rewrote to apply "incoming"
	filters to all selected messages.
	(mail_do_filter_ondemand): No longer takes a FilterContext
	argument or a destination folder argument (why did we ever need
	this last one??) but now takes a uids argument.

	* folder-browser-factory.c: Add a MessageApplyFilters menu item.

svn path=/trunk/; revision=6190
2000-10-26 00:16:31 +00:00
360675f54b lots of i18n fixes
svn path=/trunk/; revision=6143
2000-10-24 05:23:27 +00:00
0887fc650f Apply outgoing filters to the message.
2000-10-23  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-ops.c (do_send_mail): Apply outgoing filters to the
	message.

svn path=/trunk/; revision=6140
2000-10-24 02:53:01 +00:00
88cbebbb3d s/BonoboUIHandler/BonoboUIComponent/
2000-10-20  Michael Meeks  <michael@helixcode.com>

	* mail.h: s/BonoboUIHandler/BonoboUIComponent/

	* mail-callbacks.c (run_filter_ondemand): ditto.

	* session.c (forget_passwords): ditto.

svn path=/trunk/; revision=6085
2000-10-20 21:16:11 +00:00
2da5643867 #include "mail-vfolder.h" (vfolder_edit_vfolders): Don't call the dummy
2000-10-19  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-callbacks.c: #include "mail-vfolder.h"
	(vfolder_edit_vfolders): Don't call the dummy vfolder_edit
	function.

	* folder-browser-factory.c: s/VFolderEdit/SetVFolder

svn path=/trunk/; revision=6053
2000-10-19 21:44:37 +00:00
8d91a9c1c6 Disable the optionmenu because it is empty. (service_page_item_auth_fill):
2000-10-17  Iain Holmes  <iain@helixcode.com>

        * mail-config-gui.c (service_page_item_new): Disable the optionmenu
        because it is empty.
        (service_page_item_auth_fill): Enable the optionmenu as there's stuff
        in it now.

        * mail-callbacks.c (reply_to_sender): Call check_send_configuration
        when we have the FolderBrowser because if it is done in mail_reply
        (with passing NULL) it will only be able to continue if the mailer
        has already been configured.
        (reply_to_all): Same.

svn path=/trunk/; revision=5984
2000-10-18 10:51:55 +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
cf44c7e8b2 fetch mail before sending, this is a temp fix for POP-before-SMTP
2000-10-05  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-callbacks.c (send_receieve_mail): fetch mail before
	sending, this is a temp fix for POP-before-SMTP authentication.

svn path=/trunk/; revision=5749
2000-10-05 21:47:57 +00:00
83b5ac87fc Use CamelInternetAddress instead of my quick hack (aka InternetAddress).
2000-10-04  Jeffrey Stedfast  <fejj@helixcode.com>

	* message-list.c (address_compare): Use CamelInternetAddress
	instead of my quick hack (aka InternetAddress).

svn path=/trunk/; revision=5741
2000-10-05 01:49:13 +00:00
9ec39960ad Instead of UnSelectAll, we want InvertSelection.
2000-10-04  Jeffrey Stedfast  <fejj@helixcode.com>

	* folder-browser-factory.c: Instead of UnSelectAll, we want
	InvertSelection.

	* mail-callbacks.c (select_all): Finished this function.
	(invert_selection): Finished. (was unselect_all - but that's not
	what we really wanted as it'd be pointless. invert_selection is a
	much more useful callback :-)

svn path=/trunk/; revision=5725
2000-10-04 22:41:05 +00:00
1b07e47ee6 Added a comment to a piece of code that I was trying to "fix" just to find
2000-10-04  Miguel de Icaza  <miguel@helixcode.com>

	* mail-callbacks.c (delete_msg): Added a comment to a piece of
	code that I was trying to "fix" just to find that the strange
	behaviour here that was about to be fixed, was actually a fix to
	the problem I was trying to fix.

	So put the original comments from Dan, and will hope that someone
	with more knowledge about this can figure why the delete key wont
	delete messages and select the next unread message.

svn path=/trunk/; revision=5701
2000-10-04 05:00:51 +00:00
bfe2227dd0 subscribe-control.[ch] -> subscribe_dialog.[ch]
2000-10-02  Chris Toshok  <toshok@helixcode.com>

	* Makefile.am (evolution_mail_SOURCES): subscribe-control.[ch] -> subscribe_dialog.[ch]

	* mail-callbacks.c (manage_subscriptions): subscribe_control ->
	subscribe_dialog.  Also, pass the shell to subscribe_dialog_new.

	* mail-types.h: SubscribeControl -> SubscribeDialog.

	* subscribe-dialog.c, subscribe-dialog.h: rename from subscribe-control.[ch].

	* subscribe-dialog.c (subscribe_dialog_construct): pass
	Evolution_Shell in.
	(subscribe_dialog_new): takes Evolution_Shell argument now.

svn path=/trunk/; revision=5668
2000-10-02 20:06:11 +00:00
831692cf87 Add print preview verb here.
2000-09-29  Miguel de Icaza  <miguel@helixcode.com>

	* folder-browser-factory.c: Add print preview verb here.

	* mail-callbacks.c (do_mail_print): Handle printing here, the
	complete engine.
	(mail_print_preview_msg): new. does print previewing.
	(mail_print_msg): does printing of the message.

svn path=/trunk/; revision=5641
2000-09-29 23:45:49 +00:00
c237eba138 nuked.
2000-09-29  Chris Toshok  <toshok@helixcode.com>

	* subscribe-control-factory.c, subscribe-control-factory.h: nuked.

	* subscribe-control.c, subscribe-control.h: lots of changes.  we
	now pop up a dialog, and will have a storage set view on our left
	side, like the shell does.

	* mail.h: add prototype for manage_subscriptions.

	* mail-callbacks.c (manage_subscriptions): new function, pops up
	the subscribe dialog.

	* folder-browser-factory.c: add the verb for managing
	subscriptions.

	* Makefile.am (evolution_mail_SOURCES): add subscribe-control.[ch]
	again.

svn path=/trunk/; revision=5637
2000-09-29 20:36:03 +00:00
abd6186b37 Fix it so that "send later" will still mark a message as being replied,
2000-09-27  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-callbacks.c (composer_postpone_cb): Fix it so that "send
	later" will still mark a message as being replied, forwarded,
	whatever. Closes bug #568 on bugzilla.

svn path=/trunk/; revision=5602
2000-09-27 20:20:53 +00:00
032df17d2c Added new menu items
2000-09-25  Jeffrey Stedfast  <fejj@helixcode.com>

	* folder-browser-factory.c: Added new menu items

	* mail-callbacks.c (mark_as_seen): New callback to mark all
	selected messages as Seen.
	(mark_as_unseen): New callback to mark all selected messages as
	Unseen.
	(select_all): New callback to select all messages (not yet
	finished)
	(unselect_all): New callback to unselect all messages (not yet
	finished)

svn path=/trunk/; revision=5585
2000-09-25 23:20:34 +00:00
053af645da Deal with NULL composer.
* mail-callbacks.c (create_msg_composer, compose_msg, send_to_url,
	mail_reply, forward_msg):
	* mail-format.c (mail_generate_reply):
	* mail-ops.c (cleanup_edit_messages):
	* mail-view.c (view_forward_msg): Deal with NULL composer.

svn path=/trunk/; revision=5502
2000-09-19 15:35:40 +00:00