fa2c19fdd1
Updates for CamelStore changes, small memory leak fixes. (lookup_folder):
...
* mail-local.c: Updates for CamelStore changes, small memory leak
fixes.
(lookup_folder): Removed (and moved into the reconfigure code)
since this method no longer exists in CamelStore.
(do_reconfigure_folder, etc): Update the info in the
MailLocalStore after reconfiguring.
(mail_local_lookup_folder): Removed
* local-config.glade: fix padding of the label_format
* message-list.c (ml_tree_value_at): Don't keep message infos
reffed across calls, since this can cause badness after a
reconfigure. Instead, just strdup the needed values and free those
on the next call.
* mail-tools.c (mail_tool_get_root_of_store): Unused, remove.
(mail_tool_get_inbox): use camel_store_get_inbox.
* evolution-outlook-importer.c (load_file_fn):
* evolution-mbox-importer.c (load_file_fn): Use
mail_tool_get_local_inbox() instead of mail_importer_get_folder()
* mail-importer.c (mail_importer_get_folder): Removed
svn path=/trunk/; revision=8147
2001-02-09 16:45:09 +00:00
579a645c95
Unref the iterator when we're done with it.
...
2000-12-14 Christopher James Lahey <clahey@helixcode.com >
* mail-threads.c (update_active_views): Unref the iterator when
we're done with it.
svn path=/trunk/; revision=7029
2000-12-14 20:40:56 +00:00
302ed28592
Fix a slight race condition that could cause the busy indicator not to
...
go off after switching folder views.
svn path=/trunk/; revision=7021
2000-12-14 19:12:58 +00:00
6dc395e264
Fix up shutdown so that things that should be destroyed get
...
destroyed. Among other things, this fixes the bug where IMAP
stores weren't disconnected at shutdown.
* mail-threads.c (update_active_views): Update for
folder_browser_factory_get_control_list change to EList.
* folder-browser-factory.c: Turn control_list into an EList so
that we can safely remove items from it while it's being iterated
(which will happen as FolderBrowsers are destroyed at shutdown
while the thread code is trying to update the status bars).
(control_destroy_cb): Just destroy the folder_browser.
(browser_destroy_cb): New callback for FolderBrowser destroy.
Remove the control from control_list here instead of
control_destroy_cb, because the controls don't seem to get
destroyed reliably...
* component-factory.c: Clean up stuff.
(factory_destroy): Get rid of this.
(owner_unset_cb): Schedule an idle handler to quit.
(idle_quit): Wait for all of the FolderBrowsers to be destroyed
and then destroy the storages and quit.
svn path=/trunk/; revision=6830
2000-12-06 23:03:49 +00:00
2063939db4
use mail_op_set_message_plain
...
2000-12-01 Radek Doulik <rodo@helixcode.com >
* mail-ops.c (mail_op_report_status): use mail_op_set_message_plain
* mail-threads.c (mail_op_set_message_plain): plain version of
mail_op_set_message, doesn't use printf, passes message untouched,
use set_message
(mail_op_set_message): set_message
(set_message): helper function
svn path=/trunk/; revision=6753
2000-12-01 08:19:16 +00:00
4441d197dc
Update the remaining "IDL:Evolution*" to "IDL:GNOME/Evolution*" to sync up
...
2000-11-11 Matt Bissiri <bissiri@eecs.umich.edu >
Update the remaining "IDL:Evolution*" to "IDL:GNOME/Evolution*"
to sync up with yesterday's IDL re-scoping.
svn path=/trunk/; revision=6541
2000-11-11 06:27:43 +00:00
3d3cfc1137
A very, long, very tedious IDL API rename and re-scoping;
...
this script + some grunt approximates the work:
s/Evolution_MessageList/GNOME_Evolution_MessageList/g;
s/GNOME_Evolution_MessageList_select_message/GNOME_Evolution_MessageList_selectMessage/g;
s/GNOME_Evolution_MessageList_open_message/GNOME_Evolution_MessageList_openMessage/g;
s/Evolution_Folder([ \t])/GNOME_Evolution_Folder$1/g;
s/Evolution_FolderTypeList/GNOME_Evolution_FolderTypeList/g;
s/Evolution_FolderBrowser/GNOME_Evolution_FolderBrowser/g;
s/GNOME_Evolution_FolderBrowser_get_message_list/GNOME_Evolution_FolderBrowser_getMessageList/g;
s/Evolution_LocalStorage/GNOME_Evolution_LocalStorage/g;
s/GNOME_Evolution_LocalStorage_update_folder/GNOME_Evolution_LocalStorage_updateFolder/g;
s/Evolution_ShellView/GNOME_Evolution_ShellView/g;
s/GNOME_Evolution_ShellView_set_message/GNOME_Evolution_ShellView_setMessage/g;
s/GNOME_Evolution_ShellView_unset_message/GNOME_Evolution_ShellView_unsetMessage/g;
s/GNOME_Evolution_ShellView_change_current_view/GNOME_Evolution_ShellView_changeCurrentView/g;
s/Evolution_StorageSetViewListener/GNOME_Evolution_StorageSetViewListener/g;
s/GNOME_Evolution_StorageSetViewListener_folder_selected/GNOME_Evolution_StorageSetViewListener_notifyFolderSelected/g;
s/GNOME_Evolution_StorageSetViewListener_storage_selected/GNOME_Evolution_StorageSetViewListener_notifyStorageSelected/g;
s/Evolution_StorageSetView/GNOME_Evolution_StorageSetView/g;
s/GNOME_Evolution_StorageSetView_add_listener/GNOME_Evolution_StorageSetView_addListener/g;
s/GNOME_Evolution_StorageSetView_remove_listener/GNOME_Evolution_StorageSetView_removeListener/g;
s/Evolution_Shell/GNOME_Evolution_Shell/g;
s/GNOME_Evolution_Shell_get_component_for_type/GNOME_Evolution_Shell_getComponentByType/g;
s/GNOME_Evolution_Shell_user_select_folder/GNOME_Evolution_Shell_selectUserFolder/g;
s/GNOME_Evolution_Shell_get_local_storage/GNOME_Evolution_Shell_getLocalStorage/g;
s/GNOME_Evolution_Shell_create_storage_set_view/GNOME_Evolution_Shell_createStorageSetView/g;
s/Evolution_FolderSelectionListener/GNOME_Evolution_FolderSelectionListener/g;
s/GNOME_Evolution_FolderSelectionListener_selected/GNOME_Evolution_FolderSelectionListener_notifySelected/g;
s/GNOME_Evolution_FolderSelectionListener_cancel/GNOME_Evolution_FolderSelectionListener_notifyCanceled/g;
s/Evolution_Storage/GNOME_Evolution_Storage/g;
s/GNOME_Evolution_Storage_add_listener/GNOME_Evolution_Storage_addListener/g;
s/GNOME_Evolution_Storage_remove_listener/GNOME_Evolution_Storage_removeListener/g;
s/GNOME_Evolution_StorageListener_destroyed/GNOME_Evolution_StorageListener_notifyDestroyed/g;
s/GNOME_Evolution_StorageListener_new_folder/GNOME_Evolution_StorageListener_notifyFolderCreated/g;
s/GNOME_Evolution_StorageListener_update_folder/GNOME_Evolution_StorageListener_notifyFolderUpdated/g;
s/GNOME_Evolution_StorageListener_removed_folder/GNOME_Evolution_StorageListener_notifyFolderRemoved/g;
s/GNOME_Evolution_StorageRegistry_register_storage/GNOME_Evolution_StorageRegistry_addStorage/g;
s/GNOME_Evolution_StorageRegistry_unregister_storage/GNOME_Evolution_StorageRegistry_removeStorageByName/g;
s/Evolution_ShellComponent/GNOME_Evolution_ShellComponent/g;
s/GNOME_Evolution_ShellComponent_set_owner/GNOME_Evolution_ShellComponent_setOwner/g;
s/GNOME_Evolution_ShellComponent_unset_owner/GNOME_Evolution_ShellComponent_unsetOwner/g;
s/GNOME_Evolution_ShellComponent_create_view/GNOME_Evolution_ShellComponent_createView/g;
s/GNOME_Evolution_ShellComponent_async_create_folder/GNOME_Evolution_ShellComponent_addFolderAsync/g;
s/GNOME_Evolution_ShellComponent_async_remove_folder/GNOME_Evolution_ShellComponent_removeFolderAsync/g;
s/GNOME_Evolution_ShellComponent_populate_folder_context_menu/GNOME_Evolution_ShellComponent_populateFolderContextMenu/g;
s/GNOME_Evolution_ShellComponentListener_report_result/GNOME_Evolution_ShellComponentListener_notifyResult/g;
s/Evolution_Session/GNOME_Evolution_Session/g;
s/GNOME_Evolution_Session_save_configuration/GNOME_Evolution_Session_saveConfiguration/g;
s/GNOME_Evolution_Session_load_configuration/GNOME_Evolution_Session_loadConfiguration/g;
s/Evolution_Calendar_Cal/GNOME_Evolution_Calendar_Cal/g;
s/GNOME_Evolution_Calendar_Cal_get_n_objects/GNOME_Evolution_Calendar_Cal_countObjects/g;
s/GNOME_Evolution_Calendar_Cal_get_object/GNOME_Evolution_Calendar_Cal_getObject/g;
s/GNOME_Evolution_Calendar_Cal_get_uids/GNOME_Evolution_Calendar_Cal_getUIds/g;
s/GNOME_Evolution_Calendar_Cal_get_changed_uids/GNOME_Evolution_Calendar_Cal_getChangedUIds/g;
s/GNOME_Evolution_Calendar_Cal_get_objects_in_range/GNOME_Evolution_Calendar_Cal_getObjectsInRange/g;
s/GNOME_Evolution_Calendar_Cal_get_alarms_in_range/GNOME_Evolution_Calendar_Cal_getAlarmsInRange/g;
s/GNOME_Evolution_Calendar_Cal_get_alarms_for_object/GNOME_Evolution_Calendar_Cal_getAlarmsForObject/g;
s/GNOME_Evolution_Calendar_Cal_update_object/GNOME_Evolution_Calendar_Cal_updateObject/g;
s/GNOME_Evolution_Calendar_Cal_remove_object/GNOME_Evolution_Calendar_Cal_removeObject/g;
s/Evolution_Calendar_Listener/GNOME_Evolution_Calendar_Listener/g;
s/GNOME_Evolution_Calendar_Listener_cal_loaded/GNOME_Evolution_Calendar_Listener_notifyCalLoaded/g;
s/GNOME_Evolution_Calendar_Listener_obj_updated/GNOME_Evolution_Calendar_Listener_notifyObjUpdated/g;
s/GNOME_Evolution_Calendar_Listener_obj_removed/GNOME_Evolution_Calendar_Listener_notifyObjRemoved/g;
s/Evolution_Calendar_CalFactory/GNOME_Evolution_Calendar_CalFactory/g;
s/GNOME_Evolution_Calendar_CalFactory_load/GNOME_Evolution_Calendar_CalFactory_load/g;
s/GNOME_Evolution_Calendar_CalFactory_create/GNOME_Evolution_Calendar_CalFactory_create/g;
s/Evolution_Composer/GNOME_Evolution_Composer/g;
s/GNOME_Evolution_Composer_set_headers/GNOME_Evolution_Composer_setHeaders/g;
s/GNOME_Evolution_Composer_set_body_text/GNOME_Evolution_Composer_setBodyText/g;
s/GNOME_Evolution_Composer_attach_MIME/GNOME_Evolution_Composer_attachMIME/g;
s/GNOME_Evolution_Composer_attach_data/GNOME_Evolution_Composer_attachData/g;
s/GNOME_Evolution_Composer_show/GNOME_Evolution_Composer_show/g;
s/Evolution_Addressbook_SelectNames/GNOME_Evolution_Addressbook_SelectNames/g;
s/GNOME_Evolution_Addressbook_SelectNames_add_section/GNOME_Evolution_Addressbook_SelectNames_addSection/g;
s/GNOME_Evolution_Addressbook_SelectNames_get_entry_for_section/GNOME_Evolution_Addressbook_SelectNames_getEntryBySection/g;
s/GNOME_Evolution_Addressbook_SelectNames_activate_dialog/GNOME_Evolution_Addressbook_SelectNames_activateDialog/g;
s/Evolution_CardCursor/GNOME_Evolution_Addressbook_CardCursor/g;
s/GNOME_Evolution_Addressbook_CardCursor_get_length/GNOME_Evolution_Addressbook_CardCursor_getLength/g;
s/GNOME_Evolution_Addressbook_CardCursor_get_nth/GNOME_Evolution_Addressbook_CardCursor_getNth/g;
s/Evolution_BookViewListener/GNOME_Evolution_Addressbook_BookViewListener/g;
s/GNOME_Evolution_Addressbook_BookViewListener_signal_card_added/GNOME_Evolution_Addressbook_BookViewListener_notifyCardAdded/g;
s/GNOME_Evolution_Addressbook_BookViewListener_signal_card_removed/GNOME_Evolution_Addressbook_BookViewListener_notifyCardRemoved/g;
s/GNOME_Evolution_Addressbook_BookViewListener_signal_card_changed/GNOME_Evolution_Addressbook_BookViewListener_notifyCardChanged/g;
s/GNOME_Evolution_Addressbook_BookViewListener_signal_sequence_complete/GNOME_Evolution_Addressbook_BookViewListener_notifySequenceComplete/g;
s/GNOME_Evolution_Addressbook_BookViewListener_signal_status_message/GNOME_Evolution_Addressbook_BookViewListener_notifyStatusMessage/g;
s/Evolution_BookView/GNOME_Evolution_Addressbook_BookView/g;
s/Evolution_Book/GNOME_Evolution_Addressbook_Book/g;
s/GNOME_Evolution_Addressbook_Book_get_vcard/GNOME_Evolution_Addressbook_Book_getVCard/g;
s/GNOME_Evolution_Addressbook_Book_can_write/GNOME_Evolution_Addressbook_Book_isWriteable/g;
s/GNOME_Evolution_Addressbook_Book_can_write_card/GNOME_Evolution_Addressbook_Book_isCardWriteable/g;
s/GNOME_Evolution_Addressbook_Book_create_card/GNOME_Evolution_Addressbook_Book_addCard/g;
s/GNOME_Evolution_Addressbook_Book_remove_card/GNOME_Evolution_Addressbook_Book_removeCard/g;
s/GNOME_Evolution_Addressbook_Book_modify_card/GNOME_Evolution_Addressbook_Book_modifyCard/g;
s/GNOME_Evolution_Addressbook_Book_get_cursor/GNOME_Evolution_Addressbook_Book_getCursor/g;
s/GNOME_Evolution_Addressbook_Book_get_book_view/GNOME_Evolution_Addressbook_Book_getBookView/g;
s/GNOME_Evolution_Addressbook_Book_get_changes/GNOME_Evolution_Addressbook_Book_getChanges/g;
s/GNOME_Evolution_Addressbook_Book_check_connection/GNOME_Evolution_Addressbook_Book_checkConnection/g;
s/GNOME_Evolution_Addressbook_Book_get_static_capabilities/GNOME_Evolution_Addressbook_Book_getStaticCapabilities/g;
s/GNOME_Evolution_Addressbook_Book_get_name/GNOME_Evolution_Addressbook_Book_getName/g;
s/Evolution_BookListener/GNOME_Evolution_Addressbook_BookListener/g;
s/GNOME_Evolution_Addressbook_BookListener_respond_create_card/GNOME_Evolution_Addressbook_BookListener_notifyCardCreated/g;
s/GNOME_Evolution_Addressbook_BookListener_respond_remove_card/GNOME_Evolution_Addressbook_BookListener_notifyCardRemoved/g;
s/GNOME_Evolution_Addressbook_BookListener_respond_modify_card/GNOME_Evolution_Addressbook_BookListener_notifyCardModified/g;
s/GNOME_Evolution_Addressbook_BookListener_report_open_book_progress/GNOME_Evolution_Addressbook_BookListener_notifyOpenBookProgress/g;
s/GNOME_Evolution_Addressbook_BookListener_respond_open_book/GNOME_Evolution_Addressbook_BookListener_notifyBookOpened/g;
s/GNOME_Evolution_Addressbook_BookListener_respond_get_cursor/GNOME_Evolution_Addressbook_BookListener_notifyCursorRequested/g;
s/GNOME_Evolution_Addressbook_BookListener_respond_get_view/GNOME_Evolution_Addressbook_BookListener_notifyViewRequested/g;
s/GNOME_Evolution_Addressbook_BookListener_respond_get_changes/GNOME_Evolution_Addressbook_BookListener_notifyChangesRequested/g;
s/GNOME_Evolution_Addressbook_BookListener_report_connection_status/GNOME_Evolution_Addressbook_BookListener_notifyConnectionStatus/g;
s/Evolution_BookFactory/GNOME_Evolution_Addressbook_BookFactory/g;
s/GNOME_Evolution_Addressbook_BookFactory_open_book/GNOME_Evolution_Addressbook_BookFactory_openBook/g;
s/Evolution_SummaryComponent/GNOME_Evolution_Summary_Component/g;
s/GNOME_Evolution_Summary_SummaryComponent_set_owner/GNOME_Evolution_Summary_Component_setOwner/g;
s/GNOME_Evolution_Summary_SummaryComponent_unset_owner/GNOME_Evolution_Summary_Component_unsetOwner/g;
s/GNOME_Evolution_Summary_SummaryComponent_create_view/GNOME_Evolution_Summary_Component_createView/g;
s/GNOME_Evolution_Summary_SummaryComponent_destroy_view/GNOME_Evolution_Summary_Component_destroyView/g;
s/Evolution_Summary([ \t])/GNOME_Evolution_Summary_ViewFrame$1/g;
s/Evolution_Summary_set_title/GNOME_Evolution_Summary_ViewFrame_setTitle/g;
s/Evolution_Summary_set_icon/GNOME_Evolution_Summary_ViewFrame_setIcon/g;
s/Evolution_Summary_update_component/GNOME_Evolution_Summary_ViewFrame_updateComponent/g;
s/GNOME_GNOME/GNOME/g;
s/GNOME_GNOME/GNOME/g;
s/GNOME_GNOME/GNOME/g;
svn path=/trunk/; revision=6535
2000-11-10 20:41:13 +00:00
19983a9675
url_flags are now on CamelProvider, not CamelService
...
* mail-config-gui.c (service_page_item_new): url_flags are now on
CamelProvider, not CamelService
* main.c:
* subscribe-dialog.c:
* mail-threads.c: Kill warnings
svn path=/trunk/; revision=6371
2000-11-03 18:23:08 +00:00
e7fa8245cc
The big api rename ...
...
2000-11-02 Michael Meeks <michael@helixcode.com >
* The big api rename ...
svn path=/trunk/; revision=6346
2000-11-02 06:48:34 +00:00
18cee24a50
fmt argument should be const.
...
2000-11-01 Jeffrey Stedfast <fejj@helixcode.com >
* mail-threads.c (mail_op_set_message): fmt argument should be
const.
svn path=/trunk/; revision=6343
2000-11-02 04:13:17 +00:00
cf9552aed5
Changed the password-getting dialog so that the text entry has focus.
...
2000-10-11 Anna Marie Dirks <anna@helixcode.com >
* mail-threads.c: Changed the password-getting dialog so that the
text entry has focus.
svn path=/trunk/; revision=5864
2000-10-11 20:56:51 +00:00
174021fa6f
Added #include <errno.h> to mail/mail-threads.c so it will compile.
...
svn path=/trunk/; revision=5820
2000-10-10 18:43:34 +00:00
c627461cec
Repeates writes on EINTRS. (pipe_read): Repeats reads on EINTRS.
...
2000-10-08 Miguel de Icaza <miguel@helixcode.com >
* mail-threads.c (pipe_write): Repeates writes on EINTRS.
(pipe_read): Repeats reads on EINTRS.
(mail_operation_queue): Use pipe_write
(mail_op_set_percentage): ditto.
(mail_op_hide_progressbar): ditto.
(mail_op_show_progressbar): ditto.
(mail_op_set_message): ditto.
(mail_op_get_password): ditto.
(mail_op_error): ditto.
(mail_op_forward_event): ditto.
(mail_operations_terminate): ditto.
(dispatch): use pipe_read.
(dispatch): use pipe_write
(dispatch): ditto.
* mail-ops.c (mail_incorporate_messages): Only show message being
incorporated every 2 seconds, to avoid a bunch of CORBA round trips.
(do_transfer_messages): ditto.
(do_forward_messages): ditto.
svn path=/trunk/; revision=5783
2000-10-08 06:39:20 +00:00
906a178ce8
Goodbye, GDK_THREADS!
...
svn path=/trunk/; revision=5074
2000-08-28 14:36:26 +00:00
0b9b384a2b
Fix GDK_THREADS_entering and leaving, hopefully once and for all. Genericify the recursive-store-loading. Load stores when they're added to the config page.
...
svn path=/trunk/; revision=5005
2000-08-24 17:22:12 +00:00
24feba2033
Whole buncha leak fixes thanks to Purify
...
svn path=/trunk/; revision=4862
2000-08-17 14:19:02 +00:00
533f3d7407
Close the pipes when finished; add i18n
...
svn path=/trunk/; revision=4846
2000-08-15 19:35:59 +00:00
a22313c0a4
Fix the error dialogs.
...
svn path=/trunk/; revision=4837
2000-08-14 16:31:43 +00:00
d5e7aef9f2
Fix the ugly hack to get rid of a CORBA race condition. Yes, it's
...
even uglier now.
svn path=/trunk/; revision=4814
2000-08-13 22:41:02 +00:00
f67847654e
Disable error dialogs for now, as they hang.
...
svn path=/trunk/; revision=4810
2000-08-13 21:24:59 +00:00
3ff93be29a
Don't free the prompt. It doesn't belong to you.
...
* mail-threads.c (get_password): Don't free the prompt. It
doesn't belong to you.
svn path=/trunk/; revision=4805
2000-08-13 20:42:51 +00:00
639b2e2157
Don't wrap the gnome_dialog_run in GDK_THREADS_ENTER/LEAVE
...
2000-08-13 Jeffrey Stedfast <fejj@helixcode.com >
* mail-threads.c (get_password): Don't wrap the gnome_dialog_run
in GDK_THREADS_ENTER/LEAVE
svn path=/trunk/; revision=4803
2000-08-13 18:48:24 +00:00
53337e992f
Get the mail component to use the new Evolution::ShellView interface.
...
This implementation is so ugly and evil and needs to be replaced.
Don't look at it. Go away.
svn path=/trunk/; revision=4797
2000-08-13 05:20:54 +00:00
82531ef38a
Fix 'Test settings' in the prefs dialog. Update the async readme.
...
svn path=/trunk/; revision=4752
2000-08-11 21:08:41 +00:00
69e974fcc7
Fix two mistakes in the FORWARD_MESSAGE handler
...
svn path=/trunk/; revision=4748
2000-08-11 17:57:13 +00:00
1fa80ef1b7
Fix the camel-folder's thaw handler. Implement event forwarding into the main thread.
...
svn path=/trunk/; revision=4744
2000-08-11 17:35:14 +00:00
7c6aa4e01f
Crash fix on user-doesn't-press-escape.
...
svn path=/trunk/; revision=4734
2000-08-11 14:53:58 +00:00
523a1a5640
Make escape equivalent to cancel in the error and query dialogs
...
svn path=/trunk/; revision=4708
2000-08-10 22:24:00 +00:00
8cb514d6dd
Merge with camel-async.
...
svn path=/trunk/; revision=4687
2000-08-10 17:30:50 +00:00
d3c6e3664d
Let us compile sans threads on non-pthread systems.
...
svn path=/trunk/; revision=3752
2000-06-27 14:37:17 +00:00
e923d2eea9
Make the broken threads optional
...
svn path=/trunk/; revision=3740
2000-06-26 18:21:45 +00:00
187f4c8b0c
commenting out of some GDK_THREADS_*() junk that was causing a lock
...
also fixed an assignment problem (var = void) in mail-config.c
svn path=/trunk/; revision=3738
2000-06-26 16:02:06 +00:00
9c515ee30b
Add some debugging messages to track down thread issues better and
...
call GDK_THREAD_{LEAVE,ENTER} around the main loop as the GTK+
FAQ says we should do.
svn path=/trunk/; revision=3737
2000-06-26 05:29:04 +00:00
aa68bd85f1
Land most of the stuff to move fetch_mail, send_mail, expunge_folder, init_imap, and init_news to async operation.
...
svn path=/trunk/; revision=3711
2000-06-23 19:07:01 +00:00
855dff022c
Make the async dialogs non-modal; add cleanup callbacks in the main thread.
...
svn path=/trunk/; revision=3694
2000-06-22 20:31:01 +00:00
c14e8dd705
Add nice blocking stuff for the error dialog and a new get_password hook in the async toolkit
...
svn path=/trunk/; revision=3692
2000-06-22 16:34:33 +00:00
d8962e3587
Prettify the progress dialog a bit.
...
svn path=/trunk/; revision=3689
2000-06-22 13:42:25 +00:00
42d0cc5ca7
Add the async mail API (still not hooked up though)
...
svn path=/trunk/; revision=3676
2000-06-21 18:14:44 +00:00