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 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-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-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-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-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
* 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 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-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-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
The value you provide is now also displayed in the shell title bar.
And while I was at it, I changed the title bar so that it displays the
name of the folder first (instead of "Evolution - Inbox" it says
"Inbox - Evolution 0.8 [yaddayadda]").
svn path=/trunk/; revision=7585
2001-01-16 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (save_msg_ok): If the user hits "No", then
don't destroy the filesel window.
* mail-ops.c (save_messages_save): Open with mode 0666 as danw
suggests.
svn path=/trunk/; revision=7553
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-09 Jeffrey Stedfast <fejj@helixcode.com>
* mail-ops.c (save_messages_save): Let the system umask determine
the permissions of this file.
svn path=/trunk/; revision=7341
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-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-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
2000-12-26 Jeffrey Stedfast <fejj@helixcode.com>
* mail-crypto.c (mail_crypto_openpgp_verify): Implemented.
2000-12-23 Jeffrey Stedfast <fejj@helixcode.com>
* mail-ops.c (mail_do_setup_trash): New function similar to
mail_do_setup_folder() except that this creates the Trash VFolder
(special-case).
2000-12-21 Jeffrey Stedfast <fejj@helixcode.com>
* mail-ops.c (do_send_mail): Don't free info inside the last
if-statement, if sent_folder doesn't exist we'll have a memory
leak. Instead free it afterward.
svn path=/trunk/; revision=7205
2000-12-18 Miguel de Icaza <miguel@helixcode.com>
* mail-tools.c (mail_tool_move_folder_contents): Only update
display every 2 seconds.
* mail-ops.c (do_view_messages): Only update display every 2 seconds.
svn path=/trunk/; revision=7066
* component-factory.c (create_view): Deal with "mailstorage" type
views (top-level mail storages) by trying to fill the storage's
folder tree again if we failed before.
(add_storage): Create new storages with a URI and type
"mailstorage".
* mail-ops.c (cleanup_scan_subfolders): On success, mark the
storage as having been loaded, so create_view won't try again.
svn path=/trunk/; revision=6923
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-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
* folder-browser.c: Remove bits of filter-on-demand and toolbar
bug workaround cruft that don't do anything useful any more.
* mail-ops.c (cleanup_load_folder): unref the ref we added in
setup_load_folder.
svn path=/trunk/; revision=6812
2000-11-30 Jeffrey Stedfast <fejj@helixcode.com>
* mail-ops.c (cleanup_fetch_mail): Don't display a dialog, instead
inform the user that there was no new mail by setting a status
message.
* message-list.c (message_list_drag_data_get): Use the new
e_str_make_safe function.
* mail-display.c (make_safe_filename): And here.
* mail-config.c (mail_config_folder_to_cachename): Here too.
svn path=/trunk/; revision=6745
2000-11-30 Not Zed <NotZed@HelixCode.com>
* mail-ops.c (cleanup_load_folder): Set threaded view before
setting the folder (cleanup some flash ons tartup).
* message-list.c (message_list_init): Initialise a mempool for uid
string storage.
(new_id_from_uid): Added messagelist arg, allocate strings from
uid_pool.
(new_id_from_subject): Same. Fixed all callers.
(remove_node_diff): Dont free uid here.
(build_flat_diff): Nor here.
(clear_tree): Flush the mempool, rather than freeing the id's
directly.
(free_tree_ids): Removed, no longer required.
(free_tree_ids): Likewise.
(message_list_init): Dont connect to the table destroy signal
anymore to free the uid table.
(message_list_destroy): Free the uid pool here.
(*): Use accessors for messageid stuff.
(content_is_attachment): Removed, no longer required.
(ml_tree_value_at): Get the attachment flag directly from the
summary.
(ml_tree_value_at): For 'fake' nodes, try and do something better
than "?" for from, to, and size.
(subtree_size): New function, add up the total size of a subtree.
(subtree_earliest): Get the earliest date from a subtree.
(ml_tree_value_at): Return earliest date sent/received for fake
nodes.
(ml_tree_value_at): Return something to mark a fake subject line
as a fake subject, although i dont know, i guess this buggers up
sorting ...
(subtree_size): Check the info node is still there.
(subtree_earliest): Same here.
(subtree_unread): And here. The info node might vanish if the
folder has changed/is changing and we try and redraw stuff while
its doing it.
(message_list_drag_data_get): Use accessors.
svn path=/trunk/; revision=6732
2000-11-29 Jeffrey Stedfast <fejj@helixcode.com>
* mail-ops.c (do_save_messages): Use camel a bit more to help us
out. Don't create the file ourselves, treat it as a CamelFolder so
we don't have to worry about formatting.
svn path=/trunk/; revision=6724
* component-factory.c (owner_set_cb): Wait until after setting up
the local storage to find the Drafts/Outbox/Sent folders.
* mail-ops.c (do_setup_folder): Use the file: store rather than
mbox:.
svn path=/trunk/; revision=6704
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-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-17 Jeffrey Stedfast <fejj@helixcode.com>
* mail-format.c (mail_generate_reply): Use the new quote_message
function and make it start with "On %s, %s wrote:" since people
seem to want that.
* mail-ops.c (cleanup_forward_messages): Use the new quote_message
function.
* mail-tools.c (mail_tool_quote_message): New convenience function
to quote a message body (since both the reply and forward code do
similar quoting)
svn path=/trunk/; revision=6605
2000-11-16 Jeffrey Stedfast <fejj@helixcode.com>
* folder-browser-factory.c: Added the MessageViewSource bonobo
menu verb.
* mail-ops.c (mail_do_save_messages): New async function to save
messages as individual files in a given path.
svn path=/trunk/; revision=6596
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-07 Jeffrey Stedfast <fejj@helixcode.com>
* folder-browser.c (search_full_clicked): Updated to use the
ESearchBar object rather than the previously used search widgets.
(search_full): Same.
(search_save): Same. Also use enums to make it a little easier to
read now that we have to have enums anyway.
(folder_browser_search_menu_activated): New ESearchBar menu
callback.
(folder_browser_search_query_changed): New ESearchBar query
callback. Replaces search_set()
(folder_browser_clear_search): Updated to use the ESearchBar
object rather than the previously used search widgets.
(folder_browser_gui_init): Don't hand construct a search widget,
use the new ESearchBar convenience widget.
* mail-ops.c (cleanup_load_folder): Updated to reflect changes to
FolderBrowser.
svn path=/trunk/; revision=6490
2000-11-03 Not Zed <NotZed@HelixCode.com>
* mail-view.c: Added mail-display.h.
* mail-autofilter.c: Removed unecessary headers. Who ran indent
over this code? Sigh.
* mail-ops.c (display_message_input_s): Added messagedisplay.
(mail_do_display_message): Added messagedisplay arg.
(mail_do_display_message): Dont bother doing another thread when
we know we dont have a uid.
(): Added folder-browser.h to headers. Sigh.
* folder-browser-factory.c (control_activate): Setup the
viewthreaded callback to the folder_browser function.
* folder-browser.c (my_folder_browser_init): Connect to
right_click of etable of the messagelist here.
(on_right_click): Changed for argument changes.
(folder_browser_toggle_threads): Changed to take a fb, and to set
threaded mode on the messagelist.
(my_folder_browser_init): Connect also to the double_click signal.
(my_folder_browser_init): Connect to the message_selected signal
of the message_list.
(on_message_selected): Signal handler for message selected.
(my_folder_browser_init): Fix for change to message_list_new().
* message-list.h: Dont include folder-browser.h.
(message_list_toggle_threads): Moved into folder-browser.h.
(struct _MessageList): Removed folderbrowser.
* mail.h: Dont include folder-browser.h here either, but
mail-types.h instead.
Moved prototypes moved into folder-browser.c into
folder-browser.h. (vfolder_*, filter_*).
* mail-display.h: Dont include folder-browser.h here, but
mail-types.h and specific camel headers.
* message-thread.c (sort_node): Invert the sort order logic so the
list is sorted in mailbox order, not reverse mailbox order.
* message-list.c (free_tree_ids): Fix a merge foo.
(remove_node_diff): Removed unused row argument. Fixed callers/prototype.
(clear_tree): pre_change on the removal of the root node.
(build_flat): Only perform pre_change if we are rebuilding the
whole lot. For incremental change let etable do its thing.
(build_tree): Likewise for building the tree view. If making
incremental updates, do them as we build it.
(vfolder_subject):
(vfolder_sender):
(vfolder_recipient):
(filter_subject):
(filter_sender):
(filter_recipient):
(filter_mlist):
(on_right_click): Moved to folder-browser.c, where they belong.
(message_list_init): Dont connect to right_click anymore.
(message_list_toggle_threads): Moved to folder-browser.c, renamed.
(on_double_click): Moved to folder-browser.c
(on_click): Set the flags directly, rather than in anothre thread,
which is just not necessary.
(message_list_class_init): Added a new signal 'message_selected',
to indicate when a message was selected.
(on_cursor_change_idle): Emit a signal, rather than directly
triggering the display update.
(select_row): Removed, no longer used.
(idle_select_row): And this too.
(select_msg): Removed as well.
(message_list_select): Emit a signal, rather
thandisplaying/clearing the mail-display directly.
(mark_msg_seen): Moved to folder-browser.c
(message_list_new): Removed folderbrowser argument.
svn path=/trunk/; revision=6365
and do a first cut at folder tree highlighting (for IMAP/news
only).
* mail-ops.c (do_fetch_mail): For imap (sigh, we *still* shouldn't
be hardcoding that), rescan the store's folder tree, rescan each
changed folder for new messages, and update the shell folder tree.
(do_scan_subfolders): Update for component-factory.c changes, and
set folder display names and highlights appropriately when
building the storage.
* component-factory.c (add_storage): Make this static (was
mail_add_new_storage). Use camel_service_get_name for the name
rather than url->host. (Among other things, this lets you use a
single machine as both an IMAP server and a news server.)
(mail_lookup_storage): Hash storages based on their CamelStore
rather than the URL.
(factory_destroy): Disconnect each of the CamelStores in the
storages_hash.
* subscribe-dialog.c (cleanup_subscribe_folder):
* mail-vfolder.c (vfolder_refresh): Pass "highlighted" flag to
evolution_storage_new_folder
svn path=/trunk/; revision=6342
2000-11-01 Jeffrey Stedfast <fejj@helixcode.com>
* mail-ops.c (mail_op_report_status): Don't call the default
logging function.
(do_fetch_mail): Set the logfile and don't pass the logfile to
filter_driver_set_status_func - it's purpose has been altered.
(do_filter_ondemand): Same.
svn path=/trunk/; revision=6341
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