2001-06-28 Jeffrey Stedfast <fejj@ximian.com>
* component-factory.c (destination_folder_handle_drop): Since we
have an exception variable, we might as well use it when getting
folders too.
* folder-browser.c (message_list_drag_data_recieved): Call
gtk_drag_finish.
svn path=/trunk/; revision=10568
`external_uri_schemas' attribute. Update the EvolutionShellComponent
GTK+ wrapper accordingly. Update all the components to pass a NULL
`external_uri_schemas' list when initializing themselves as
EvolutionShellComponents.
svn path=/trunk/; revision=10548
* mail-mt.c (op_status_timeout): Don't pop up a progress dialog to
say "I already finished this a while ago".
* component-factory.c (storage_create_folder): Pass the path
prefix to folder_created so it can add it to the folder tree in
the right place.
* mail-callbacks.c (folder_created): Take a path prefix.
svn path=/trunk/; revision=10508
2001-06-26 Jeffrey Stedfast <fejj@ximian.com>
* component-factory.c (message_rfc822_dnd): No longer returns a
gboolean and also takes a CamelException.
(destination_folder_handle_drop): Do better error checking.
* folder-browser.c (my_folder_browser_init): Connect to the
tree-drag-data-recieved signal.
(message_list_drag_data_recieved): New function that handles the
recieving end of the DnD event.
(x_evolution_message_parse): New convenience function to parse the
x-evolution-message type so that the cut/paste and DnD code can
share it.
(selection_received): Use x_evolution_message_parse().
svn path=/trunk/; revision=10502
2001-06-19 Jeffrey Stedfast <fejj@ximian.com>
* mail-display.c: #include "folder-browser-factory.h"
* component-factory.c (mail_remove_storage): New function to
remove an EvolutionStorage.
* mail-accounts.c (mail_delete): Remove the storage from the
folder-tree.
(news_delete): Same.
svn path=/trunk/; revision=10304
2001-06-19 Jeffrey Stedfast <fejj@ximian.com>
* component-factory.c (destination_folder_handle_drop): Accept
text/uri-list mime types - this allows us to drag messages from
Nautilus into an Evolution folder.
* folder-browser.c (message_list_drag_data_get): Do cleanup and
better error handling.
svn path=/trunk/; revision=10296
2001-06-18 Jeffrey Stedfast <fejj@ximian.com>
* component-factory.c (destination_folder_handle_drop): Use a nice
switch statement and use the new enum values.
* mail-callbacks.c (list_add_addresses): Now takes a hash table of
already-used-recipients so that we don't get duplicates.
(mail_generate_reply): Pass in a rcpt_hash argument to
list_add_addresses(). These changes fix bug #1639.
svn path=/trunk/; revision=10282
2001-06-18 Jeffrey Stedfast <fejj@ximian.com>
* component-factory.c: Change the drop-type "x-evolution-dnd" to
"x-evolution-message" since we want to be able to DnD more than
one data type ;-)
* folder-browser.c: Change supported DnD drop types to disclude
URI_LIST as that seems to crash Nautilus and seems overly
complicated. Since I am going to be supporting message/rfc822,
hopefully Nautilus can handle that or else maybe something like
text/plain.
(message_list_drag_data_get): Remove the code for URI_LIST.
svn path=/trunk/; revision=10264
2001-06-14 Not Zed <NotZed@Ximian.com>
* mail-tools.c (mail_tool_uri_to_folder): If we have a fragment in
the url, use that as the folder name, and not the path component.
2001-06-13 Not Zed <NotZed@Ximian.com>
* component-factory.c (mail_load_storages): Added temp hack to let
spool providers show up in the list.
svn path=/trunk/; revision=10263
2001-06-15 Jeffrey Stedfast <fejj@ximian.com>
* mail-ops.c (mail_send_message): Fixed misuse of an uninitialized
variable.
* component-factory.c (destination_folder_handle_drop): Implemented.
* mail.h: Added prototype for evolution_folder_info_factory_init.
* mail-ops.c (mail_do_transfer_messages): Now takes a const char*
as the dest_uri. This works better all around since we strdup'd
the string anyway.
svn path=/trunk/; revision=10255
2001-06-14 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser.c (got_folder): Updated to reflect changes to
mail_config_[g,s]et_thread_list().
(folder_browser_toggle_threads): Same.
* folder-browser-factory.c (control_activate): Updated to reflect
changes to mail_config_[g,s]et_thread_list().
* mail-config.c (mail_config_write_on_exit): Do cleanup when we're
done.
(mail_config_set_thread_list): Send in a URI so we can save the
state on a per-folder basis.
(mail_config_get_thread_list): Send in a URI so we can retrieve
the state on a per-folder basis.
* component-factory.c: Setup the accepted_dnd_types. Also added
skeleton code for DnD.
svn path=/trunk/; revision=10240
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-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 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-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-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
* 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-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
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
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-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
* 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
* 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
* 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-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-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-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-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-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 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-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-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-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-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
* 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 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