| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* mail-folder-cache.c: Added an async_event handler to store_info.
(mail_note_store): Setup async event handler here.
(store_finalised): Flush out async events here.
(folder_changed): Use async event handler to emit event.
(mail_note_folder): Chagned, do most of the work in the calling
context, only do the corba stuff in main.
(store_folder_subscribed): Use async event, and do more work locally.
(store_folder_unsubscribed): Same.
(store_folder_deleted): Call store_folder_unsubscribed if we have
to do any work.
(store_folder_created): Call store_folder_subscribed if we have to
do any work.
(store_folder_unsubscribed): Ref store while busy.
(real_folder_deleted): And unref here.
(store_folder_subscribed): Reg store while busy.
(real_folder_created): Unref here.
(mail_note_folder): Ref folder while busy.
(real_note_folder): And unref here.
(mail_note_folder): Hook onto folder_deleted event.
(folder_deleted): Just mark this folder as no longer available.
* mail-session.c (register_timeout): Use mail_call_main instead of
proxy_event.
(remove_timeout): Same here.
* folder-browser.c (folder_changed): use the new mail_async_event
stuff.
(folder_changed_main): Remove old async event handling stuff.
(FOLDER_BROWSER_LOCK/UNLOCK): Removed.
(FolderBrowserPrivate): Removed too, sigh.
* mail-mt.c (mail_async_event_new, mail_async_event_emit,
mail_async_event_destroy): New functions to handle async events.
(mail_proxy_event, mail_proxy_event_id): Removed old functions for
async events.
(do_call): Add suport for MAIL_CALL_p_pp.
(mail_msg_free): Use mail_async_event instead of proxy_event.
* message-list.c (message_changed): Promote the message_changed to
a folder_changed and use main_folder_changed to process it.
(main_message_changed): Remove.d
(message_list_init): Setup async event handler.
(message_list_destroy): Remove async handler.
(folder_changed): Use async hanler to emit event in main loop.
(message_changed): Same.
svn path=/trunk/; revision=13698
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-10-16 <NotZed@Ximian.com>
* mail-mt.c (mail_proxy_event_id): New function to return the id
of the currently executing proxied event.
* folder-browser.h: Added private field.
* folder-browser.c (folder_changed): Keep track of tasks
outstanding in the tasks list, locked access.
(FOLDER_BROWSER_LOCK, UNLOCK): Macros to lock the folder browser
for poking about in diff threads.
(folder_browser_finalise): Wait for any outstanding takss to
finish before cleaning ourself up.
(folder_browser_destroy): Move the seen_id handling to finalise,
also add a loading_id handling code.
(main_folder_changed): Remove our running task when done.
svn path=/trunk/; revision=13695
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-10-15 <NotZed@Ximian.com>
* mail-session.c (get_password): Proxy get-password call to main
thread.
(forget_password): same for forget_password.
(get_filter_driver): and same for get_filter_driver, since it uses
gtk objects.
* mail-mt.c (mail_call_main): new generic interface for calling
stuff/proxying in the gui thread.
svn path=/trunk/; revision=13679
|
|
|
|
|
|
|
|
| |
2001-09-28 Jeffrey Stedfast <fejj@ximian.com>
* mail-mt.h: Added mail_msg_cleanup() prototype.
svn path=/trunk/; revision=13219
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-09-25 <NotZed@Ximian.com>
* folder-browser.c (folder_browser_destroy): Deal with destroy vs
finalise semantics. Only destroy widgets here.
(folder_browser_finalise): object finalise function, actually
unref/free all other objects here.
(folder_browser_class_init): Init the finalise hook.
(got_folder): Check if message_list == NULL -> we've been
destroyed before the thread got a chance to finish loading the
folder.
(folder_browser_is_drafts): Dont use a g_return_if_fail to return
in what could be a valid state of the object.
(folder_browser_is_sent): Likewise.
(folder_browser_copy): Do nothing if message_list == NULL.
* main.c (main): call mail_msg_cleanup() before leaving threads.
* component-factory.c (owner_unset_cb): Wait for all outstanding
operations to finish before setting up to quit.
(idle_quit): Wait for all outstanding ops to finish before
cleanup.
(unref_standard_folders): NULL out the standard folder before
unreffing it.
* mail-mt.c (mail_msg_wait_all): New function to wait for all
outstanding thread operations.
(mail_msg_cleanup): Destroy the io channels before we're
finished. Also wait for all outstanding threads first. Made
public.
(mail_msg_init): Dont call mail_msg_cleanup atexit automatically.
svn path=/trunk/; revision=13129
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-09-20 <NotZed@Ximian.com>
* mail-tools.c(mail_tool_uri_to_folder): Register vfolder sources here.
* folder-browser.c (got_folder): Dont register vfolder sources
here.
* mail-ops.c (mail_get_folder): Add thread parameter. Fix callers.
* mail-vfolder.c (vfolder_setup): Use the 'slow' queue for setting
up vfolders.
* mail-mt.c (mail_msg_init): Limit the maximum number of threads
on the 'new' thread to 10.
(mail_msg_init): Create a new queue 'slow' for doing slow
operations.
svn path=/trunk/; revision=13017
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-09-18 Jeffrey Stedfast <fejj@ximian.com>
* mail-session.c (get_password): Pass a 'cache-me' argument to
mail_get_password.
* mail-mt.c (pass_got): Make less confusing...
(mail_get_password): Now takes an argument 'cache' that allows our
caller to determine if the user wanted to cache his/her password
or not.
(pass_got): Set the cache option.
svn path=/trunk/; revision=12950
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-25 Peter Williams <peterw@ximian.com>
* mail-mt.c (mail_get_password): Now take a CamelService parameter
(as passed by Camel). Allows us to have a "remember password"
checkbox that is set correctly and whose settings can be
propagated back to the proper MailConfigService.
(do_get_pass): Add a checkbutton allowing the user to change
whether the password is remembered or not.
(pass_got): Apply the setting of the "remember password"
checkbutton (if not cancelled.)
* mail-mt.h: Update the prototype here.
* mail-config.c (mail_config_service_set_save_passwd): New function,
pretty bland.
* mail-config.h: Prototype our bland new function. (Get it? It's a pun!)
* mail-session.c (get_password): Pass the service as well.
svn path=/trunk/; revision=11408
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-19 Not Zed <NotZed@Ximian.com>
* mail-local.c (reconfigure_folder_reconfigure): remvoed
register/start/end etc code.
* mail-ops.c (get_messages_desc): Add the count here.
(get_messages_get): Remove the register/start code, its handled
above us.
(save_messages_desc): Added count.
(save_messages_save): Removed register/start/end code.
* mail-mt.c (mail_msg_received, mail_msg_destroy): Changed to use
camel_operation rather than mail_status.
(mail_msgport_received, mail_msgport_replied): Turn of the
mail_status stuff, we dont need to report on stuff running in the
gui thread right?
(retrieve_shell_view_interface_from_control, set_view_data,
mail_statusf, mail_status, mail_status_end, mail_status_start,
status_timeout, do_del_status, set_status_op): removed now
redundant stuff.
(mail_msg_free): Removed reference to timeout_id.
svn path=/trunk/; revision=11225
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-18 Not Zed <NotZed@Ximian.com>
* mail-local.c (reconfigure_folder_reconfigure): Changed to use
camel_operation rathre than mail_status.
(reconfigure_folder_describe): re-enabled this function.
* mail-ops.c (get_messages_get): Changed to use camel-progress for
status reporting.
(save_messages_save): Likewise.
2001-07-17 Not Zed <NotZed@Ximian.com>
* mail-mt.c (struct _mail_msg_priv, destroy_objects, mail_msg_new,
mail_msg_free, do_op_status): Changed to use an EvolutionActivityClient for
progress.
svn path=/trunk/; revision=11223
|
|
|
|
|
|
| |
helixcode.com with ximian.com all over the place.
svn path=/trunk/; revision=10440
|
|
|
|
|
|
|
|
|
|
|
| |
* mail-session.c: Renamed from session.c and made to be a subclass
of CamelSession.
* mail-mt.c (mail_user_message): Renamed from mail_get_accept and
made more general-purpose, to implement the new
camel_session_alert_user.
svn path=/trunk/; revision=9618
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-03-09 Jeffrey Stedfast <fejj@ximian.com>
* mail-mt.c (mail_get_accept): New async function that will be
used for SSL certs later.
* session.c (auth_callback): Changed to return a gpointer value.
(mail_session_accept_dialog): New function to handle the new
_ACCEPT authenticator mode.
svn path=/trunk/; revision=8622
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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-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
|
|
|
|
|
|
|
|
|
|
|
| |
* mail-mt.[ch]: make mail_gui_thread non-static.
* main.c (main): Set up signal handler for SEGV, BUS, FPE
(segv_redirect): if a gnome-segv'ing signal is received in
a thread other than mail_gui_thread, re-deliver it to that
thread to work around a problem with the gnome segv handler.
svn path=/trunk/; revision=7728
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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-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-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
|