Commit Graph

176 Commits

Author SHA1 Message Date
bf8462bc71 This code should be correct now. Still waiting on the shell to do it's job
2001-05-25  Jeffrey Stedfast  <fejj@ximian.com>

	* component-factory.c (xfer_folder): This code should be correct
	now. Still waiting on the shell to do it's job of creating the
	metadata xml file in the destination folder though.

svn path=/trunk/; revision=9981
2001-05-25 17:57:48 +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
4e878bc6d4 Get rid of this - we don't need it.
2001-05-13  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-local.c (mail_local_storage_shutdown): Get rid of this - we
	don't need it.

	* component-factory.c (owner_unset_cb): Don't unref the LocalStore
	- we don't own a ref on it!!

svn path=/trunk/; revision=9787
2001-05-14 00:05:39 +00:00
e3efaa319a add proto
2001-05-11  JP Rosevear  <jpr@ximian.com>

	* mail-importer.h: add proto

	* mail-importer.c (mail_importer_uninit): release and unref the
	local storage

	* mail-local.c (mail_local_store_finalize): use
	bonobo_object_release_unref rather than doing Bonobo_Unknow_unref
	and a corba release
	(register_folder_registered): "sink" the local_store ref to
	prevent circular ref
	(mail_local_storage_shutdown): unref the local store

	* mail-local.h: new proto

	* component-factory.c (owner_unset_cb): uninit the importer and
	shutdown the local storage

svn path=/trunk/; revision=9768
2001-05-11 19:57:15 +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
c64eccfe00 Importer changes
svn path=/trunk/; revision=9722
2001-05-08 22:53:41 +00:00
769f404db3 Updated for changes to PGP code.
2001-04-12  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-accounts.c (pgp_path_changed): Updated for changes to PGP
	code.

	* component-factory.c (owner_set_cb): Don't init openpgp anymore
	because we don't need it.

	* mail-crypto.c: Simply wrap the camel-pgp-mime functions (also
	renamed the functions to be prefixed with mail_crypto).

	* mail-format.c (handle_multipart_signed): Update to use
	camel_pgp_mime_is_rfc2015_signed() and other camel-pgp-mime
	functions.
	(handle_multipart_encrypted): Same but for rfc2015_encrypted.
	(decode_pgp): Updated to use camel-pgp-context
	(try_inline_pgp): Updated to use camel-pgp-context's.
	(try_inline_pgp_sig): Same.

svn path=/trunk/; revision=9269
2001-04-12 17:14:20 +00:00
c7179850dc Executive summary and Trash now have nice icons both in tree/folder title and
shortcut bar.

Converted and replaced icons for trash and summary:
exec-16-summary.xpm => evolution-today-mini.png
delete_mesage.xpm => evolution-trash-mini.png,
Copied evolution-trash.png icons from mc (needs tweaking to match other
evolution icons though)

svn path=/trunk/; revision=9154
2001-04-03 23:24:50 +00:00
042704ddd3 Blessed by Ettore.
Guided by Jacub Stener's mail, where he explaned which icons were renamed or
added, I added a bunch of new icons to menus, fixed renamed ones. Changed Trash
and Executive summary folder type icons. Fixed art/Makefile.am for these
changes.

Also, pulled icon cache from mailer and moved it to e-util/e-gui-utils.h, made
all components and dialogs use cache and not load pixmaps every time.

Accidentally got a couple of includes fix in, but they won't break anything.

svn path=/trunk/; revision=9092
2001-04-02 03:59:11 +00:00
c2f952971b If the EvolutionShellComponent emits a "debug" signal, turn on
* component-factory.c (debug_cb): If the EvolutionShellComponent
	emits a "debug" signal, turn on camel_verbose_debug.

svn path=/trunk/; revision=9047
2001-03-30 16:44:22 +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
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
ad709988ac undo a boolean booboo
svn path=/trunk/; revision=8946
2001-03-26 16:52:42 +00:00
3eb45d09d2 Simplify a bit using camel_session_get_provider.
* component-factory.c (mail_load_storages): Simplify a bit using
	camel_session_get_provider.

	* mail-callbacks.c (empty_trash): Ditto, and fix up use of
	CamelException.

svn path=/trunk/; revision=8942
2001-03-26 14:02:56 +00:00
82a856a14d Fix a bug in this that probably would have been noticed sooner if ETree
* component-factory.c (unref_standard_folders): Fix a bug in this
	that probably would have been noticed sooner if ETree hadn't always
	made the mailer crash before you got here. :-)

svn path=/trunk/; revision=8930
2001-03-25 17:03:58 +00:00
b8bb7dd7ed Call unref_standard_folders() here instead.
2001-03-19  Jeffrey Stedfast  <fejj@ximian.com>

	* component-factory.c (owner_unset_cb): Call
	unref_standard_folders() here instead.

svn path=/trunk/; revision=8827
2001-03-19 20:19:41 +00:00
02adc1ca5f unref the standard folders. (owner_set_cb): Use g_atexit() to call
2001-03-18  Jeffrey Stedfast  <fejj@ximian.com>

	* component-factory.c (unref_standard_folders): unref the standard
	folders.
	(owner_set_cb): Use g_atexit() to call unref_standard_folders()
	when evolution-mail exits. This should solve the problem where
	these folders are not synced when evolution-mail closes (because
	they still had refs on them on close).

svn path=/trunk/; revision=8814
2001-03-19 04:16:40 +00:00
8c2f3a00ef All my changes to get the folder creation working, and the magic Netscape
importer.

svn path=/trunk/; revision=8661
2001-03-13 02:26:18 +00:00
c64038a75a Add "vtrash" as a folder type we support. (create_view): Kludgy-kludge
2001-03-08  Jeffrey Stedfast  <fejj@ximian.com>

	* component-factory.c: Add "vtrash" as a folder type we support.
	(create_view): Kludgy-kludge around the vtrash type.
	(owner_set_cb): Don't create the vTrash folder here anymore...

svn path=/trunk/; revision=8603
2001-03-08 22:42:53 +00:00
9618cd2cb6 Added a ShellComponent method to retrieve the selection for drag and
drop and support for it in the shell.  Untested.

svn path=/trunk/; revision=8594
2001-03-08 12:55:05 +00:00
1aba985def Re-add the mail_vtrash_create() hack back in for LocalStores since there's
2001-02-25  Jeffrey Stedfast  <fejj@ximian.com>

	* component-factory.c (owner_set_cb): Re-add the
	mail_vtrash_create() hack back in for LocalStores since there's no
	better way to register a vTrash folder on the Local Storage yet.

	* mail-local.c (register_folder_registered): Add folders to the
	vTrash folder here since the LocalStore does not let the parent
	CamelStore class keep it's own hash of the folders.

svn path=/trunk/; revision=8391
2001-02-26 17:35:53 +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
7658347dd9 New stuff for the importer to create a new folder
svn path=/trunk/; revision=8365
2001-02-23 07:13:17 +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
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
bc2cd00f42 Create vTrash folders for all remote stores as well.
2001-02-19  Jeffrey Stedfast  <fejj@ximian.com>

	* component-factory.c (mail_load_storages): Create vTrash folders
	for all remote stores as well.

svn path=/trunk/; revision=8300
2001-02-20 03:38:05 +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
655140b462 Reverse the changes I made yesterday.
2001-02-16  Jeffrey Stedfast  <fejj@ximian.com>

	* main.c:
	* component-factory.c: Reverse the changes I made yesterday.

svn path=/trunk/; revision=8256
2001-02-16 21:47:02 +00:00
d9985a41bb Have the mail-config and openpgp initialize here instead.
2001-02-15  Jeffrey Stedfast  <fejj@ximian.com>

	* main.c (main): Have the mail-config and openpgp initialize here
	instead.

	* component-factory.c (owner_set_cb): No need to have mail-config
	and openpgp init here.

svn path=/trunk/; revision=8250
2001-02-16 04:26:05 +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
cb6f0cd111 Connect to the "create_folder" signal on the storage.
* component-factory.c (add_storage): Connect to the
	"create_folder" signal on the storage.
	(storage_create_folder): Do folder creation.

svn path=/trunk/; revision=8232
2001-02-14 21:52:43 +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
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
5be14f15c3 (Fixing an old FIXME)
2001-01-26  Jason Leach  <jasonleach@usa.net>

	(Fixing an old FIXME)

	* component-factory.c (create_vfolder_storage): removing
	create_vfolder_storage, replacing call to it with
	vfolder_create_storage.

svn path=/trunk/; revision=7837
2001-01-26 11:46:31 +00:00
75bb2f48a5 Neater importer stuff.
svn path=/trunk/; revision=7828
2001-01-26 00:03:53 +00:00
bd1a57fc80 Function to add a store/storage mapping. (add_storage): Use it.
* component-factory.c (mail_hash_storage): Function to add a
	store/storage mapping.
	(add_storage): Use it.

	* mail-vfolder.c (vfolder_uri_to_folder): Use the vfolder name
	rather than the string "mbox" (which wasn't ever used for
	anything) in the vfolder URL. (Combined with the CamelVeeFolder
	change, this makes camel_folder_get_name() return a pretty name
	for vfolders now.) Call mail_hash_storage() to record the
	CamelVeeStore/vfolder_storage mapping. (Ideally, there'd only be a
	single CamelVeeStore... this is just a quick hack.)

	vfolders now display their unread count once you've looked at them
	once.

svn path=/trunk/; revision=7712
2001-01-22 18:47:01 +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
c223f52d1d Initialize OpenPGP.
2001-01-21  Jeffrey Stedfast  <fejj@ximian.com>

	* component-factory.c (owner_set_cb): Initialize OpenPGP.

	* openpgp-utils.c (openpgp_init): No longer takes a passphrase
	callback, we'll just use the mail-session one. Makes life simpler.
	(pgp_get_passphrase): Use mail_session_request_dialog().

svn path=/trunk/; revision=7694
2001-01-22 04:11:14 +00:00
2814203289 only load the news storage if ENABLE_NNTP.
2001-01-16  Chris Toshok  <toshok@helixcode.com>

	* component-factory.c (owner_set_cb): only load the news storage
	if ENABLE_NNTP.

	* mail-accounts.c (construct): if !ENABLE_NNTP, remove the news
	page from the dialog.

svn path=/trunk/; revision=7550
2001-01-16 23:18:17 +00:00
911b397808 Now takes a 'is_account_data' variable to specify whether the sources is a
2001-01-12  Jeffrey Stedfast  <fejj@ximian.com>

	* component-factory.c (mail_load_storages): Now takes a
	'is_account_data' variable to specify whether the sources is a
	list of accounts of a list of services. Basically, the only time
	you should pass in FALSE is when you are setting up NNTP storages.
	(add_storage): Now takes a 'name' argument that specifies the name
	to use in the storage.
	(owner_set_cb): Updated to pass TRUE for accounts and FALSE for
	news servers into mail_load_storages.

svn path=/trunk/; revision=7469
2001-01-13 04:23:02 +00:00
936a6d77dd Add an ::asyncCopyFolder method to the ShellComponent interface. Move
all the message hiding options to the View menu.

svn path=/trunk/; revision=7456
2001-01-12 21:00:21 +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
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
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
f803abb65f Detect created and deleted vfolders.
svn path=/trunk/; revision=7126
2000-12-22 00:29:14 +00:00
ecae5285ea Added a cast.
2000-12-12  Christopher James Lahey  <clahey@helixcode.com>

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

	* mail-summary.c: Added #include "mail-summary.h".  Commented out
	folder_free, summary_free, and view_destroy_cb since they're not
	used.
	(do_changed): Added a cast.
	(create_summary_view): Changed some types so that casting would be
	easier.

	* session.c (mail_session_remember_password): Added a cast.

svn path=/trunk/; revision=6956
2000-12-12 23:35:45 +00:00