Commit Graph

264 Commits

Author SHA1 Message Date
f30f7c9229 When unreffing a folder we got ourselves (as opposed to one passed in by
* mail-ops.c (mail_send_message, transfer_messages_transfer,
	set_offline_do): When unreffing a folder we got ourselves (as
	opposed to one passed in by the caller), sync before unreffing,
	since we might be holding the only reference to it.
	(mail_refresh_folder): New op, like mail_sync_folder, but does a
	camel_folder_refresh_info instead.

	* folder-browser-factory.c (control_activate): Call
	mail_refresh_folder, not mail_sync_folder. (The goal is to see new
	messages: sync used to work with imap because imap_sync was
	broken, but it doesn't work for that any more.)

svn path=/trunk/; revision=10011
2001-05-26 17:22:53 +00:00
1a9409a95f Don't free the folder-info here, instead have mail_append_mail() call our
2001-05-23  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-callbacks.c (composer_postpone_cb): Don't free the
	folder-info here, instead have mail_append_mail() call our new
	function, append_mail_cleanup() which'll free the
	folder-info. This fixes the problem of send-later segfaulting.

svn path=/trunk/; revision=9958
2001-05-24 03:31:24 +00:00
a2f50bb029 New function that the shell component calls to copy/move a folder.
2001-05-23  Jeffrey Stedfast  <fejj@ximian.com>

	* component-factory.c (xfer_folder): New function that the shell
	component calls to copy/move a folder.
	(component_fn): Set the xfer_folder_fn argument.

	* mail-ops.c (mail_remove_folder): New async function to remove a
	folder. God knows if it does what the ShellComponent needs or not
	yet.
	(mail_xfer_folder): Yet another yummy async function to move or
	copy a folder to a new location.

	* component-factory.c (storage_remove_folder): New function for
	removing folders.
	(remove_folder): New function that the shell component calls to
	delete a folder.
	(component_fn): Set the remove_folder_fn argument.

svn path=/trunk/; revision=9954
2001-05-23 22:43:03 +00:00
76f220863e New async function to remove a folder. God knows if it does what the
2001-05-23  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-ops.c (mail_remove_folder): New async function to remove a
	folder. God knows if it does what the ShellComponent needs or not
	yet.

	* component-factory.c (storage_remove_folder): New function for
	removing folders.
	(remove_folder): New function that the shell component calls to
	delete a folder.
	(component_fn): Set the remove_folder_fn argument.

svn path=/trunk/; revision=9952
2001-05-23 20:56:57 +00:00
72be879a27 New file, started by Ettore, finished by me, to implement the
* mail-offline-handler.c: New file, started by Ettore, finished by
	me, to implement the GNOME_Evolution_Offline interface.

	* Makefile.am (evolution_mail_SOURCES): Add
	mail-offline-handler.[ch]

	* mail-ops.c (mail_store_set_offline): Set a store online or
	offline.

	* mail-send-recv.c (auto_timeout): Don't run auto-check-for-mail
	while the session is offline.

	* component-factory.c (component_fn): Set up offline handler.

svn path=/trunk/; revision=9739
2001-05-09 22:01:42 +00:00
08e6ede22a #include <camel/camel-file-utils.h>
* message-list.c: #include <camel/camel-file-utils.h>

	* mail-ops.c (get_folderinfo_get):
	* subscribe-dialog.c (build_tree): Update for
	camel_store_get_folder_info prototype change.

	* mail-format.c (handle_text_plain_flowed): Improve more on the
	fix from the other day: the first level of indentation adds blank
	lines, but further levels don't...

svn path=/trunk/; revision=9660
2001-05-03 20:54:07 +00:00
dfc8e2ad3f Only set the X-Evolution-* header if that value is non-NULL.
2001-04-22  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-callbacks.c (composer_get_message): Only set the
	X-Evolution-* header if that value is non-NULL.

	* mail-ops.c (mail_send_message): Lets do proper refcounting on
	the sent-folder. Also, g_strdup() the sent_folder_uri since we
	later free it. If we don't, then we get lovely corrupt memory.

svn path=/trunk/; revision=9498
2001-04-23 02:15:45 +00:00
b50306c380 use system = EVOLUTION_DATADIR "/file" instead of g_strdup_printf. Rename
2001-04-22  Gediminas Paulauskas <menesis@delfi.lt>

	* folder-browser.c, mail-autofilter.c, mail-callbacks.c, mail-ops.c,
	mail-summary.c, mail-vfolder.c: use system = EVOLUTION_DATADIR "/file"
	instead of g_strdup_printf. Rename userrules to user (and system) to be
	consistent.

	* mail-send-recv.c: set window icon to send-receive.xpm

2001-04-21  Gediminas Paulauskas <menesis@delfi.lt>

	* mail-summary.c: translate "Mail summary".

svn path=/trunk/; revision=9490
2001-04-21 22:52:56 +00:00
c66a38af5f Convert subject from utf8 before passing it on.
* mail-ops.c: (send_mail_desc): Convert subject from utf8
	before passing it on.

svn path=/trunk/; revision=9474
2001-04-20 14:32:32 +00:00
546128c8d9 Remove some redundant LIBS variables... purify complained that the command
* Makefile.am (evolution_mail_LDADD): Remove some redundant LIBS
        variables... purify complained that the command line was too
        long. :-}

        * mail-account-gui.c: Plug leaks.

        * mail-display.c (on_url_requested): close the html stream on
        error too.

        * mail-ops.c (fetch_mail_fetch): Move a line around that probably
        doesn't affect anything, but it's correct.

        * session.c (auth_callback): Plug leak.

        * mail-send-recv.c (receive_status): Initialize "now".

svn path=/trunk/; revision=9303
2001-04-13 21:42:26 +00:00
130017e157 Merge from evolution-0-10 to evolution-0-10-merge-0 into head.
2001-04-05  Not Zed  <NotZed@Ximian.com>

	* Merge from evolution-0-10 to evolution-0-10-merge-0 into head.

svn path=/trunk/; revision=9193
2001-04-05 02:06:26 +00:00
942539cd7d Add --no-tty argument to gpg.
2001-04-03  Jeffrey Stedfast  <fejj@ximian.com>

	* openpgp-utils.c (openpgp_encrypt): Add --no-tty argument to gpg.

svn path=/trunk/; revision=9141
2001-04-03 21:15:50 +00:00
424506262d Added #include <libgnome/gnome-paper.h>
2001-03-29  Jon Trowbridge  <trow@ximian.com>

        * printing/e-contact-print.c: Added #include <libgnome/gnome-paper.h>

        * printing/e-contact-print-envelope.c: Added #include <time.h>
        and #include <libgnome/gnome-paper.h>

        * gui/component/select-names/e-select-names-completion.c
        (match_email): Better handle matching of "nameless" contacts.

        * backend/ebook/e-destination.c (e_destination_get_string): Better
        handle the case of a "nameless" contact.

2001-03-29  Jon Trowbridge  <trow@ximian.com>

	* camel-filter-driver.c (camel_filter_driver_filter_message): Save
        the source URL using camel_mime_message_set_source.

        * camel-mime-message.c (camel_mime_message_set_source): Renamed
        camel_mime_message_set_identity to this.  Sets the X-Evolution-Source
        header.
        (camel_mime_message_get_source): Returns the X-Evolution-Source
        header.

2001-03-29  Jon Trowbridge  <trow@ximian.com>

        * mail-callbacks.c: Added #include <time.h> to get things
        to compile.

        * mail-callbacks.c (mail_generate_reply): Look at the
        X-Evolution-Source header, and try to find a corresponding
        account.  If this works, send the mail from this account.
        If not, use the default account.

        * mail-ops.c (send_queue_send): Strip out the X-Evolution-Source
        header before sending.

        * mail-config.c (mail_config_get_account_by_source_url): Added.
        Look up accounts by source URL.

svn path=/trunk/; revision=9032
2001-03-29 23:46:55 +00:00
57574f0be3 Cleaned up #includes. Remove unneccesary includes of <gnome.h>,
2001-03-29  Kjartan Maraas  <kmaraas@gnome.org>

	* *.*: Cleaned up #includes. Remove unneccesary includes of
	<gnome.h>, <gtk/gtk.h>, <bonobo.h> and replaced with more
	fine grained headers where needed. Also marked a bunch of
	strings for translations and added some missing prototypes.

svn path=/trunk/; revision=9025
2001-03-29 20:53:17 +00:00
93bd928590 Update call to camel_url_to_string. (Don't include the params in the
* session.c (auth_callback): Update call to camel_url_to_string.
	(Don't include the params in the password hash table key.)

	* mail-config.c (mail_config_folder_to_cachename): Call
	camel_url_to_string with HIDE_PASSWORD and HIDE_PARAMS so that
	changing URL params doesn't change the cachename.

	* mail-ops.c (add_vtrash_info):
	* mail-local.c (reconfigure_folder_reconfigure):
	* mail-account-gui.c (save_service): Update calls to
	camel_url_to_string.

svn path=/trunk/; revision=9015
2001-03-29 17:36:49 +00:00
b38a35a518 Set up the sent/drafts folder buttons. (folder_picker_clicked): Pop up the
* mail-account-gui.c (mail_account_gui_new): Set up the
	sent/drafts folder buttons.
	(folder_picker_clicked): Pop up the folder selector when sent or
	drafts is clicked.
	(mail_account_gui_save): Save the sent/drafts folders.

	* mail-config.c (account_copy): copy sent/drafts info
	(config_read): read sent/drafts info
	(mail_config_write): write sent/drafts info

	* mail-callbacks.c (composer_send_cb, composer_postpone_cb):
	split out some common code here (and fix inconsistencies). Always
	set headers on the message giving the account name, transport,
	and sent folder to use.

	* mail-ops.c (mail_send_message): If the message has an
	X-Evolution-Account header, use the transport/sent folder info for
	that account (assuming it still exists). Otherwise, if it has
	X-Evolution-Transport and/or X-Evolution-Fcc, use those. If not,
	use the default transport and sent folder.
	FIXME: Falls back silently to the default sent folder if it can't
	open the account-specific one...
	(send_queue_send): remove the X-Evolution-Transport, etc
	processing here, as it gets done by mail_send_message now.
	FIXME: We only sync the default sent folder.

	* component-factory.c (owner_set_cb): While setting up the
	standard folders, also record their URIs.

svn path=/trunk/; revision=8991
2001-03-28 17:48:07 +00:00
0b8af6dc0a Kludge, copied+modified from mail_config_folder_to_cachename to deal with
* mail-ops.c (uid_cachename_hack): Kludge, copied+modified from
	mail_config_folder_to_cachename to deal with the different
	behavior of the URL code now. Will go away when the keep-on-server
	code moves.
	(get_folderinfo_get): Only pass "subscribed_only" to
	camel_store_get_folder_info if the store supports subscriptions...

svn path=/trunk/; revision=8970
2001-03-27 05:23:12 +00:00
5aef76bbcb Updated to reflect changes made to the move/copy API in camel-folder.c
2001-03-26  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-ops.c (transfer_messages_transfer): Updated to reflect
	changes made to the move/copy API in camel-folder.c
	(add_vtrash_info): Use /Trash as the path instead of Trash.

	* mail-local.c (reconfigure_folder_reconfigure): Updated this too.

svn path=/trunk/; revision=8963
2001-03-27 03:59:08 +00:00
162a2e87c4 oops, don't use uids->pdata[i], just use uids
svn path=/trunk/; revision=8962
2001-03-27 01:47:17 +00:00
cae25657fa Updated to reflect changes made to the move/copy API in camel-folder.c
2001-03-26  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-ops.c (transfer_messages_transfer): Updated to reflect
	changes made to the move/copy API in camel-folder.c

	* mail-local.c (reconfigure_folder_reconfigure): Updated this too.

svn path=/trunk/; revision=8961
2001-03-27 01:45:37 +00:00
4f26eac120 Added. Call me old-fashioned, but I just prefer to have a real API rather
2001-03-23  Jon Trowbridge  <trow@ximian.com>

        * gui/widgets/e-minicard-widget.c (e_minicard_widget_set_card):
        Added.  Call me old-fashioned, but I just prefer to have a real
        API rather than doing everything via gtk_object_get/set-type
        calls.
        (e_minicard_widget_set_arg): Changed to call
        e_minicard_widget_set_card.

        * backend/ebook/e-book-util.c: Small changes to get rid of
        compiler warnings.  (Casting out const, removed unused variables,
        etc.)  Removed some debugging messages.

        * gui/component/addressbook-factory.c (main): Added call
        to e_address_popup_factory_init.

        * gui/component/e-address-popup.c: Added.  A popup gadget that is
        invoked (as a bonobo control) when an address is left-clicked in
        the mailer.  The addressbook is queries, and the address is either
        displayed as a minicard (if it already exists) or in a "generic
        format".  A button is provided for editting/adding the contact.
        Some of the semantics of this widget are a bit... non-standard,
        because of bonobo issues.  I can't really seem to replicate
        popup-menu behavior because of how bonobo propogates events, etc.
        so I've tried to produce something that I think is non-annoying.
        YMMV.

2001-03-23  Jon Trowbridge  <trow@ximian.com>

        * mail-display.c (handle_embedded_address_object): #ifdef away
        some code I don't quite want to delete yet.
        (html_button_press_event): Remove some of Radek's placeholder
        code, replace it with code to create my AddressPopup bonobo
        control.

        * mail-format.c: Remove some obsolete code that if #ifdef-ed out
        a while ago.

        * mail-ops.c (send_queue_send): Strip out the X-Evolution-Identity
        header when sending.

2001-03-23  Jon Trowbridge  <trow@ximian.com>

        * camel-filter-driver.c (camel_filter_driver_filter_message):
        Don't call camel_mime_message_set_identity.  (The call is
        commented out, left over from some earlier experimentation that I
        want to be able to remember later...)

        * camel-mime-message.c (camel_mime_message_set_identity): Added.
        A function to set the X-Evolution-Identity header.

svn path=/trunk/; revision=8916
2001-03-23 09:39:37 +00:00
b99b5b8d38 Removed gnome.h and ctype.h (send_queue_send): Don't remove the
2001-03-19  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-ops.c: Removed gnome.h and ctype.h
	(send_queue_send): Don't remove the X-Evolution header here.
	(mail_send_message): Remove it here instead (so we only have to
	remove it in one place - no matter if you send a single message or
	send_queue.

svn path=/trunk/; revision=8832
2001-03-19 23:08:19 +00:00
1b9b476eac Instead of always creating a new vTrash folder, if the store already has a
2001-03-12  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-ops.c (add_vtrash_info): Instead of always creating a new
	vTrash folder, if the store already has a Trash folder, replace it
	with the vTrash. Also, name the folder "Trash" instead of "vTrash"
	and i18nify the name.

svn path=/trunk/; revision=8644
2001-03-12 20:31:56 +00:00
21ab381600 Remove our X-Evolution header before we send. Also don't send messages
2001-03-10  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-ops.c (send_queue_send): Remove our X-Evolution header
	before we send. Also don't send messages that are marked for
	deletion.

svn path=/trunk/; revision=8630
2001-03-11 20:18:56 +00:00
21a546759f Remove our X-Evolution header before we send.
2001-03-10  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-ops.c (send_queue_send): Remove our X-Evolution header
	before we send.

svn path=/trunk/; revision=8625
2001-03-11 03:42:11 +00:00
e5fbbdf9c1 If the folderinfo has no URL (ie, can't contain messages), don't add it as
* mail-ops.c (get_folderinfo_got): If the folderinfo has no URL
	(ie, can't contain messages), don't add it as a vtrash source.

svn path=/trunk/; revision=8569
2001-03-06 17:20:51 +00:00
b0b0cfe95d Changed the product string - will change it to use User-Agent once I get
2001-02-26  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-ops.c (mail_send_message): Changed the product string -
	will change it to use User-Agent once I get the RFC/DRUMS draft or
	whatever. Until then I'll stick with User-Agent.

svn path=/trunk/; revision=8395
2001-02-26 20:40:36 +00:00
1f84ac2916 Toss the mail_tool_camel_lock* stuff. Same. Here too.
2001-02-24  Jeffrey Stedfast  <fejj@ximian.com>

	* folder-browser.c: Toss the mail_tool_camel_lock* stuff.
	* mail-ops.c: Same.
	* mail-summary.c: Here too.

	* mail-tools.c (mail_tool_uri_to_folder_noex): Blown away!
	(mail_tool_filter_get_folder_func): *kapoosh*
	(mail_tool_camel_lock_up): Same.
	(mail_tool_camel_lock_down): Same.
	(mail_tool_set_uid_flags): Don't need this rubbish anymore either.

svn path=/trunk/; revision=8384
2001-02-24 21:57:23 +00:00
0ce50d4fdc No longer need to construct the vTrash here. (owner_set_cb): Don't make
2001-02-24  Jeffrey Stedfast  <fejj@ximian.com>

	* component-factory.c (mail_load_storages): No longer need to
	construct the vTrash here.
	(owner_set_cb): Don't make the vTrash for the local store here.

	* mail-ops.c (add_vtrash_info): New function to add a vTrash
	folder info to a pre-constructed CamelFolderInfo for use in the
	get_folder_info async function.

svn path=/trunk/; revision=8381
2001-02-24 20:08:43 +00:00
ac97d963b0 No longer need to do a vtrash_cleanup() (it also doesn't exist anymore).
2001-02-23  Jeffrey Stedfast  <fejj@ximian.com>

	* main.c (main): No longer need to do a vtrash_cleanup() (it also
	doesn't exist anymore).

	* component-factory.c (mail_load_storages): Updated to use the new
	vtrash code.
	(owner_set_cb): Same.

	* mail-tools.c (mail_tool_uri_to_folder): Update to handle the
	"vtrash:" url prefix so that we can extract the REAL uri and know
	to get the trash folder.

	* mail-vtrash.c (mail_vtrash_add): Add the vTrash folder to the
	EvolutionStorage.
	(mail_vtrash_create): Get the store based on the uri (async) and
	then call mail_trash_add.
	(vtrash_cleanup): Removed.
	(vtrash_uri_to_folder): Removed.
	(vtrash_create): Replaced by mail_vtrash_create()

svn path=/trunk/; revision=8367
2001-02-23 16:51:45 +00:00
351903ad90 Make op cancellable/report internals. (get_folder_get):
2001-02-23  Not Zed  <NotZed@Ximian.com>

        * mail-ops.c (create_folder_get): Make op cancellable/report
        internals.
        (get_folder_get):
        (sync_folder_sync):
        (get_folderinfo_get): Make op cancellable/report internals.

        * mail-vtrash.c (get_trash_get): Setup the operation registration,
        and create a pseudo "start/stop" operation.

        * component-factory.c (owner_set_cb): Make trash creation async.

        * mail-local.c (register_folder_desc): A description of what we're
        doing.

        * mail-mt.c (mail_msg_new): Set status callback to operation_new.
        (mail_operation_status): Operation status function, proxy messages
        to main thread, and attempt to present a meaningful ui experience
        for operations.

svn path=/trunk/; revision=8351
2001-02-22 22:27:40 +00:00
473ffc5eee Updated to reflect changes to the filter-driver code.
2001-02-22  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-ops.c (mail_send_message): Updated to reflect changes to
	the filter-driver code.

svn path=/trunk/; revision=8347
2001-02-22 16:31:31 +00:00
0f2a13586b Fix for api changes to append_mail.
2001-02-21  Not Zed  <NotZed@Ximian.com>

        * mail-callbacks.c (composer_postpone_cb): Fix for api changes to
        append_mail.

        * Makefile.am (evolution_mail_SOURCES): Removed mail-threads.[ch].

        * mail-threads.[ch]: Removed.

        * subscribe-dialog.c (subscribe_do_get_store): Chagned to use new
        thread stuff.  This is really getting boring.
        (subscribe_do_subscribe_folder): Changed to use new thread stuff.
        Last one at last, phew.

        * session.c (register_callback): Changed to use new thread stuff.
        YUCK.  I dropped some functionality, now the timeout callback
        return is ignored, so basically it keeps running till finished.

        * mail-ops.c (mail_operation_run): Removed, no longer used/needed.
        (mail_do_append_mail): Changed to use new thread stuff.
        (mail_do_transfer_messages): ditto.

        * mail-local.c (local_storage_new_folder_cb): Use new thread
        stuff, also only run synchronous for this operation.
        (mail_local_reconfigure_folder):
        (reconfigure_clicked): Changed to use new mail thread stuff.

        * mail-config.c (mail_config_check_service): Changed to use new
        thread stuff.

svn path=/trunk/; revision=8314
2001-02-21 02:19:26 +00:00
63f1ba7ab1 New handy dandy function to ref and return the vfolder storage (will
2001-02-19  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-vfolder.c (mail_vfolder_get_vfolder_storage): New handy
	dandy function to ref and return the vfolder storage (will
	probably be disavowed once I figure out how to get the vTrash
	folder to show up in the EvolutionLocalStorage).

	* main.c (main): Call vtrash_cleanup().

	* mail-vtrash.c: New file.
	(vtrash_uri_to_folder): vtrash: URI handler
	(vtrash_create): Replacement async vtrash function for the old one
	in mail-ops.c
	(vtrash_cleanup): Cleanup code - unrefs the cached vtrash folders
	and free's the hashtable.

	* Makefile.am: Added mail-vtrash.[c,h].

	* mail-tools.c (mail_tool_uri_to_folder): If we have a vtrash:
	URI, call the vtrash URI handler function rather than continuing
	on. Yes, I know this is a hack and it needs to be fixed.

	* mail-ops.c (mail_do_setup_trash): Removed.
	(mail_trash_get): Removed.

	* component-factory.c (owner_set_cb): Create the vTrash folder for
	the LocalStore here.

	* mail-local.c (get_folder_info): Implement.

svn path=/trunk/; revision=8288
2001-02-19 23:38:53 +00:00
d6a9790072 Unref the driver here, in the subthread, so we dont block the gui while it
2001-02-20  Not Zed  <NotZed@Ximian.com>

        * mail-ops.c (fetch_mail_fetch): Unref the driver here, in the
        subthread, so we dont block the gui while it sync's all the
        folders.
        (fetch_mail_fetched): Rewmoved above code from here.

svn path=/trunk/; revision=8278
2001-02-19 21:41:51 +00:00
7ac8a9c5e8 Use mail_storage_create_folder
2001-02-15  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-ops.c (do_scan_subfolders): Use mail_storage_create_folder

	* mail-callbacks.c (mail_storage_create_folder): Convenience
	function so we can keep all the evolution_storage_add_new_folder()
	code in one place as much as possible.

	* subscribe-dialog.c (recursive_add_folder): Use 'name' rather
	than the no-description bs since that's what all the other places
	do.

	* mail-callbacks.c (folder_created): New callback to handle the
	"folder_created" signal - handles CamelFolderInfo's recursively.
	(folder_deleted): Same but for "folder_deleted".

	* component-factory.c (storage_create_folder): Instead of doing
	the evolution_storage_new_folder() stuff by hand, pass it off to
	the new callback: folder_created(). At some point this will be
	unecessary as we'll attach this callback to the "folder_created"
	signal.

svn path=/trunk/; revision=8247
2001-02-15 23:54:16 +00:00
5ef8138ee8 Setup the Trash folder.
2001-02-14  Jeffrey Stedfast  <fejj@ximian.com>

	* component-factory.c (owner_set_cb): Setup the Trash folder.

	* mail-ops.c (create_trash_vfolder): Do better error handling.
	(populate_folder_urls): Oops, helps to strdup the url into the
	array if we plan on freeing the data.
	(mail_get_trash): New async function that may eventually replace
	mail_do_setup_trash().
	(do_setup_trash): Do better error handling.

	* mail-local.c (mail_local_store_class_init): Override
	get_folder_info.
	(get_folder_info): Implement.

svn path=/trunk/; revision=8228
2001-02-14 21:33:58 +00:00
7004fae0eb Don't leak memory. (forward_messages): change doinline to be a gboolean
2001-02-11  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-callbacks.c (forward_inlined): Don't leak memory.
	(forward_messages): change doinline to be a gboolean argument.

svn path=/trunk/; revision=8172
2001-02-11 07:00:07 +00:00
896d495a2a Reworked some keep-mail-on-server logic so that we ALWAYS look for a
2001-02-08  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-ops.c (fetch_mail_fetch): Reworked some keep-mail-on-server
	logic so that we ALWAYS look for a cached array of UIDs that we
	may have downloaded previously so as not to download them again
	even if we will be deleting them off the server. This fixes bug
	#1344.

svn path=/trunk/; revision=8135
2001-02-09 02:21:18 +00:00
cd101b3ffc only free driver, if set. (fetch_mail_fetched): Unref the driver here, so
2001-02-09  Not Zed  <NotZed@Ximian.com>

        * mail-ops.c (filter_folder_free): only free driver, if set.
        (fetch_mail_fetched): Unref the driver here, so it can cleanup
        before we call the 'done' callback.

        * component-factory.c (owner_set_cb): Add setup for mail
        autoreceive stuff.

        * mail-send-recv.c (free_info_data): Free the send info's from teh
        active hash, not the running list.
        (receive_done): As we finish downloads, remove them and clean them
        up, and also close the window.
        (mail_autoreceive_setup): New function to setup & maintain
        automatic download stuff.

svn path=/trunk/; revision=8134
2001-02-09 01:48:04 +00:00
4459154549 Handle internal camel status return. (receive_done): Remove active
2001-02-07  Not Zed  <NotZed@Ximian.com>

        * mail-send-recv.c (operation_status): Handle internal camel status return.
        (receive_done): Remove active download when done.
        (mail_receive_uri): Initiate download of a single source, with no gui.
        (build_dialogue): Mark any new items as real active downloads.
        (do_show_status): Make the progress bar optional.

2001-02-06  Not Zed  <NotZed@Ximian.com>

        * mail-send-recv.c: camel_cancel->camel_operation.

        * mail-ops.old.c: camel_cancel->camel_operation.

        * mail-ops.c: camel_cancel->camel_operation.

        * mail-mt.c: camel_cancel->camel_operation.

        * mail-callbacks.c (stop_threads): camel_cancel->camel_operation.

        * mail-mt.h: CamelCancel->CamelOperation.

svn path=/trunk/; revision=8096
2001-02-08 01:45:37 +00:00
171de13904 Cast the camel_stream_mem_new() to a CamelStreamMem.
2001-01-29  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-importer.c (mail_importer_add_line): Cast the
	camel_stream_mem_new() to a CamelStreamMem.

svn path=/trunk/; revision=7905
2001-01-30 03:51:20 +00:00
aad4202594 Debug function to compare the tree we think we have, after an incremental
2001-01-29  Not Zed  <NotZed@Ximian.com>

        * message-list.c (tree_equal): Debug function to compare the tree
        we think we have, after an incremental update.
        (build_tree): Check the tree after we've built it.

        * mail-mt.c (mail_get_password): If we are being called from the
        main gui thread, then just call the dialogue directly.  Ideally we
        dont want this anyway but lets handle the case nicely.
        (mail_get_password): Try locking around the password request, to
        single-queue any password requests.
        (mail_msg_init): Push an exit handler to clean it up on completion.

        * mail-send-recv.c (receive_update_got_store): New function called
        when the store has been retrieved asynchronously.
        (mail_send_receive): Get the store asynchronously.  This was
        causing problems where the password dialogue would try and be
        called from the main thread via a message.

        * mail-ops.c (mail_get_store): New function to get a store
        (a)synchronously.  More or less taken from subscribe-dialog, which
        i will remove later.
        (mail_scan_subfolders): Try running the scan subfolder thing
        asynchronously, to help startup time.  Not sure if this will work,
        but presumably the shell can handle the folders appearing later
        ok.

svn path=/trunk/; revision=7886
2001-01-29 09:33:15 +00:00
d8c95a55bc Changed to use mail_save_part to save the data in another thread.
2001-01-28  Not Zed  <NotZed@Ximian.com>

        * mail-display.c (write_data_to_file): Changed to use
        mail_save_part to save the data in another thread.
        (save_data_cb): Hide the fileselector once we have a button press,
        and are saving stuff.

        * mail-ops.c (mail_save_part): New function to save a part content
        asynchronously.

svn path=/trunk/; revision=7867
2001-01-28 03:53:08 +00:00
9987f05606 Set the default folder when copying to mbox. This is a quick fix, i might
2001-01-24  Not Zed  <NotZed@Ximian.com>

        * mail-ops.c (fetch_mail_fetch): Set the default folder when
        copying to mbox.  This is a quick fix, i might need to do a slight
        redesign to clean it up.

svn path=/trunk/; revision=7759
2001-01-23 22:52:03 +00:00
e40e98e0f8 s/filter-driver.h/camel-filter-driver.h/ and update first arg of
* mail-tools.h: s/filter-driver.h/camel-filter-driver.h/ and
	update first arg of mail_too_filter_get_folder_func

	* mail-tools.c (mail_tool_filter_get_folder_func): Update first
	arg to CamelFilterDriver *

	* mail-send-recv.c (receive_status):
	* mail-ops.c (send_queue_send): s/FILTER/CAMEL_FILTER/

	* mail-callbacks.c: Remove filter-driver.h include

	* mail-accounts.c: Put the news functions inside #ifdef
	ENABLE_NNTP to prevent warnings about unused statis functions.

	* subscribe-dialog.c (subscribe_folders, unsubscribe_folders,
	subscribe_refresh_list): Update prototype to match BONOBO_UI_VERB.
	(populate_store_list): add a de-constifying cast

svn path=/trunk/; revision=7708
2001-01-22 17:47:28 +00:00
88f9e36086 remove a warning with conditional news compilation.
2001-01-22  Not Zed  <NotZed@Ximian.com>

	* component-factory.c (owner_set_cb): remove a warning with
	conditional news compilation.

	* mail-ops.h: Cleaned up the header list.

	* folder-browser-factory.c: Replace the old get_send mail with the
	new one (button).

	* mail-ops.c (set_x_mailer):
	(mail_load_evolution_rule_context):
	(mail_do_fetch_mail):
	(mail_do_filter_ondemand):
	(mail_send_mail_old):
	(mail_do_send_queue): All removed, (for) now lives in mail-send-recv.c.
	(load_context):
	(setup_filter_driver):
	(filter_get_folder):
	(mail_filter_folder):
	(mail_fetch_mail):
	(mail_update_subfolders):
	(mail_send_mail):
	(mail_send_queue): New equivalents of all these fundtions, moved
	from mail-send-recv.c ...
	(mail_filter_on_demand): Moved here too.
	(mail_load_filter_context): Export this.

	* mail-callbacks.c (apply_filters): Use the new
	mail_filter_on_demand() call.
	(send_receieve_mail): Use mail_send_receive to do the work.  Add a
	little error handling here that used to be elsewhere.
	(send_queued_mail): Removed.
	(fetch_mail): Removed.
	(select_first_unread): #ifdef'd this out.  Not sure if this still
	makes sense, but it doesn't get run right now anyway.
	(composer_postpone_cb): Fix the setting of message flags.  You
	dont need to get them first, ever.

	* mail-send-recv.c (mail_send_message): Dont use
	mail_tool_send_via_transport anymore (it does nothing useful).

	* mail-tools.c (mail_tool_camel_lock_up): Turned into a noop.
	(mail_tool_camel_lock_down): And here too.
	(mail_tool_move_folder_contents): Removed from the code (hasn't
	bene used for ages).
	(mail_tool_send_via_transport): Removed, it doesn't save anything.

svn path=/trunk/; revision=7702
2001-01-22 11:43:18 +00:00
2679830e64 Remove the X-Evolution header before we send.
2001-01-21  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-ops.c (do_send_queue): Remove the X-Evolution header before
	we send.

svn path=/trunk/; revision=7689
2001-01-21 23:15:50 +00:00
50ef085e18 Init a cancel field in the message. (mail_msg_free): Free it.
2001-01-21  Not Zed  <NotZed@Ximian.com>

        * mail-mt.c (mail_msg_new): Init a cancel field in the message.
        (mail_msg_free): Free it.
        (mail_msg_cancel): New function to attempt to cancel an
        operation by id.  Impelementation functions can still be
        uncancellable by not registering for cancellation, etc, or do it
        themselves as well.

        * mail-send-recv.c (fetch_mail_filter_folder): set folder_uid's
        properly, so we can save it later.
        (filter_folder_filter): Renamed from fetch_mail_filter_folder,
        since its going to be used for all filtering.
        (mail_fetch_mail): Changed from mail_filter_mail.
        (mail_filter_folder): New function, replaces
        mail_do_filter_ondemand functionality.
        (mail_filter_on_demand): New function, actually replaces
        mail_do_filter_ondemand.
        (receive_get_folder): Added an exception arg.
        (mail_send_message): New function to just send a message.
        (send_mail_send): Use mail_send_message.
        (send_queue_send): New send qeue code, use mail_send_message, and
        clean up some stuff.
        (mail_send_receive): Changed from mail_receive.
        (build_dialogue): Setup the sending data, as well.
        (mail_update_subfolders): New function to update folder info.
        (send_mail_send): hook into cancellation if we want.

svn path=/trunk/; revision=7672
2001-01-21 04:19:30 +00:00
93bd7f1d38 Strip leading space from the transport url gotten from the message.
2001-01-20  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-ops.c (do_send_queue): Strip leading space from the
	transport url gotten from the message.

svn path=/trunk/; revision=7670
2001-01-21 01:01:31 +00:00