aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-ops.c
Commit message (Collapse)AuthorAgeFilesLines
* ** Another unread count bug, #58814.Not Zed2004-05-221-1/+0
| | | | | | | | | | | | | | | | | | 2004-05-22 Not Zed <NotZed@Ximian.com> ** Another unread count bug, #58814. * mail-vfolder.c (context_rule_added): * mail-tools.c (mail_tool_uri_to_folder): * mail-component.c (mc_add_local_store_done): don't call mail note folder anymore, fix up headers. * mail-folder-cache.c (store_folder_opened) (mail_note_store_remove, mail_note_store): handle the new store:folder_opened signal. Don't need the mail_note_folder hack anymore, mail_tool_uri_to_folder slowly does less. svn path=/trunk/; revision=26042
* ** See #58693.Not Zed2004-05-201-1/+1
| | | | | | | | | | | | | | | | | | | 2004-05-20 Not Zed <NotZed@Ximian.com> ** See #58693. * mail-send-recv.c (mail_autoreceive_setup): add bounds checking so sloppy ui work wont break it again. * mail-config.glade: put the minimum for autocheck back to 1 minute. Naughty jeff. 2004-05-19 Not Zed <NotZed@Ximian.com> * mail-ops.c (send_queue_send): set seen when we set deleted. ? #56549. svn path=/trunk/; revision=26002
* set header to just Evolution (mail_append_mail): dittoJP Rosevear2004-05-101-2/+2
| | | | | | | | | | | | 2004-05-10 JP Rosevear <jpr@ximian.com> * mail-ops.c (mail_send_message): set header to just Evolution (mail_append_mail): ditto * em-message-browser.c (em_message_browser_window_new): set title to just Evolution svn path=/trunk/; revision=25836
* ** See #58017.Not Zed2004-05-071-2/+2
| | | | | | | | | | | | | | | | | 2004-05-07 Not Zed <NotZed@Ximian.com> ** See #58017. * message-list.c (mail_regen_list): use thread_queued, so we don't regen out of order. * em-folder-view.c (emfv_list_message_selected): use the queue thread so we don't get messages out of order. * mail-ops.c (mail_transfer_messages): use thread_queued_slow. (mail_prep_offline): and here too. svn path=/trunk/; revision=25819
* removed.Not Zed2004-05-031-1/+12
| | | | | | | | | | | | | | 2004-05-03 Not Zed <NotZed@Ximian.com> * mail-send-recv.c (receive_update_done): removed. * em-mailer-prefs.h: * message-tag-followup.h: * mail-config-druid.h: * mail-tools.h: clean up & use forward decls. Fix users with busted includes. svn path=/trunk/; revision=25745
* Duh. If the lookup of si fails, don't use si->display_name in the warningJeffrey Stedfast2004-04-291-2/+0
| | | | | | | | | | | | | | | | | 2004-04-28 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree-model.c (em_folder_tree_model_remove_store): Duh. If the lookup of si fails, don't use si->display_name in the warning message. Actually, don't bother with a warning message at all, this is a perfectly valid situation. Fixes bug #57746. * mail-ops.c (mail_send_message): Don't set the Date header here anymore. It has either already been set (when written to the Outbox) or will automagially be set to the current time if a Date hasn't already been set when the transport sends it. Fixes bug #57599. svn path=/trunk/; revision=25670
* ** See bug #57659.Not Zed2004-04-271-16/+0
| | | | | | | | | | 2004-04-27 Not Zed <NotZed@Ximian.com> ** See bug #57659. * mail-ops.c (fix_unmatched_info): removed, done in camel now. svn path=/trunk/; revision=25625
* run this in the thread_queued_slow, so it runs in sequence and afterNot Zed2004-04-131-1/+1
| | | | | | | | | | | | 2004-04-13 Not Zed <NotZed@Ximian.com> * mail-ops.c (mail_refresh_folder): run this in the thread_queued_slow, so it runs in sequence and after folder_sync. * em-folder-view.c (emfv_set_folder): fire off a refresh_folder once the folder is loaded. Addresses #56871. svn path=/trunk/; revision=25431
* ** See bug # 56402.Not Zed2004-04-051-2/+0
| | | | | | | | | | | | | | 2004-04-05 Not Zed <NotZed@Ximian.com> ** See bug # 56402. * mail-folder-cache.c (update_folders): if we're cancelled, noop. (mail_note_store_remove): mark the update data cancelled. * mail-ops.c (get_folderinfo_got): Removed the meaningless comment here. svn path=/trunk/; revision=25312
* removed, this is done in camel now. (fix_unmatched_info): renamed fromNot Zed2004-04-051-68/+3
| | | | | | | | | | 2004-04-05 Not Zed <NotZed@Ximian.com> * mail-ops.c (add_special_info): removed, this is done in camel now. (fix_unmatched_info): renamed from add_unmatched_info. svn path=/trunk/; revision=25311
* Updated for signature API changes.Jeffrey Stedfast2004-04-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | 2004-04-01 Jeffrey Stedfast <fejj@ximian.com> * importers/netscape-importer.c (netscape_import_accounts): Updated for signature API changes. * mail-account-gui.c: Same. * mail-signature-editor.c: Same. * em-composer-prefs.c: Same. * mail-config.c: Rewrote the signature stuff to use ESignatureList instead. Much cleaner and less broken. * em-mailer-prefs.c (em_mailer_prefs_construct): Always make the Add/Remove Header buttons de-sensitised at the start. Fixes bug #56284. svn path=/trunk/; revision=25282
* Cleaned up header inclusions and added plenty of forward declarations.Not Zed2004-03-311-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-03-31 Not Zed <NotZed@Ximian.com> * *.[ch]: Cleaned up header inclusions and added plenty of forward declarations. Sped up complete re-compilation by upto 20%. ** See bug #55950. * em-utils.c (em_utils_in_addressbook): utility for checking if an email address is in the addressbook. I can't tell if it works 'cause it crashes eds. * em-format-html.c (emfh_gethttp): handle addressbook checking. 2004-03-30 Not Zed <NotZed@Ximian.com> * mail-config.h: clean up the headers and use some forward decl's instead. * em-format-html.c (em_format_html_set_load_http): change state to an int 'style' instead. * em-folder-view.c (emfv_setting_notify): set the format load http option to the config value directly. ** See bug #56147. * message-list.c (clear_info): set the node data to NULL when we unref its data. (ml_get_save_id): use a different test for the root node, and return NULL if we don't have any data on the node (because we're cleaing it). ** See bug #54962. * em-folder-tree.c (emft_popup_new_folder_response): put back the old hack to open the vfolder editor if you try to create a folder under vfolders. ** See bug #55940. * mail-autofilter.c (mail_filter_rename_uri): map the uri to an email uri before passing to filter code. (mail_filter_delete_uri): same here. svn path=/trunk/; revision=25261
* Use ngettext for handling plural forms throughout (fixes bug 53464).Danilo Ĺ egan2004-03-241-2/+6
| | | | svn path=/trunk/; revision=25168
* remove junk learning thread, it's handled in camel-folder.c:folder_changedRadek Doulik2004-03-131-85/+0
| | | | | | | | | | | | | 2004-03-11 Radek Doulik <rodo@ximian.com> * mail-ops.c: remove junk learning thread, it's handled in camel-folder.c:folder_changed now * em-folder-view.c (emfv_popup_mark_junk): use em_folder_view_mark_selected, set junk, junk-learn and seen flags (emfv_popup_mark_nojunk): similar, reset junk, set junk-learn flags svn path=/trunk/; revision=25046
* Removed. No longer in use (hasn't been since before 1.2).Jeffrey Stedfast2004-03-131-114/+67
| | | | | | | | | | | | | | | | | 2004-03-12 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (mail_send_mail): Removed. No longer in use (hasn't been since before 1.2). (send_queue_send): Before enetring the main send loop, create a temporary uid array containing ONLY the messages we will send (ie. not any that have been marked deleted) so that we can more accurately report the number of messages total that we are sending. Also continue sending even if we encounter an exeption in mail_send_message() (unless, of course, it is a user-cancel). Merge any exceptions we get into the master exception variable and ALWAYS sync/expunge the queue folder. svn path=/trunk/; revision=25043
* pass the raw header in instead of name and value. (efh_format_headers): ifNot Zed2004-03-111-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-03-11 Not Zed <NotZed@Ximian.com> * em-format-html.c (efh_format_header): pass the raw header in instead of name and value. (efh_format_headers): if we have specific headers to show, iterate over all headers and print out all matching ones, so duplicate headers are properly displayed. Related to #55298. * em-folder-selector.c (em_folder_selector_construct): dont set this to be modal. otherwise you can't click on error popups. duh. 2004-03-08 Not Zed <NotZed@Ximian.com> * em-folder-selection-button.c (em_folder_selection_button_clicked): don't let the user select virtual/vtrash folders or non-selectable folders. * mail-component.c (impl_createControls): disable selection of non-select rows. * em-folder-selector.c (em_folder_selector_create_new): exclude folders with noinferiors set. * em-folder-tree.c (folder_tree_new): add folder tree arg, hook onto the selection funciton for the tree selection. (emft_select_func): selection override function. allow certain things to be excluded. (em_folder_tree_set_excluded): api to set what is excluded from the selectability. (emft_tree_row_activated): call emft_select_func check to see if this row is excluded before emitting an activated signal. * em-folder-tree-model.c (em_folder_tree_model_set_folder_info): save folder info->flags in the tree store. * mail-folder-cache.c (create_folders): use tail recursion. (get_folders): tail recurse. * (*): Fixed for api changes in camel. svn path=/trunk/; revision=25020
* new method, filter folder with FILTER_SOURCE_JUNKTEST type filterRadek Doulik2004-03-091-1/+7
| | | | | | | | | | | | | | 2004-03-08 Radek Doulik <rodo@ximian.com> * mail-ops.c (mail_filter_junk): new method, filter folder with FILTER_SOURCE_JUNKTEST type filter * em-folder-view.c: added Filter Junk command and junk icons to menus, added apply filters icon to popup menu (emfv_popup_filter_junk): new helper method, calls mail_filter_junk svn path=/trunk/; revision=24991
* ** See bug #53738.Not Zed2004-03-031-15/+7
| | | | | | | | | | | | 2004-03-03 Not Zed <NotZed@Ximian.com> ** See bug #53738. * mail-ops.c (fetch_mail_fetch): if we've been cancelled, uncancel so syncing can work. and always sync the folder (with expunge if deleting). svn path=/trunk/; revision=24948
* if we have the folder opened already, and its the outbox, then use theNot Zed2004-03-031-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-03-03 Not Zed <NotZed@Ximian.com> * em-inline-filter.c (emif_scan): * em-folder-tree-model.c (em_folder_tree_model_set_folder_info): if we have the folder opened already, and its the outbox, then use the total count instead of unread count. Bit of hack, but copies mail-folder-cache stuff. * mail-component.c (mc_add_store): renamed from mail_component_add_store, internal call. Added a done callback. (mc_add_local_store): renamed from mc_add_store, callback for local store. (mail_component_add_store): call mc_add_store to do the work. (mc_add_local_store_done): ugh, the target of all this shit - note all the default folders now they should be setup. * mail-folder-cache.c (mail_note_folder): clean up the logic a bit. was gonna do osmething else but it didn't work. 2004-03-02 Not Zed <NotZed@Ximian.com> * mail-send-recv.c (mail_send): if we're already sending, up the again count to tell it we need to re-send again. (receive_done): if we've been asked to run a send again while we were already running it, run it again to make sure we didn't miss any new messages. See bug #46839. * em-mailer-prefs.c (em_mailer_prefs_construct): update check_incoming_imap changes for merge conflicts. (settings_changed): i have no idea what these changes jeff did do, but check_incoming_imap is no longer needed, so i've deleted most of it. 2004-02-27 Not Zed <NotZed@Ximian.com> * em-format.c (emf_multipart_encrypted, emf_multipart_signed): If validation fails, display as multipart/mixed rather than unkown attachment type, and make the error a little clearer that its an error. See #52939. 2004-02-26 Not Zed <NotZed@Ximian.com> * message-list.c (regen_list_regened): NOOP if the folder has changed. * mail-session.c (mail_session_check_junk_notify): remove check_incoming_imap test. (mail_session_init): " * evolution-mail.schemas.in.in: Remove check_incoming_imap option. * mail-config.glade: Remove check incoming imap checkbox. * em-mailer-prefs.c (em_mailer_prefs_construct): remove check_incoming_imap test. (em_mailer_prefs_apply): " (settings_changed): " svn path=/trunk/; revision=24944
* Set the SEEN flag as well. (emfv_list_key_press): Removed theJeffrey Stedfast2004-02-251-3/+2
| | | | | | | | | | | | | | 2004-02-24 Jeffrey Stedfast <fejj@ximian.com> * em-folder-view.c (emfv_popup_mark_junk): Set the SEEN flag as well. (emfv_list_key_press): Removed the skip-to-next-message logic as this was already being handled in emfv_popup_delete(). Fixes bug #54471. (emfv_enable_menus): Re-enable MessageDelete here. Fixes bug #54770. svn path=/trunk/; revision=24849
* ** See bug #53258.Not Zed2004-02-061-35/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-02-06 Not Zed <NotZed@Ximian.com> ** See bug #53258. * em-format-html-display.c (efhd_find_handler): force any bonobo handler types to always be inline, even attachments. * em-format.c (em_format_is_inline): use handler flags for special cases, removing all hard-coded types. * em-format.h (EMFormatHandler): add a flags field, so far a flag to set default inline viewing of the content. 2004-02-06 Not Zed <NotZed@Ximian.com> * em-folder-properties.c: include string.h to kill warning. ** See bug #53627. * em-folder-view.c (emfv_popup_mark_junk): changed to work like delete does, jumping to the next message if required, and marking things immediately, then queuing up the junk marking job if required. * mail-ops.c (mail_mark_junk): ugh, this stuff totally can't go accessing messagelist from another thread!!!! Changed so this code only does the junk reporting, not setting flags. UGH! It should be doing this implictly on the folder when you set the flags, or at least when you sync the folder!!! Changed ot use the queued thread. * message-list.c (find_next_undeleted): changed to find next-unhidden, i.e. junk as well as deleted, if we're in hide-deleted mode. (build_tree): always call find_next_undeleted if we have a cursor. (build_flat): same. svn path=/trunk/; revision=24644
* ** See bug #53683.Not Zed2004-02-041-0/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-02-04 Not Zed <NotZed@Ximian.com> ** See bug #53683. * mail-ops.c (mail_sync_store): new async op to call CamelStore::sync. * mail-component.c (impl_requestQuit): implement, check to see if we can quit, or have open or unsent messages (and are in online mode). (impl_quit): implement. Trigger off a sync of all open stores, and return FALSE until its done. (impl_upgradeFromVersion): fixed the signature to match the idl, killed that warning at last. ** See bug #53832. * em-folder-browser.c (emfb_folder_properties): only show this if we have a uri set. Strictly, the menu item shouldn't be activated. ** See bug #53131. * em-folder-browser.c (em_folder_browser_show_preview): copy the message list's cursor_uid before calling set_message, since it can get freed during setting the message. svn path=/trunk/; revision=24608
* ** See bug #53549.Not Zed2004-02-021-2/+0
| | | | | | | | | | | | | 2004-02-02 Not Zed <NotZed@Ximian.com> ** See bug #53549. * em-folder-selector.c: Fix handling a parent path of "/". * mail-ops.c (mark_junk_mark): removed the really innacurate cut and paste comment. This has nothing to do with filter_folder. svn path=/trunk/; revision=24565
* ref folder from mail_component_get_folder.Not Zed2004-01-281-1/+2
| | | | | | | | | | | | 2004-01-28 Not Zed <NotZed@Ximian.com> * mail-send-recv.c (setup_send_data): ref folder from mail_component_get_folder. * mail-ops.c (fetch_mail_fetch): ref the folder we get from mail_component_get_folder since it doesn't ref it. svn path=/trunk/; revision=24485
* ** See bug #53084 and others.Not Zed2004-01-271-7/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-01-27 Not Zed <NotZed@Ximian.com> ** See bug #53084 and others. * em-migrate.c (em_migrate): remove the vfolder_revert hack. * em-composer-utils.c (ask_confirm_for_only_bcc): removed unused vars. * mail-tools.c (mail_tool_get_local_inbox): removed, handled by mail_component_get_folder now. * mail-component.c (mail_component_*): Changed the api slightly. Using NULL as the component argument automatically implies you want the default component. (em_uri_from_camel, em_uri_to_camel): moved to em-utils.[ch]. Ok so it isn't namespaced right ... *shrug*. (mail_component_get_local_inbox): removed. (mail_component_get_folder): single entry point for getting standard folders. This is MT-Safe. (mail_component_get_folder_uri): single entry point for getting standard folder uri's. This is MT-Safe. (add_store): removed, moved to mail_component_add_store. (mail_component_load_store_by_uri): call mail_component_add_store directly rather than copying its code. (default_*_folder*): Removed, use accessor methods instead, fixed all callers. (setup_local_store): renamed to mc_setup_local_store, use proper url encoding too. make run-once and thread-safe. (MailComponentPrivate): Added a lock. (mail_control_new): exported properly to kill warnings. (mail_component_init): dont setup_local_store or add accounts here. (impl_createControls): setup local store/accounts here. (mail_component_peek): dont setup vfolder storage here. (mc_startup): internal function to startup stuff needed for gui operation. (setup_search_context): make run-once. (mail_component_peek_search_context): call setup_search_context incase it isn't setup yet. (impl_upgradeFromVersion): remove the local store setup hack. svn path=/trunk/; revision=24462
* translate DEMAND to INCOMING to get the right rulesRadek Doulik2004-01-271-1/+1
| | | | | | | | | | | | | 2004-01-26 Radek Doulik <rodo@ximian.com> * mail-session.c (main_get_filter_driver): translate DEMAND to INCOMING to get the right rules * mail-ops.c (mail_filter_on_demand): use FILTER_SOURCE_DEMAND Fixes #53266 svn path=/trunk/; revision=24436
* removed this like i asked radek to ages ago, just call the parentNot Zed2004-01-191-19/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-01-19 Not Zed <NotZed@Ximian.com> * mail-ops.c (add_vjunk_info, add_vtrash_info): removed this like i asked radek to ages ago, just call the parent directly. (add_vtrash_or_vjunk_info): renamed to something saner. add_special_info. (add_special_info): removed the 'unread count' parameter & return the added info. ** See bug #52854. * em-folder-tree.c (emft_tree_button_press): setup a FOLDER target for the popup menu. * em-popup.c (em_popup_target_free): implement free for TARGET_FOLDER, changed the target options somewhat. (em_popup_target_new_folder): implement folder selection target. Total Hack(tm) alert. (emp_standard_menu_factory): removed the stupid g_assert_if_not_reached() call. * message-list.c (message_list_destroy): NULL out the uid_nodemap when we destroy it. svn path=/trunk/; revision=24302
* support for posting both to mail and to (multiple) foldersMeilof Veeningen2004-01-131-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | 2004-01-12 Meilof Veeningen <meilof@wanadoo.nl> * em-composer-utils.c: support for posting both to mail and to (multiple) folders * em-folder-browser.c: use em_utils_post_to_folder (works with NNTP) * em-folder-selection-button.[ch]: added multiple selection mode * em-folder-selector.[ch]: idem * em-folder-tree.[ch]: added multiple selection mode, no longer show disabled accounts * em-utils.c: various changes to allow posting to (multiple) folders * em-subscribe-editor.c: double-clicking a node in the editor updates it directly * mail-ops.c: for appending messages, set the "X-Mailer" header svn path=/trunk/; revision=24182
* Don't migrate stuff here anymore.Jeffrey Stedfast2004-01-081-26/+5
| | | | | | | | | | | | | | | | | | | | | | | | 2004-01-07 Jeffrey Stedfast <fejj@ximian.com> * mail-component.c (mail_component_init): Don't migrate stuff here anymore. * mail-ops.c (uid_cachename_hack): Removed a hack that checked for the really old uid cache location and make the uid cache live in a better location (why have mail/pop/<account> and mail/pop3/cache-<account>? simply put the cache file in mail/pop/<account>/uid-cache). * em-migrate.c (em_migrate_dir): When copying over mbox folders, don't abort if we fail to copy over a summary file (big whoop). Also, if indexing was turned on in the evolution 1.4 version of the folder, turn on indexing for that folder in the migrated mbox folder as well. (em_migrate_pop_uid_caches): Migrate the pop3 uid-cache files. Fixes bug #52464. (em_migrate): Call em_migrate_pop_uid_caches(). svn path=/trunk/; revision=24094
* Fixes bug #51618Jeffrey Stedfast2003-12-051-5/+13
| | | | | | | | | | | 2003-12-04 Jeffrey Stedfast <fejj@ximian.com> Fixes bug #51618 * mail-ops.c (empty_trash_empty): Get the proper local folders store uri (it's not file:/ anymore). svn path=/trunk/; revision=23636
* thin wrapper on mail_component_get_local_inbox.Not Zed2003-11-171-10/+7
| | | | | | | | | | | | | | | | 2003-11-17 Not Zed <NotZed@Ximian.com> * mail-tools.c (mail_tool_get_local_inbox): thin wrapper on mail_component_get_local_inbox. * mail-component.c (mail_component_get_local_inbox): helper to get the default local inbox. * mail-ops.c (fetch_mail_fetch): if we can't get the inbox, make sure we still unref the filter driver here by using hte same exit code. Fixes a crash. svn path=/trunk/; revision=23377
* merged spam filtering branchRadek Doulik2003-11-131-19/+132
| | | | svn path=/trunk/; revision=23302
* Merge new-ui-branch to the trunk.Ettore Perazzoli2003-10-221-2/+6
| | | | svn path=/trunk/; revision=22964
* Fixed.Jeffrey Stedfast2003-10-071-4/+2
| | | | | | | | | | | 2003-10-06 Jeffrey Stedfast <fejj@ximian.com> * mail-config-druid.c (identity_prepare): Fixed. * mail-ops.c (fetch_mail_fetch): Always save the uid cache no matter what. svn path=/trunk/; revision=22803
* ** See bug #32996Not Zed2003-09-231-1/+1
| | | | | | | | | | | | | | | | 2003-09-22 Not Zed <NotZed@Ximian.com> ** See bug #32996 * mail-folder-cache.c (real_flush_updates): don't just pass TRUE to the 'can work offline' parameter of new shell folder. ** See bug #39410 * mail-ops.c (prep_offline_do): sync all messages, not just unread or flagged ones. svn path=/trunk/; revision=22655
* updated for CamelTransferEncoding namespace changesJeffrey Stedfast2003-09-191-1/+1
| | | | | | | | | | | | | | 2003-09-18 Jeffrey Stedfast <fejj@ximian.com> * em-inline-filter.c: updated for CamelTransferEncoding namespace changes * em-inline-filter.h: updated for CamelTransferEncoding namespace changes * mail-ops.c: updated for CamelTransferEncoding namespace changes svn path=/trunk/; revision=22618
* updated for camel namespace changesJeffrey Stedfast2003-09-191-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-09-18 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c: updated for camel namespace changes * em-folder-view.c: updated for camel namespace changes * em-format-html-display.c: updated for camel namespace changes * em-format-html-quote.c: updated for camel namespace changes * em-format.c: updated for camel namespace changes * em-popup.c: updated for camel namespace changes * em-utils.c: updated for camel namespace changes * mail-autofilter.c: updated for camel namespace changes * mail-ops.c: updated for camel namespace changes * mail-session.c: updated for camel namespace changes * message-list.c: updated for camel namespace changes * message-tag-followup.c: updated for camel namespace changes * importers/evolution-mbox-importer.c: updated for camel namespace changes 2003-09-18 Jeffrey Stedfast <fejj@ximian.com> * em-popup.c (emp_standard_menu_factory): Don't forget to initialise/increment 'i' when using it as an object id in the for-loop. * em-format.c (em_format_format_text): Initialise charset to NULL or it may be used uninitialised. Also include gnome-vfs-mime-handlers.h for gnome_vfs_mime_type_get_description(). svn path=/trunk/; revision=22610
* cvs removed.Not Zed2003-09-181-23/+10
| | | | | | | | | | | | | | | | | | | | | | | | | 2003-09-17 Not Zed <NotZed@Ximian.com> * folder-browser.c, folder-browser.h, folder-browser-ui.c folder-browser-ui.h, mail-callbacks.c, mail-callbacks.h mail-display.c, mail-display.h, mail-display-stream.c mail-display-stream.h, mail-format.c, mail-format.h mail-identify.c, mail-search.c, mail-search.h message-browser.c, message-browser.h, subscribe-dialog.c subscribe-dialog.h, mail-font-prefs.c, mail-font-prefs.h: cvs removed. * Makefile.am: Removed mail-font-prefs.[ch], hasn't been built for ages. * em-*.c: killed a bunch of printfs. * em-format-html-display.c (efhd_html_button_press_event): update for html object api chagnes. ** Merge in mail-refactor-2 branch. svn path=/trunk/; revision=22602
* temporarily reverting camel namespace changes until after other branches ↵Jeffrey Stedfast2003-08-271-3/+3
| | | | | | have been merged svn path=/trunk/; revision=22374
* updated for namespace changed made to camel-mime-utils.[c,h]Jeffrey Stedfast2003-08-261-3/+3
| | | | | | | | | | | | | | | | | | | | | 2003-08-25 Jeffrey Stedfast <fejj@ximian.com> * mail-display.c: updated for namespace changed made to camel-mime-utils.[c,h] * mail-format.c: updated for namespace changed made to camel-mime-utils.[c,h] * mail-ops.c: updated for namespace changed made to camel-mime-utils.[c,h] * message-list.c: updated for namespace changed made to camel-mime-utils.[c,h] * message-tag-followup.c: updated for namespace changed made to camel-mime-utils.[c,h] svn path=/trunk/; revision=22357
* translate the local time format.Not Zed2003-08-231-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-08-22 Not Zed <NotZed@Ximian.com> * mail-format.c (write_date): translate the local time format. 2003-08-20 David Woodhouse <dwmw2@infradead.org> * mail-format.c (write_date): Use e_utf8_strftime() to generate localised time; avoid gratuitous extra translation and array of day names, and the autoconf magic which made Not Zed dislike the inclusion of the timezone name. 2003-08-05 Not Zed <NotZed@Ximian.com> ** See bug #32732 * message-list.c (mail_regen_list): use thread_new. * mail-local.c (reconfigure_response): use thread_new. * mail-display.c (stream_write_or_redisplay_when_loaded): use thread_new. * mail-config.c (mail_config_check_service): use thread_new rather than queue. * mail-callbacks.c (view_msg): change to use mail_get_messages(), fixes FIXME. (do_view_messages): handle get_messages callback. (do_view_message): removed. * mail-ops.c (mail_get_folderinfo): Use a new thread thread semantic. (mail_save_part): " (mail_store_set_offline): " (mail_sync_folder): use queued_slow thread queue. (mail_expunge_folder): " (mail_empty_trash): " svn path=/trunk/; revision=22340
* Don't abort at the first failure after sending (filtering, appending toJeffrey Stedfast2003-08-231-30/+54
| | | | | | | | | | | | | 2003-08-14 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (mail_send_message): Don't abort at the first failure after sending (filtering, appending to Sent, syncing). Instead, keep a running tab of exceptions and then set a culmulative exception at the end to report to our caller. Also, if we fail to append to the account Sent folder, try again with the local Sent folder. Fixes bug #46512. svn path=/trunk/; revision=22336
* Updated for CamelMimePart::content_type changes.Jeffrey Stedfast2003-08-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-08-05 Jeffrey Stedfast <fejj@ximian.com> * mail-format.c (handle_multipart_encrypted): Updated for CamelMimePart::content_type changes. * mail-ops.c (save_part_save): Use camel_data_wrapper_decode_to_stream() here. * mail-display.c (drag_data_get_cb): Updated for CamelMimePart::content_type changes. (do_attachment_header): Same. 2003-07-31 Jeffrey Stedfast <fejj@ximian.com> * mail-format.c (mail_format_raw_message): Updated to pass FALSE as the 'decode' param to mail_format_data_wrapper_write_to_stream(). (mail_format_data_wrapper_write_to_stream): Now takes a boolean arg telling whether to decode or not. Also reworked the charset logic now that camel doesn't handle this for us any longer. (mail_format_get_data_wrapper_text): Updated. (handle_text_plain): Same. (handle_text_enriched): Here too. * mail-display.c (do_attachment_header): Call decode_to_stream here instead of write_to_stream. (do_external_viewer): Same. (on_url_requested): Same. Also updated for mail_format_data_wrapper_write_to_stream(). (try_part_urls): Call decode_to_stream. (drag_data_get_cb): Same. svn path=/trunk/; revision=22173
* add a CamelOperation for overriding status handler.Not Zed2003-08-021-2/+12
| | | | | | | | | | | | | | | | | 2003-07-29 Not Zed <NotZed@Ximian.com> * mail-folder-cache.c (mail_note_store): add a CamelOperation for overriding status handler. * mail-send-recv.c (receive_update_got_store): Pass our own cancel handle to get_folderinfo and mail_note_store. (mail_send_receive, mail_receive_uri): Same for get_store. * mail-ops.c (mail_get_store, mail_get_folderinfo): Add a CamelOperation argument, for overriding the status handler. Fixed most calles to pass NULL to use the default. svn path=/trunk/; revision=22056
* ** This and jeffs patch for #43862.Not Zed2003-06-031-1/+5
| | | | | | | | | | | | | | | | | | | | | 2003-06-02 Not Zed <NotZed@Ximian.com> ** This and jeffs patch for #43862. * mail-folder-cache.c (store_online_cb): If the store is still around, then flow on to a get folderinfo update, otherwise just clear up. * mail-ops.c (mail_store_set_offline): return the msgid of this so it can be cancelled. 2003-05-30 Jeffrey Stedfast <fejj@ximian.com> * mail-folder-cache.c (mail_note_store): If the session is 'online' and we are noting a CamelDiscoStore, make sure that it is changed to online status and call mail_get_folderinfo(). svn path=/trunk/; revision=21369
* New async "empty trash" op.Dan Winship2003-05-191-0/+75
| | | | | | | | | * mail-ops.c (mail_empty_trash): New async "empty trash" op. * mail-callbacks.c (empty_trash): Use it rather than requiring that mail_tool_get_vtrash() work without blocking. #43091 svn path=/trunk/; revision=21243
* Remove this since there's a function in CamelMimeMessage to do it now.Dan Winship2003-03-211-68/+1
| | | | | | | | * mail-ops.c (build_from): Remove this since there's a function in CamelMimeMessage to do it now. (save_messages_save): Use camel_mime_message_build_mbox_from. svn path=/trunk/; revision=20431
* revert a commit that I didn't mean to doJeffrey Stedfast2003-03-131-4/+4
| | | | svn path=/trunk/; revision=20267
* Various small fixes leading up to a real fix.Jeffrey Stedfast2003-03-131-4/+4
| | | | | | | | 2003-03-12 Jeffrey Stedfast <fejj@ximian.com> * mail-signature-editor.c: Various small fixes leading up to a real fix. svn path=/trunk/; revision=20265
* Use g_signal_emit() rather than gtk_signal_emit(). (build_flat): SameJeffrey Stedfast2003-02-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-02-10 Jeffrey Stedfast <fejj@ximian.com> * message-list.c (build_tree): Use g_signal_emit() rather than gtk_signal_emit(). (build_flat): Same here. * mail-signature-editor.c: #include <string.h> * mail-vfolder.c: #include <string.h> * mail-session.c: #include <string.h> * mail-search.c: #include <string.h> * mail-mt.c: #include <string.h> * mail-ops.c (save_part_save): Use strcasecmp() instead of g_strcasecmp(). * mail-local.c: #include <string.h> (reconfigure_folder_reconfigured): Use a GtkDialog instead of gnome_error_dialog(). * mail-format.c (find_preferred_alternative): Use g_ascii_strdown since g_strdown is deprecated. (fake_mime_part_from_data): Removed, no longer used it seems. (destroy_part): Also removed. * mail-display.c (make_popup_window): Replace call to gtk_window_set_polociy() with gtk_window_set_resizable() instead. (popup_size_allocate_cb): Use gtk_window_set_position() with GTK_WIN_POS_MOUSE instead of calculating the position to put it in. svn path=/trunk/; revision=19878
* Updated. (request_password): Same.Jeffrey Stedfast2003-01-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-01-17 Jeffrey Stedfast <fejj@ximian.com> * mail-session.c (do_get_pass): Updated. (request_password): Same. * mail-send-recv.c (mail_send): Fixed to use EAccountService. * mail-config-druid.c (make_account): Updated to use EAccount and friends. * mail-account-gui.c (service_check_supported): Updated to use EAccountService. (mail_account_gui_new): Ref the account passed in and also update to use EAccount objects. (save_service): Updated to use an EAccountService. (add_new_store): Updated to use an EAccount. (mail_account_gui_save): Updated to use EAccounts. (setup_signatures): Updated because the new account->id->def_sig is now an int and not a structure pointer. * mail-account-editor.c (construct): Updated. (mail_account_editor_new): Now takes an EAccount object as an argument instead of a MailConfigAccount. * mail-crypto.c (mail_crypto_get_pgp_cipher_context): Updated to use EAccounts. * subscribe-dialog.c (populate_store_foreach): Removed. (populate_store_list): Can't use populate_store_foreach here because of the change to EAccountList so do it manually. * mail-vfolder.c (uri_is_ignore): Rewrote to use EAccountList and EIterator and all that fun. * mail-send-recv.c (build_dialogue): Updated to use EAccountList and EAccount object stuff. *ugh* (mail_send_receive): Here too. (mail_autoreceive_setup): Same. * mail-callbacks.c (check_send_configuration): Updated. (composer_get_message): Updated. (compose_msg): " (list_add_addresses): " (guess_me): " (guess_me_from_accounts): Same. (forward_get_composer): Here too. (mail_generate_reply): Same. (redirect_get_composer): " (empty_trash): And finally here. * mail-accounts.c (account_edit_clicked): Updated. (account_delete_clicked): Same. (account_default_clicked): Here too. (account_able_clicked): " (account_cursor_change): " (mail_accounts_load): Again here. * folder-browser.c (folder_browser_is_drafts): Updated to use EAccountList and EAccount stuff. (folder_browser_is_sent): Same. * component-factory.c (mail_load_storages): Updated to use EAccount and EAccountList stuff. (owner_set_cb): Same. (send_receive_cb): Here too. * mail-config.c: Rewritten to use EAccount and EAccountList objects. svn path=/trunk/; revision=19509
* ...And a whole bunch more build fixes.Jeffrey Stedfast2002-12-181-21/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-12-17 Jeffrey Stedfast <fejj@ximian.com> ...And a whole bunch more build fixes. * mail-vfolder.c (mail_vfolder_delete_uri): Don't use g_string_sprintfa() anymore since it is apparently deprecated. * mail-session.c (main_get_filter_driver): Don't use g_string_sprintfa() anymore since it is apparently deprecated. * mail-ops.c (build_from): Don't use g_string_sprintfa() anymore since it is apparently deprecated. * mail-callbacks.c (ask_confirm_for_unwanted_html_mail): Don't use g_string_sprintfa() anymore since it is apparently deprecated. * mail-autofilter.c: Don't use g_string_sprintfa() anymore since it is apparently deprecated. * folder-browser.c: Don't use g_string_sprintfa() anymore since it is apparently deprecated. * mail-search.c (mail_search_set_subject): Remove the unnecessary g_strdup()'age as well as fix a possible buffer overrun. * mail-local.c (mail_local_folder_construct): Use g_path_get_basename(). * mail-config-druid.c (make_account): Don't use e_utf8_* functions. svn path=/trunk/; revision=19152
* Use camel_text_to_html() instead of e_text_to_html(). (mail_text_write):Jeffrey Stedfast2002-12-171-1/+0
| | | | | | | | | | | | | | | | | | 2002-12-16 Jeffrey Stedfast <fejj@ximian.com> * mail-display.c (mail_error_printf): Use camel_text_to_html() instead of e_text_to_html(). (mail_text_write): Write the content directly to gtkhtml through an html stream filter. * mail-format.c (attachment_header): Use camel_text_to_html() instead of e_text_to_html(). (write_text_header): Same. (write_address): Here too. (mail_get_message_rfc822): And here. (mail_get_message_body): And finally here. svn path=/trunk/; revision=19133
* Do not #include <libgnome/gnome-defs.h>. Likewise. Likewise. Likewise.Ettore Perazzoli2002-11-141-1/+0
| | | | | | | | | | | | | | | | | * mail-format.c: Do not #include <libgnome/gnome-defs.h>. * mail-importer.c: Likewise. * mail-mt.c: Likewise. * mail-ops.c: Likewise. * mail-search-dialogue.c: Likewise. * mail-session.c: Likewise. * mail-vfolder.c: Likewise. * message-tag-followup.c: Likewise. * main.c: Likewise, and <libgnomeui/gnome-init.h>. * mail-callbacks.c: Do not #include <libgnome/gnome-paper.h>. (do_mail_print): Remove the GnomePaper local variable. svn path=/trunk/; revision=18739
* Commented out stuff that doesn't build yet. Also fixed idl build rule.Not Zed2002-11-121-69/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-11-13 Not Zed <NotZed@Ximian.com> * Makefile.am: Commented out stuff that doesn't build yet. Also fixed idl build rule. importers still not built. * main.c (main): bonobactivationise. remove push visual/colormap. (main): no longer activate activation, let bonobo_init do it. * mail-signature-editor.c (menu_help): Change help api. * mail-session.c (user_message_destroy_noreply): removed. Not used? * mail-local.c (load_metainfo): xml root->children. * mail-format.c (g_string_append_len): Removed, it exists now. 2002-11-12 Not Zed <NotZed@Ximian.com> * subscribe-dialog.c: gnome2ised, use gtkdialog. (subscribe_get_global_extras): use a weak ref rather than destroy signal. * message-tag-followup.c: gnome2ised. * message-tag-editor.c: gnome2ised & converted to gtkdialog. * message-list.c: gnome2ised. (message_list_finalise): From destroy method. maybe should be destroy still. * message-browser.c: port to gnome2 (message_browser_finalise): renamed from destroy method. * mail-stream-gtkhtml.c: removed redundant camel_class_get_global_classfuncs() call. * mail-signature-editor.c: gtkdialogised, & bonobo api changes. * mail-search-dialogue.c: gtkdialogised. * mail-folder-cache.c: cleaned up camel ref/hook casts. * mail-composer-prefs.c (mail_composer_prefs_get_type): convert to gtype. * mail-font-prefs.c (mail_font_prefs_destroy): from finalise. * mail-config.c: s/bonobo_config/e_config_listener/ Added /apps/Evolution prefix to the evolution keys. Changed to use e_config_listener, etc. (mail_config_init): remove bonobo_config stuff. (mail_config_check_service): gtk dialogise. (check_response): from check_cancelled. * mail-config-druid.c (mail_config_druid_destroy): renamed from _finalize, turned into destroy handler. (construct): set type to toplevel, GTK_WINDOW_DIALOG no longer exists. * mail-config-factory.c (mail_config_register_factory): bonobo api changes. * mail-crypto.c (mail_crypto_get_pgp_cipher_context): cleaned up unref casts. * mail-display.c (write_data_to_file): gnome->gtkdialog. (on_link_clicked): use ascii_str*cmp on url. (save_part): g_path stuff. (launch_cb): gtk dialog. (pixmap_press): de-oafify. (pixbuf_for_mime_type): gnome-vfs api changes. (do_attachment_header): Change the pixmap to a gtkimage. (do_signature): " (pixbuf_gen_idle): " (do_attachment_header): ascii_str*cmp (do_attachment_header): gnome pixmap->gtkimage. (mail_display_destroy): protect against gtk mentalness. (html_button_press_event): ascii_str*cmp (drag_data_get_cb): added comment for translators of filename. * mail-format.c (component_supports): de-oafise. (is_anonymous): ascii_strncmp (attachment_header): remove utf8<>locale stuff, and gnomevfs api changes. (format_mime_part): fix g_strdown call. (write_field_row_begin): kill utf8->gtk stuff. (write_address): " (default_header_index): ascii_strcasecmp (handle_text_plain): " (handle_text_enriched): " (handle_multipart_encrypted): remove utf/gtk stuff. (handle_message_external_body): ascii_str*cmp * mail-identify.c (mail_identify_mime_part): (identify_by_magic): gnome vfs api changes. * mail-importer.c: Converted. * mail-local.c (load_metainfo): xml childs -> children. (mls_get_folder): g_strerror. (mls_delete_folder): g_strerror. (reconfigure_got_folder): Gnome->GtkDialog (reconfigure_response): from reconfigure_clicked. * mail-mt.c (mail_msg_check_error): gnome -> gtk dialog (error_response): renmae from error_gone. destroy widget on any response. * mail-offline-handler.c (impl_finalise): renamed from impl_destroy since thats what it should be anyway. * mail-ops.c: removed utf8 widget conversion & camel_object_un/ref casts. * mail-preferences.c (mail_preferences_get_type): glib2'ised. * mail-search.c (mail_search_finalise): renmaed from destroy & properly chain. (mail_search_get_type): glib2 & make gtkdialog parent. (entry_run_search): run search when entry activated. not sure if gtkdialog has anohter way to do this on an arbitrary widget. * mail-send-recv.c (dialogue_response): renamed from clicked. Use gtkdialog. * mail-session.c (request_password_deleted): removed, redundant. (pass_response): rename from pass_got, changed for gtkdialog. (user_message_destroy): Removed, redundant. (user_message_response): Renamed from user_message_clicked. 2002-11-11 Not Zed <NotZed@Ximian.com> * mail-stream-gtkhtml.c (mail_stream_gtkhtml_class_init): dont use get_global_classfuncs, just get the type * mail-tools.c: converted gnome2 api's. * mail-vfolder.c (vfolder_editor_response): clicked->response. (vfolder_editor_destroy): Removed. (vfolder_edit): gtk dialog api (edit_rule_response): clicked->response. (vfolder_edit_rule): gnomedialog->gtkdialog. (vfolder_gui_add_rule): " (new_rule_clicked): clicked->response svn path=/trunk/; revision=18723
* Use 0666 as the create mode so that the user's umask is used to it'sJeffrey Stedfast2002-09-241-1/+1
| | | | | | | | | 2002-09-23 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (save_part_save): Use 0666 as the create mode so that the user's umask is used to it's fullest. svn path=/trunk/; revision=18182
* Use e_strftime_fix_am_pm here which fixes locale issues as well as workingJeffrey Stedfast2002-09-181-1/+1
| | | | | | | | | | | | 2002-09-17 Jeffrey Stedfast <fejj@ximian.com> * mail-display.c (mail_display_render): Use e_strftime_fix_am_pm here which fixes locale issues as well as working around systems that don't support %P (afaik). * mail-ops.c (prep_offline_do): Cache important messages too. svn path=/trunk/; revision=18095
* fixed a commentJeffrey Stedfast2002-09-181-2/+2
| | | | svn path=/trunk/; revision=18090
* Enforce the mailer policy that deleted messages are marked as seen. FixesPeter Williams2002-08-271-2/+12
| | | | | | | | | | | 2002-08-26 Peter Williams <peterw@ximian.com> * mail-ops.c (transfer_messages_transfer): Enforce the mailer policy that deleted messages are marked as seen. Fixes 29448. This could go in camel_folder_transfer_messages_to, but I don't think we necessarily want to enforce that policy for Camel in general. svn path=/trunk/; revision=17865
* Check driver != NULL, if folder_filter freed it already.Not Zed2002-08-061-2/+4
| | | | | | | | | | 2002-08-06 Not Zed <NotZed@Ximian.com> * mail-ops.c (fetch_mail_fetch): Check driver != NULL, if folder_filter freed it already. svn path=/trunk/; revision=17705
* Unref the driver before returning to main thread, so any closingNot Zed2002-08-061-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-08-06 Not Zed <NotZed@Ximian.com> * mail-ops.c (filter_folder_filter): Unref the driver before returning to main thread, so any closing operations are handled async (as in fetch_mail_fetch()), for #28072. ** fixes for #24605. * mail-vfolder.c (vfolder_gui_add_from_mlist): Removed. * folder-browser.c (filter_type_uid,vfolder_type_uid): Changed to accept args directly. Fixed callers. (filter_mlist_uid,vfolder_mlist_uid): Use filter_type_uid instead of mlist variant. (vfolder_type_current): new function to handle setup of vfolders from the main menu. It now uses the vfolder_type_uid function the same as the popup. (vfolder_subject, vfolder_sender, vfolder_recipient, vfolder_mlist): Changed to use vfolder_type_current. (filter_type_current): Similar for filters. (filter_subject, filter_sender, filter_recipient, filter_mlist): Changed to use filter_type_current. * mail-autofilter.c (rule_from_message): Handle AUTO_MLIST type. (rule_from_mlist): (vfolder_rule_from_mlist): (filter_rule_from_mlist): Removed. (filter_gui_add_from_mlist): Removed. * mail-autofilter.h: Added AUTO_MLIST type. svn path=/trunk/; revision=17704
* No real need for this to be an async function sync we are going to callJeffrey Stedfast2002-07-271-83/+1
| | | | | | | | | | 2002-07-26 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (mail_execute_shell_command): No real need for this to be an async function sync we are going to call gnome_execute_async anyway. svn path=/trunk/; revision=17620
* Update to take argc and argv arguments since this is the new definitionJeffrey Stedfast2002-07-251-10/+50
| | | | | | | | | | | | | 2002-07-25 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (mail_execute_shell_command): Update to take argc and argv arguments since this is the new definition for the CamelFilterDriverShellFunc. * mail-session.c (main_get_filter_driver): Updated for the renamed function. svn path=/trunk/; revision=17585
* cast!Jeffrey Stedfast2002-07-251-4/+3
| | | | svn path=/trunk/; revision=17577
* Call camel_session_get_service instead of camel_session_get_store, asPeter Williams2002-07-251-10/+21
| | | | | | | | | | | | | | | | 2002-07-23 Peter Williams <peterw@ximian.com> * mail-ops.c (get_store_get): Call camel_session_get_service instead of camel_session_get_store, as _get_store calls _get_service_connected which is not what we want to do on startup. (set_offline_do): Rework the logic here. It was failing when trying to go online with a disco store that couldn't work offline. * mail-folder-cache.c (mail_note_store): If we're using an offline (well, non-online) disco store that cannot work offline, don't get the folderinfo as that will fail. svn path=/trunk/; revision=17576
* Commit a fix that I thought I committed a while ago:Jeffrey Stedfast2002-07-241-7/+15
| | | | | | | | | | | | | | | | | 2002-07-24 Jeffrey Stedfast <fejj@ximian.com> * mail-format.c (handle_multipart_encrypted): Commit a fix that I thought I committed a while ago: * mail-format.c (handle_multipart_encrypted): Pass the correct pointer into camel_multipart_encrypted_decrypt(). * mail-ops.c (mail_send_message): Rework the logic a bit. If we find an account, use that to set the sent_folder_uri and the transport_url, otherwise use the X-Evolution-Transport and X-Evolution-Fcc headers. svn path=/trunk/; revision=17566
* Don't ever use the mail-display's current_message, this can causeJeffrey Stedfast2002-07-091-9/+14
| | | | | | | | | | | | | | | | | 2002-07-08 Jeffrey Stedfast <fejj@ximian.com> * mail-callbacks.c (redirect): Don't ever use the mail-display's current_message, this can cause problems. * mail-ops.c (get_message_free): Unref the gotten message. All of the callers seemed to think that they didn't have to unref the message. * mail-display.c (mail_display_set_message): Now refs the message. (mail_display_destroy): Unref the current_message if we still have ownership of it. svn path=/trunk/; revision=17387
* No longer need to pass a postpone_cb function into the composerJeffrey Stedfast2002-07-061-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-07-05 Jeffrey Stedfast <fejj@ximian.com> * main.c (main): No longer need to pass a postpone_cb function into the composer factory_init. * mail-send-recv.c (get_receive_type): If the provider is a transport, return SEND_SEND. * mail-config.c (mail_config_get_default_transport): If the default account doesn't have a transport, find the first account that does. * mail-callbacks.c (append_mail_cleanup): Don't bother freeing the appended_uid here. (composer_send_internal): New helper function that does all the similar work that composer_send_cb and composer_postpone_cb did. (composer_send_cb): Append the message to Outbox and in the async callback, queue a message send operation. (composer_postpone_cb): Removed. (composer_send_queued_cb): The new async callback for composer_send_cb(). If the append is successful, queue a message send operation and destroy the composer otherwise re-show the composer. (save_draft_done): g_strdup the appended uid. (compose_msg): Don't connect to the postpone signal anymore as it no longer exists. (send_to_url): Same. (mail_reply): Here too. (forward_get_composer): And here. (redirect_get_composer): Again here. (do_edit_messages): And finally here. * mail-ops.c (append_mail_free): Free the appended uid. svn path=/trunk/; revision=17379
* Prompt the user to see if he really wants to quit when there are queuedJeffrey Stedfast2002-06-041-2/+2
| | | | | | | | | 2002-06-03 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (request_quit): Prompt the user to see if he really wants to quit when there are queued messages in the Outbox. svn path=/trunk/; revision=17089
* Implement prep_offline for an individual folder. (set_offline_do): OnlyNot Zed2002-05-151-26/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-05-15 Not Zed <NotZed@Ximian.com> * mail-ops.c (prep_offline_do): (prep_offline_done): (prep_offline_free): (mail_prep_offline): Implement prep_offline for an individual folder. (set_offline_do): Only call disco_store_set_status or disconnect for the store, dont do any offline prep stuff. * mail-offline-handler.c: Applied patch from Ettore to hook in extra offline interfaces. (impl_destroy): Dont free listener here anymore, its removed, but free sync table. (mail_offline_handler_init): Same for setup. (impl_syncFolder): Implement. (sync_done): handles finalising synchronisation of 1 folder. (sync_status): progress reporting, camel side. (sync_timeout): progress reporting, gmainloop side. (impl_cancelSyncFolder): Implement. (impl_goOffline, storage_go_offline, went_offline): Dont copy the listener to our struct - its an argument, not a member, so give each thread its own copy. svn path=/trunk/; revision=16799
* Update for camel_folder_append_message / camel_folder_transfer_messages_toDan Winship2002-05-141-6/+7
| | | | | | | | | | | | | | | | * (various places): Update for camel_folder_append_message / camel_folder_transfer_messages_to API change. * mail-ops.c (mail_append_mail): Pass the appended_uid to the callback. * mail-callbacks.c (composer_save_draft_cb, save_draft_done, do_edit_messages): Take advantage of the append_message change to keep track of the UID of the saved draft so that we can delete the old copy of the draft each time we save a new one. Remove the FIXME suggesting we should do that, since we're doing it now. :) svn path=/trunk/; revision=16766
* Don't add any shortcuts here. (mail_config_remove_account): And don'tJeffrey Stedfast2002-05-111-13/+13
| | | | | | | | | | | | | | 2002-05-10 Jeffrey Stedfast <fejj@ximian.com> * mail-config.c (mail_config_add_account): Don't add any shortcuts here. (mail_config_remove_account): And don't remove them here. This code has never worked properly. * mail-ops.c (save_part_save): Use the exception enum names rather than '1' since it makes the code clearer. svn path=/trunk/; revision=16756
* Simplify. Use transfer_messages_to instead of picking between copy andDan Winship2002-05-111-34/+1
| | | | | | | | | | | | * mail-ops.c (transfer_messages_transfer): Simplify. Use transfer_messages_to instead of picking between copy and move. Remove vtrash special-casing since it's all in camel-vtrash-folder.c now. Remove duplicate source == dest check. * mail-local.c (mail_local_folder_reconfigure): Use transfer_messages_to instead of copy_messages_to. svn path=/trunk/; revision=16745
* Flush the filter log to make Tuomas happy :-)Jeffrey Stedfast2002-05-071-0/+3
| | | | | | | | | | | | 2002-05-06 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (filter_folder_free): Flush the filter log to make Tuomas happy :-) * mail-session.c (mail_session_flush_filter_log): New convenience function to flush the session's filter log file. svn path=/trunk/; revision=16696
* Set the window title/icon here instead.Jeffrey Stedfast2002-04-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-04-03 Jeffrey Stedfast <fejj@ximian.com> * message-tag-followup.c (construct): Set the window title/icon here instead. * message-tag-editor.c (message_tag_editor_init): Don't set the title or window icon here, this is a generic class. * mail-format.c (handle_multipart_signed): Replace get_url_for_icon with the new mail_display_get_url_for_icon function. (handle_multipart_digest): Here too. (get_cid): Use mail_display_add_url instead. (get_location): Same. (handle_text_enriched): Here too. (handle_multipart_signed): And here. * message-tag-followup.c (message_tag_followup_i18n_name): Use the U_() macro, not the _() macro as it is what we really want. * mail-ops.c (mail_send_message): Don't cast the message into a CamelMedium before sending anymore. * mail-callbacks.c (expunge_folder): Set the followup argument to NULL here. (done_message_selected): Get the followup value here and pass it to the mail-display here. (do_mail_fetch_and_print): Again with the NULL followup here. * folder-browser.c (folder_browser_set_message_preview): Update to pass in NULL as the followup since we are setting the message to NULL here. (done_message_selected): Get and set the appropriate followup value here. (do_message_selected): Update to pass in NULL as the followup since we are setting the message to NULL here. * mail-display.c (mail_display_set_message): Now takes a followup tag value. (mail_display_init): Set md->followup to NULL. (mail_display_destroy): Free md->followup. (mail_display_add_url): New: replaces the static add_url function originally in mail-format.c (mail_display_get_url_for_icon): New: replaces get_url_for_icon which was originally in mail-format.c svn path=/trunk/; revision=16334
* merge new signature handlingRadek Doulik2002-03-071-1/+2
| | | | svn path=/trunk/; revision=15960
* Set X-Mailer to say "Ximian Evolution", not just "Evolution".Ettore Perazzoli2002-03-051-1/+1
| | | | | | | * mail-ops.c (mail_send_message): Set X-Mailer to say "Ximian Evolution", not just "Evolution". svn path=/trunk/; revision=15901
* Make X-Evolution-Account take priority over X-Evolution-Transport. ShouldJeffrey Stedfast2002-01-301-3/+3
| | | | | | | | | | | 2002-01-29 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (mail_send_message): Make X-Evolution-Account take priority over X-Evolution-Transport. Should we just get rid of X-Evolution-Transport? Anyways, this ought to fix a number of complaints. svn path=/trunk/; revision=15516
* New function that implements the Redirect feature.Jeffrey Stedfast2002-01-301-2/+38
| | | | | | | | | | | | | | | | | | | | 2002-01-29 Jeffrey Stedfast <fejj@ximian.com> * mail-callbacks.c (redirect): New function that implements the Redirect feature. * mail-ops.c (mail_send_message): If we are redirecting a message, get the Resent-* recipients otherwise get the normal To/Cc/Bcc recipients and use them in the CamelTransport::send_to() method. * mail-session.c (main_get_filter_driver): Set the beep_func to the beep_cb, not the play_sound_func. Oops ;-) * folder-browser-ui.c: Add Redirect bonobo verb thingy here. (folder_browser_ui_set_selection_state): Add MessageRedirect to the proper string arrays. svn path=/trunk/; revision=15511
* Now takes a boolean notify argument. If this is *not* set, then remove theJeffrey Stedfast2002-01-231-2/+9
| | | | | | | | | | | | | 2002-01-22 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (mail_filter_folder): Now takes a boolean notify argument. If this is *not* set, then remove the sound-notify filter rule that mail-session adds. Kinda kludgy, but good enough for the moment. * mail-callbacks.c (guess_me): Simplified. svn path=/trunk/; revision=15426
* Renamed. (mail_config_get_new_mail_notify_sound_file): Renamed.Jeffrey Stedfast2002-01-081-18/+2
| | | | | | | | | | | | | | | | | | | | | | | | | 2002-01-07 Jeffrey Stedfast <fejj@ximian.com> * mail-config.c (mail_config_set_new_mail_notify_sound_file): Renamed. (mail_config_get_new_mail_notify_sound_file): Renamed. * mail-accounts.c (notify_radio_toggled): Replace EXEC with PLAY_SOUND. (construct): renamed the exec_command stuff to play_sound. * main.c (main): Init and shutdown gnome_sound. * mail-ops.c (fetch_mail_fetch): Don't do any new-mail notification here. (filter_folder_filter): call camel_filter_driver_flush. * mail-session.c (main_get_filter_driver): Set the filter-driver exec_func here instead. * mail-ops.c (mail_fetch_mail): Don't set the filter-driver exec_func here. svn path=/trunk/; revision=15263
* Argh, don't notify about new mail here. (fetch_mail_fetch): Notify aboutJeffrey Stedfast2001-12-191-18/+18
| | | | | | | | | | 2001-12-18 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (filter_folder_free): Argh, don't notify about new mail here. (fetch_mail_fetch): Notify about new mail here instead. svn path=/trunk/; revision=15170
* Setup the new-mail-notification widgets. (notify_command_changed): UpdateJeffrey Stedfast2001-12-191-1/+17
| | | | | | | | | | | | | | | 2001-12-18 Jeffrey Stedfast <fejj@ximian.com> * mail-accounts.c (construct): Setup the new-mail-notification widgets. (notify_command_changed): Update the command-line for new mail notification. (notify_radio_toggled): Update the new-mail-notification type. * mail-ops.c (filter_folder_free): See if we got any new mail and "sound the alarm" if we did. svn path=/trunk/; revision=15168
* Set the filter driver's shell-exec callback.Jeffrey Stedfast2001-12-151-1/+2
| | | | | | | | | 2001-12-14 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (mail_fetch_mail): Set the filter driver's shell-exec callback. svn path=/trunk/; revision=15088
* set the new-mail-notify command.Jeffrey Stedfast2001-12-131-0/+55
| | | | | | | | | | | | | | | | | | | | | | 2001-12-12 Jeffrey Stedfast <fejj@ximian.com> * mail-config.c (mail_config_set_new_mail_notification_command): set the new-mail-notify command. (mail_config_get_new_mail_notification_command): get the new-mail-notify command. (mail_config_set_new_mail_notification): set the new-mail-notification action. (mail_config_get_new_mail_notification): get the new-mail-notification action. (mail_config_write_on_exit): save the new-mail-notification settings. (config_read): Read in the new-mail-notification settings. * mail-ops.c (mail_execute_shell_command): New function to execute a shell command async. Will be used for playing sounds on new mail or whatever. svn path=/trunk/; revision=15005
* Don't expunge when we sync anymore, this fixes bug #4472.Jeffrey Stedfast2001-12-111-2/+2
| | | | | | | | | 2001-12-10 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (filter_folder_filter): Don't expunge when we sync anymore, this fixes bug #4472. svn path=/trunk/; revision=14969
* s/PREVIEW_RELEASE/VERSION_COMMENTJeffrey Stedfast2001-12-071-1/+1
| | | | | | | | 2001-12-06 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (mail_send_message): s/PREVIEW_RELEASE/VERSION_COMMENT svn path=/trunk/; revision=14924
* Don't append "(Preview Version)" at the end of the version string. Use theJeffrey Stedfast2001-12-071-6/+3
| | | | | | | | | | 2001-12-03 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (mail_send_message): Don't append "(Preview Version)" at the end of the version string. Use the PREVIEW_RELEASE #define instead. svn path=/trunk/; revision=14913
* Require gal 0.15.99.8Joe Shaw2001-10-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-29 Joe Shaw <joe@ximian.com> * configure.in: Require gal 0.15.99.8 * addressbook/backend/ebook/e-card-simple.c, addressbook/gui/component/addressbook-storage.c, addressbook/gui/widgets/e-addressbook-view.c, calendar/gui/e-calendar-table.c, calendar/gui/e-itip-control.c, calendar/gui/e-meeting-model.c, calendar/gui/itip-utils.c, calendar/gui/print.c, calendar/gui/alarm-notify/alarm-notify-dialog.c, filter/rule-editor.c, mail/mail-config.c, mail/mail-folder-cache.c, mail/mail-format.c, mail/mail-local.c, mail/mail-ops.c, mail/mail-vfolder.c, shell/e-local-storage.c, shell/e-summary-storage.c: Change includes of e-util/e-unicode-i18n.h to gal/util/e-unicode-i18n.h svn path=/trunk/; revision=14427
* Argh!!! Dont free the async op data here, the async op is still running02001-10-301-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-30 <NotZed@Ximian.com> * subscribe-dialog.c (fe_cancel_op_foreach): Argh!!! Dont free the async op data here, the async op is still running and will access it! Just try to cancel it and mark it as cancelled (id == -1) (fe_done_subscribing): Only remove outselves from the hash table if we're not cancelled. The handle should always be set here, since this code runs in the gui thread. * message-list.c (on_cursor_activated_idle): If nothing selected/cursor not activated, then select no message. * mail-folder-cache.c (update_1folder): Make the trash count optional on EVOLUTION_COUNT_TRASH, becuase some lusers are just too stupid to understand what its for. * component-factory.c (storage_xfer_folder): Return slightly better error codes for copying folders, since its not implemented yet. * mail-vfolder.c, mail-local.c, mail-folder-cache.c, message-list.c component-factory.c, mail-ops.c, subscribe-dialog.c, mail-session.c: d() out some debug printfs, w() out some warnings. * folder-browser-ui.c (folder_browser_ui_add_message): Fix typo, Resent->Resend. svn path=/trunk/; revision=14412
* Don't warn the user if the source and destination folders are the same.Jeffrey Stedfast2001-10-301-3/+1
| | | | | | | | | 2001-10-29 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (transfer_messages_transfer): Don't warn the user if the source and destination folders are the same. svn path=/trunk/; revision=14410
* Update the licensing information to require version 2 of the GPLEttore Perazzoli2001-10-271-3/+2
| | | | | | (instead of version 2 or any later version). svn path=/trunk/; revision=14191
* Don't forget to unref the filter driver here.Jeffrey Stedfast2001-10-261-2/+4
| | | | | | | | | 2001-10-25 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (send_mail_free): Don't forget to unref the filter driver here. svn path=/trunk/; revision=14103
* Clone the folderinfo before passing to async event. (real_folder_created):72001-10-181-1/+1
| | | | | | | | | | | | | | | 2001-10-17 <NotZed@Ximian.com> * mail-folder-cache.c (store_folder_subscribed): Clone the folderinfo before passing to async event. (real_folder_created): Free when done. (store_folder_unsubscribed): (real_folder_deleted): And same here. * mail-ops.c (mail_expunge_folder): Use the queued thread for expunging folders. svn path=/trunk/; revision=13741
* No longer need to copy the description now that camel-exceptions have beenJeffrey Stedfast2001-10-181-8/+2
| | | | | | | | | 2001-10-17 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (mail_send_message): No longer need to copy the description now that camel-exceptions have been fixed. svn path=/trunk/; revision=13738
* Lets put the UID cache in ~/evolution/mail/pop3 as this makes more senseJeffrey Stedfast2001-10-171-2/+22
| | | | | | | | | | | 2001-10-16 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (uid_cachename_hack): Lets put the UID cache in ~/evolution/mail/pop3 as this makes more sense than ~/mail/config does. Perform checking to see what flavor cache-path the user is on and compensate. svn path=/trunk/; revision=13708
* IF the source and destination folders are the same, do nothing. Oh, and02001-10-101-5/+13
| | | | | | | | | | | | | | | | | | | | 2001-10-10 <NotZed@Ximian.com> * mail-ops.c (transfer_messages_transfer): IF the source and destination folders are the same, do nothing. Oh, and return an error, otherwise the shell goes and removes it anyway. Fixes a rather serious bug with dnd of folders onto their current location. 2001-10-09 <NotZed@Ximian.com> * component-factory.c (owner_unset_cb): Disconnect from all the signals we were listening to, so we dont try and do shit twice on exit (one on unset_cb, one on destroy). (create_component): Setup the signal handlers using a table, so they're easier to disconnect on finish. svn path=/trunk/; revision=13545
* Ignore the signal if the radio button is not "on". This fixes bug #10532Jeffrey Stedfast2001-10-051-28/+21
| | | | | | | | | | | | 2001-10-04 Jeffrey Stedfast <fejj@ximian.com> * mail-accounts.c (images_radio_toggled): Ignore the signal if the radio button is not "on". This fixes bug #10532 because the on/off signals don't always come in the off->on order. * mail-ops.c (mail_send_message): Reduced some redundancy. svn path=/trunk/; revision=13424
* Dont wait for event to finish before returning. This could however mean we32001-10-041-0/+2
| | | | | | | | | | | | | | | 2001-10-03 <NotZed@Ximian.com> * mail-folder-cache.c (folder_changed): Dont wait for event to finish before returning. This could however mean we process it after things have vanished below us? Fixes another case of ctrl-d deadlock. * mail-ops.c (remove_folder_get): Freeze/thaw around deleting all messages in folder. svn path=/trunk/; revision=13382
* If we have a fragment, override that, rather than the path. Fixes #5251.32001-10-041-1/+4
| | | | | | | | | 2001-10-03 <NotZed@Ximian.com> * mail-ops.c (add_vtrash_info): If we have a fragment, override that, rather than the path. Fixes #5251. svn path=/trunk/; revision=13379
* Pass an empty flags argument to mail_transfer_messages - destinationJeffrey Stedfast2001-10-031-1/+4
| | | | | | | | | | | | | | | | | | | | | | 2001-10-02 Jeffrey Stedfast <fejj@ximian.com> * mail-callbacks.c (transfer_msg): Pass an empty flags argument to mail_transfer_messages - destination folder should already be created by this point. * folder-browser.c (message_list_drag_data_received): Pass an empty flags argument to mail_transfer_messages. (selection_received): Same. * component-factory.c (xfer_folder): Pass the CREATE flag to mail_transfer_messages() so that the dest folder gets created. (destination_folder_handle_drop): Update for mail-ops API change. * mail-ops.c (mail_transfer_messages): Now takes a dest_flags argument that it passes along to mail_tool_uri_to_folder when opening the destination folder. svn path=/trunk/; revision=13357
* Pass an empty flags argument to mail_tool_uri_to_folder.Jeffrey Stedfast2001-10-031-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-02 Jeffrey Stedfast <fejj@ximian.com> * mail-vfolder.c (vfolder_setup_do): Pass an empty flags argument to mail_tool_uri_to_folder. (vfolder_adduri_do): Same. * mail-session.c (get_folder): Pass an empty flags argument to mail_tool_uri_to_folder. * mail-send-recv.c (receive_get_folder): Pass an empty flags argument to mail_tool_uri_to_folder. * mail-ops.c (get_folder_get): Pass the flags to mail_tool_uri_to_folder. (mail_get_folder): Now takes a flags argument. (remove_folder_get): Pass an empty flags argument to mail_tool_uri_to_folder. (mail_send_message): Pass an empty argument flag to mail_tool_uri_to_folder. (transfer_messages_transfer): Same. Destination folder should already be created by this time. * folder-info.c (do_get_info): Pass an empty flags argument to mail_tool_uri_to_folder. * importers/evolution-mbox-importer.c (folder_created_cb): Pass the CREATE flag here too. (load_file_fn): And here. (load_file_fn): And here too. * importers/evolution-outlook-importer.c (load_file_fn): Pass the CREATE flag to mail_tool_uri_to_folder. * folder-browser.c (folder_browser_new): Pass an empty flags argument. (x_evolution_message_parse): Pass an empty flags argument to mail_tool_uri_to_folder. * component-factory.c (create_folder): Pass a CREATE flag to mail_get_folder here too. (owner_set_cb): And here. (xfer_folder): Shouldn't need the CREATE flag here, so not passing any flags. (destination_folder_handle_drop): Same. * mail-local.c (mail_local_store_add_folder): Pass a CREATE flag to mail_get_folder. (reconfigure_folder_reconfigure): Pass an empty flags argument to mail_tool_uri_to_folder. * mail-tools.c (mail_tool_uri_to_folder): Take a flags argument. (mail_tool_get_local_inbox): Pass an empty flags argument to mail_tool_uri_to_folder. svn path=/trunk/; revision=13353
* A service needs to be disconnected if it's remote, not already offline,Dan Winship2001-09-271-24/+32
| | | | | | | | | | | | | | | | | | | | * mail-offline-handler.c (service_is_relevant): A service needs to be disconnected if it's remote, not already offline, and either connected OR connecting. (storage_go_offline): Don't put non-relevant stores offline. (Eg, don't force an IMAP store which you hadn't already connected to to connect and sync.) (storage_go_online): Likewise, don't "reconnect" stores that weren't connected before. * mail-ops.c (set_offline_desc): Fix the message to say "reconnecting" instead of "disconnecting" when appropriate. (mail_store_set_offline): If offline is TRUE, call camel_service_cancel_connect on the store. (We do this here because we don't want the cancel_connect request to get queued up behind a hanging connection attempt.) svn path=/trunk/; revision=13192
* Use the mail-tools convenience functions to remove and restore theJeffrey Stedfast2001-09-221-73/+7
| | | | | | | | | | 2001-09-21 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (mail_send_message): Use the mail-tools convenience functions to remove and restore the X-Evolution headers. (mail_update_subfolders): Removed. svn path=/trunk/; revision=13064
* All made redundant by new mail-folder-cache code. (delete_folders,Michael Zucci2001-09-221-23/+0
| | | | | | | | | | | | | | | * mail-callbacks.c (mail_storage_create_folder, folder_created, create_folders): All made redundant by new mail-folder-cache code. (delete_folders, folder_deleted): Uh, code that isn't used anywhere. Removed. * component-factory.c (storage_create_folder): Dont call folder_created, let the folder_created event handle the update. * mail-ops.c (mail_scan_subfolders): Remove, no longer used. svn path=/trunk/; revision=13059
* Take a new argument 'done' that can callback when complete. Fixed callers12001-09-211-1/+1
| | | | | | | | | | | | | | | | 2001-09-21 <NotZed@Ximian.com> * mail-folder-cache.c (mail_note_store): Take a new argument 'done' that can callback when complete. Fixed callers appropriately. * mail-ops.c (mail_update_subfolders): Removed. Isn't used anymore. * mail-send-recv.c (receive_update_got_store): Remove call to mail_update_subfolders. svn path=/trunk/; revision=13044
* Update the status bar here, assuming we've just been activated.02001-09-211-8/+13
| | | | | | | | | | | | | | | | | | | | | 2001-09-20 <NotZed@Ximian.com> * folder-browser.c (folder_browser_set_shell_view): Update the status bar here, assuming we've just been activated. * mail-ops.c (add_vtrash_info): Scan whole list, rather than missing the last one. Also dont assume its always the last, otherwise we could lose following folders. * mail-vfolder.c (all): d(x) out debug printfs * mail-folder-cache.c (update_1folder): If its a vtrash folder, or the outbox_folder, and we have a folder, then make the 'count' the total message count, not unread messages count. svn path=/trunk/; revision=13036
* Lock around hashtable/list manipulation. Also dont try scan vfolder_hash02001-09-211-3/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-20 <NotZed@Ximian.com> * mail-vfolder.c (vfolder_register_source): Lock around hashtable/list manipulation. Also dont try scan vfolder_hash if it hasn't been setup yet. (source_finalise): Lock around list access. (rule_changed): Lock around hash access. (context_rule_added): Lock around hash access. (context_rule_removed): " (rule_changed): Lock around list access. * mail-local.c (storage_listener_startup): Fix for api change. (local_storage_new_folder_cb): Dont skip over leading / in path. (local_storage_removed_folder_cb): ditto. * mail-folder-cache.c (create_folders): No longer pass prefix between recursive calls - we have the path in the folderinfo. (setup_folder): No longer take path arg, we get it from folderinfo. (mail_note_folder): No longer take path arg, we use folder->full_name to key the folder table. (mail_note_store): Consolidate note_store interface, pass storage or corba_storage to it. (mail_note_local_store): Removed. * mail-ops.c (add_unmatched_info): Scan for unmatched name and re-title. svn path=/trunk/; revision=13023
* Register vfolder sources here.02001-09-211-3/+3
| | | | | | | | | | | | | | | | | | | | | 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
* Convert all textual parts to 8bit before saving. Fixes bug #10388.Jeffrey Stedfast2001-09-211-1/+35
| | | | | | | | | | | | 2001-09-20 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (save_messages_save): Convert all textual parts to 8bit before saving. Fixes bug #10388. * mail-callbacks.c (ask_confirm_for_unwanted_html_mail): Oops, don't free memory that we don't own. svn path=/trunk/; revision=13013
* Added missing header.92001-09-191-1/+1
| | | | | | | | | | | | | | | 2001-09-19 <NotZed@Ximian.com> * component-factory.c: Added missing header. * mail-local.c (mail_local_store_add_folder): Async load the folder we just added, so it can update the folder counts in the display. We just discard the folder afterwards? * mail-ops.c (mail_get_folder): Use the queued thread to get folders. svn path=/trunk/; revision=12976
* General cleanup of mail debug printfs.92001-09-191-8/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-19 <NotZed@Ximian.com> * General cleanup of mail debug printfs. * mail-folder-cache.[ch]: Completely rewritten. Removed all calls to the old code everywhere they were used. Nuff said. * folder-browser.h: Add shell_view to folder_browser & api to set it. * folder-browser-factory.c (control_activate): Set the shell-view on the folder_browser. (control_deactivate): And clear it here. * folder-browser.c (folder_browser_destroy): Unhook from changed events on the folder before giving it away. (got_folder): Hook onto the folder-changed events. (folder_changed): Event hook proxy for folder_changed events (main_folder_changed): And the main code version. (update_status_bar): And the one that actually does the work. (on_selection_changed): Also call update_status_bar() to update the selection count. (folder_browser_set_shell_view): Implement function to set the shell_view on the folder_browser. (folder_browser_destroy): Release the shell_view here too. * mail-tools.c (mail_tool_uri_to_folder): Dont 'note' the new folder if its from a file: url, this is handled by hte local store (yeeruughck). * mail-local.c (mls_init): (free_info): (mls_finalise): Setup init/finalise funcs for the folderinfo hash. (local_storage_removed_folder_cb): re-enable. 2001-09-18 <NotZed@Ximian.com> * mail-local.c (MailLocalStore): Add a hash table to store uri<>folderinfo data. (mail_local_store_add_folder): Add a new folderinfo to our hash. (mail_local_store_remove_folder): Remove a folder by uri. (storage_listener_startup): Add this store to those monitored by the folder tree. svn path=/trunk/; revision=12974
* Unsubscribe from the folder before deleting it. Also, use the url's pathJeffrey Stedfast2001-09-181-1/+1
| | | | | | | | | | | | | | | 2001-09-17 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (storage_remove_folder): Unsubscribe from the folder before deleting it. Also, use the url's path instead of the shell's path since IMAP doesn't necessarily have to use "/" as the dir sep. * mail-ops.c (remove_folder_get): If the store supports subscriptions, make sure to unsubscribe from the folder before deleting it. svn path=/trunk/; revision=12931
* Get folderinfo 1 at a time rather than all at once.72001-09-181-1/+1
| | | | | | | | | 2001-09-17 <NotZed@Ximian.com> * mail-ops.c (mail_get_folderinfo): Get folderinfo 1 at a time rather than all at once. svn path=/trunk/; revision=12929
* Unsubscribe from the folder before deleting it.Jeffrey Stedfast2001-09-181-15/+12
| | | | | | | | | | | | | 2001-09-17 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (storage_remove_folder): Unsubscribe from the folder before deleting it. * mail-ops.c (remove_folder_get): If the store supports subscriptions, make sure to unsubscribe from the folder before deleting it. svn path=/trunk/; revision=12921
* Major rewrite of most of the guts, handle changes based on signals and52001-09-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-15 <NotZed@Ximian.com> * mail-vfolder.c: Major rewrite of most of the guts, handle changes based on signals and events, etc. Use the main storage handling code that imap uses, etc. * mail-tools.c (mail_tool_uri_to_folder): Dont special case vfolder: anymore. * component-factory.c (owner_set_cb): use vfolder_load_storage(), new function to setup vfolder storage, after interaction has been enabled only. This might need some tweaking ... (storage_remove_folder): Removed all the folder lookup stuff. Just delete the folder based on the path passed in. There should be no reason this wouldn't work, right? 2001-09-14 <NotZed@Ximian.com> * mail-ops.c (get_folderinfo_get): Only add vtrash folder info, if store supports vtrash. * component-factory.c (mail_load_storage_by_uri): Let 'vfolder' stores show up too. 2001-09-13 <NotZed@Ximian.com> * mail-vfolder.c (vfolder_uri_to_folder): Open a vfolder then set its expression, since name?query open method is removed. svn path=/trunk/; revision=12856
* fixed a small memory leakJeffrey Stedfast2001-09-151-0/+1
| | | | svn path=/trunk/; revision=12848
* Append a message to any exception we get appending to any folders afterJeffrey Stedfast2001-09-151-0/+20
| | | | | | | | | | | 2001-09-14 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (mail_send_message): Append a message to any exception we get appending to any folders after having sent the message successfully saying that the message was sent successfully so the user doesn't misinterpret the error. svn path=/trunk/; revision=12830
* Dynamically create the folder type list from camel. (reconfigure_clicked):02001-09-111-74/+0
| | | | | | | | | | | | | | 2001-09-10 <NotZed@Ximian.com> * mail-local.c (mail_local_reconfigure_folder): Dynamically create the folder type list from camel. (reconfigure_clicked): And change code to handle changes. 2001-09-10 <NotZed@Ximian.com> * merged mail_local patch from peterw. Many changes. svn path=/trunk/; revision=12759
* Change some words.Michael Zucci2001-09-081-1/+1
| | | | svn path=/trunk/; revision=12698
* Fixes #7251Chyla Zbigniew2001-09-051-2/+3
| | | | | | * mail-ops.c (add_vtrash_info): Mark "Trash" with U_(), not _(). svn path=/trunk/; revision=12604
* Unref the source folder here because it might be a POP folder. We do thisJeffrey Stedfast2001-09-051-2/+8
| | | | | | | | | | | 2001-09-04 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (fetch_mail_fetch): Unref the source folder here because it might be a POP folder. We do this because on store finalize, we now try to disconnect cleanly which means that we may block. svn path=/trunk/; revision=12602
* Instead of removing the folder from the folder cache here...Peter Williams2001-08-311-4/+6
| | | | | | | | | | 2001-08-30 Peter Williams <peterw@ximian.com> * mail-ops.c (remove_folder_get): Instead of removing the folder from the folder cache here... (remove_folder_got): ... do it here, in the main thread. svn path=/trunk/; revision=12529
* If the store is not connected, scan it's subfolders first.Jeffrey Stedfast2001-08-271-1/+1
| | | | | | | | | | | | 2001-08-26 Jeffrey Stedfast <fejj@ximian.com> * mail-send-recv.c (receive_update_got_store): If the store is not connected, scan it's subfolders first. * mail-ops.c (report_status): Call va_end() so LinuxPPC doesn't have a caniption. svn path=/trunk/; revision=12479
* Call va_end() so LinuxPPC doesn't have a caniption.Jeffrey Stedfast2001-08-271-5/+6
| | | | | | | | | 2001-08-26 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (report_status): Call va_end() so LinuxPPC doesn't have a caniption. svn path=/trunk/; revision=12478
* Save the folder's full_name, unref it, and *then* unref the store, so thatPeter Williams2001-08-251-1/+8
| | | | | | | | | | 2001-08-24 Peter Williams <peterw@ximian.com> * mail-ops.c (remove_folder_get): Save the folder's full_name, unref it, and *then* unref the store, so that the folder has been closed before it gets deleted. svn path=/trunk/; revision=12446
* Say which folder is getting saved.Peter Williams2001-08-221-1/+4
| | | | | | | | 2001-08-21 Peter Williams <peterw@ximian.com> * mail-ops.c (sync_folder_desc): Say which folder is getting saved. svn path=/trunk/; revision=12360
* Fix double-unref of the store.Peter Williams2001-08-211-5/+1
| | | | | | | | 2001-08-20 Peter Williams <peterw@ximian.com> * mail-ops.c (remove_folder_get): Fix double-unref of the store. svn path=/trunk/; revision=12326
* Modify the url and set the protocol to mbox rather than hacking it andJeffrey Stedfast2001-08-211-21/+26
| | | | | | | | | | | | | | 2001-08-20 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (create_folder): Modify the url and set the protocol to mbox rather than hacking it and prepending mbox: to the uri. * mail-local.c (get_folder): Don't prepend the folder_name with the store's path because the hash key is folder_name, not /folder_name. svn path=/trunk/; revision=12325
* s/Synchronising/Synchronizing/.Ettore Perazzoli2001-08-201-1/+1
| | | | | | * mail-ops.c (sync_folder_desc): s/Synchronising/Synchronizing/. svn path=/trunk/; revision=12270
* Fix the fix for #6722.Dan Winship2001-08-141-3/+5
| | | | | | | | | | | | * folder-browser.c (message_list_drag_data_get): Fix the fix for #6722. * mail-ops.c (save_messages_save): Likewise. (save_part_save): Deal with the possibility that camel_mime_filter_charset_new_convert will return NULL (bad charset name). Fixes #6611. svn path=/trunk/; revision=12008
* oops, take out the g_assertsJeffrey Stedfast2001-08-111-2/+0
| | | | svn path=/trunk/; revision=11906
* Fix bug #4523 for good. (save_service): If service->authitem is NULL, thenJeffrey Stedfast2001-08-111-1/+3
| | | | | | | | | | | 2001-08-10 Jeffrey Stedfast <fejj@ximian.com> * mail-account-gui.c (build_auth_menu): Fix bug #4523 for good. (save_service): If service->authitem is NULL, then the user tried to enable authentication but the provider doesn't actually support it. svn path=/trunk/; revision=11905
* Remove all the messages from a folder that's being deleted before actuallyJason Leach2001-08-111-1/+14
| | | | | | | | | | | | | | | | | 2001-08-10 Jason Leach <jleach@ximian.com> * mail-ops.c (remove_folder_get): Remove all the messages from a folder that's being deleted before actually doing the camel_store_delete_folder, so it won't leave behind an mbox file that's going to prevent the actual directory from being deleted, and strange effects like new folders with the same name being made in it's place. Bug #5618. * mail-folder-cache.c (mail_folder_cache_remove_folder): New function, a way to get something out of the folder cache, like folders being deleted. Bug #6878. svn path=/trunk/; revision=11887
* Added a comment about leaking memory here, but we seem to not even use theJeffrey Stedfast2001-08-101-8/+13
| | | | | | | | | | | | | | | | 2001-08-10 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (on_right_click): Added a comment about leaking memory here, but we seem to not even use the 2 strings we strdup...is this code still under construction? * mail-ops.c (mail_send_message): Free the sent_folder_uri at the bottom of the function (ironically enough we were freeing it if we encountered an error but never free'd it on success :-) (get_folderinfo_got): Fixed a memory leak...this one would have gone away once we got rid of the debug g_warning though. svn path=/trunk/; revision=11868
* Dont want it to keep on running if it got bad arguments, want it to bloodyNot Zed2001-08-101-5/+5
| | | | | | | | | | 2001-08-10 Not Zed <NotZed@Ximian.com> * mail-ops.c (mail_transfer_messages): Dont want it to keep on running if it got bad arguments, want it to bloody well crash. (mail_append_mail): Same here. svn path=/trunk/; revision=11865
* Fixes bug #6722Jeffrey Stedfast2001-08-101-3/+4
| | | | | | | | | | | | | | 2001-08-09 Jeffrey Stedfast <fejj@ximian.com> Fixes bug #6722 * mail-ops.c (save_messages_save): Don't set the default perms here, let the user's umask deal with permissions. * folder-browser.c (message_list_drag_data_get): Don't set any default perms. svn path=/trunk/; revision=11842
* Dont double-register this operation, mail-mt will do it for us.Not Zed2001-08-091-18/+0
| | | | | | | | | | | | | | | | | | | 2001-08-08 Not Zed <NotZed@Ximian.com> * mail-ops.c (send_mail_send): Dont double-register this operation, mail-mt will do it for us. (get_folderinfo_get): " (get_folder_get): " (get_store_get): " (create_folder_get): " (remove_folder_get): " (sync_folder_sync): " (get_message_get): " * message-list.c (message_list_setup_etree): Free the etstate object after we're done using it. svn path=/trunk/; revision=11813
* Change this gtk_object_ref on the storage to a bonobo_object_ref.Peter Williams2001-08-081-1/+1
| | | | | | | | | 2001-08-08 Peter Williams <peterw@ximian.com> * mail-ops.c (mail_update_subfolders): Change this gtk_object_ref on the storage to a bonobo_object_ref. svn path=/trunk/; revision=11790
* Free the dbkey if we found the config option.Not Zed2001-08-081-2/+9
| | | | | | | | | | | | | | | | | | | 2001-08-07 Not Zed <NotZed@Ximian.com> * mail-config.c (mail_config_get_thread_list): Free the dbkey if we found the config option. * mail-send-recv.c (build_dialogue): Free the pretty_url after we've used it. (free_send_info): Free the 'what' string. (receive_done): Use free_send_info to make sure we free everything. * mail-ops.c (send_queue_free): Unref the filter driver when done. (send_queue_send): Unref the driver here too, force any long taking operations to run in our thread. svn path=/trunk/; revision=11777
* [ Use bonobo_object_unref on the storage since it's a bonobo object. ]Peter Williams2001-08-081-3/+3
| | | | | | | | | | | | 2001-08-07 Peter Williams <peterw@ximian.com> [ Use bonobo_object_unref on the storage since it's a bonobo object. ] * mail-send-recv.c (receive_update_got_store): Same. * mail-ops.c (do_update_subfolders): Same. svn path=/trunk/; revision=11752
* This should return a GtkWidget not a GtkObject.Jeffrey Stedfast2001-08-081-62/+72
| | | | | | | | | | | | | | | | | | | | | | | | 2001-08-07 Jeffrey Stedfast <fejj@ximian.com> * subscribe-dialog.c (subscribe_dialog_new): This should return a GtkWidget not a GtkObject. * mail-session.c (get_filter_driver): Update to use user's logging preferences. * mail-accounts.c (filter_log_toggled): New. (filter_log_path_changed): New. (construct): Get and attach signals to the filter logging option widgets. * mail-config.c (config_read): Read in filter logging options. (mail_config_write_on_exit): Save filter logging options. (mail_config_set_filter_log_path): Implemented. (mail_config_get_filter_log_path): Implemented. (mail_config_set_filter_log): Implemented. (mail_config_get_filter_log): Implemented. svn path=/trunk/; revision=11751
* Added. Provide description for filter_folder_op. (fetch_mail_describe):Jon Trowbridge2001-08-031-2/+14
| | | | | | | | | | | | | | | | | | | | 2001-08-02 Jon Trowbridge <trow@ximian.com> * mail-ops.c (filter_folder_describe): Added. Provide description for filter_folder_op. (fetch_mail_describe): Added. Provide description for fetch_mail_op. * message-list.c (regen_list_describe): Added. Provide description for regen_list_op. * mail-config.c (check_service_describe): Added. Provide description for check_service_op. * folder-info.c (do_describe_info): Added. Provide description for get_info_op. svn path=/trunk/; revision=11604
* Connect to the folder_remove signal on the storage. (vfolder_remove): NewJeffrey Stedfast2001-08-031-4/+4
| | | | | | | | | | 2001-08-02 Jeffrey Stedfast <fejj@ximian.com> * mail-vfolder.c (vfolder_create_storage): Connect to the folder_remove signal on the storage. (vfolder_remove): New function to remove a vfolder. svn path=/trunk/; revision=11591
* Add EVOLUTION_BUTTONSDIR to get to some different icons.Not Zed2001-08-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-08-02 Not Zed <NotZed@Ximian.com> * Makefile.am (INCLUDES): Add EVOLUTION_BUTTONSDIR to get to some different icons. * mail-ops.c (mail_sync_folder): Queue the folder sync operation, rather than running it in parallel. * mail-send-recv.c: applies anna's patch for prettier send-recv dialogue. (parse_url): Renamed to format_url, fixed callers. (format_url): Use camel_url_free instead of g_free, also handle case where we have no host (use path instead). (build_dialogue): Cleaned up some whitespace. (build_dialogue): Create the label directly with the right text, dont set any text in the progress bar, and save the label into the info struct for later updating. (struct _send_info): Added 'status' the label with the status string. (operation_status_timeout): (receive_done): (receive_cancel): Set the status label, not the progress format text. (hide_send_info): NULL out status too. (mail_receive_uri): Init status. (free_folder_info): Initiate a folder sync here, so we can ... (free_send_data): ... Remove the awful hack of iterating through bonobo controls to sync all open folders. (free_send_data): Initiate a sync of the inbox too. (build_dialogue): Remove set_alignment on the icon, its not a gtkmisc object. svn path=/trunk/; revision=11566
* Pass the O_TRUNC flag to open so that we don't leave trailing garbage atJeffrey Stedfast2001-07-251-34/+38
| | | | | | | | | | 2001-07-24 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (save_part_save): Pass the O_TRUNC flag to open so that we don't leave trailing garbage at the end of the file if the new file content is shorter than the old file content. svn path=/trunk/; revision=11373
* When dumping the CamelURL to a string, hide all the params.Jeffrey Stedfast2001-07-251-10/+10
| | | | | | | | | 2001-07-24 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (add_vtrash_info): When dumping the CamelURL to a string, hide all the params. svn path=/trunk/; revision=11354
* fixed my fix to compileJeffrey Stedfast2001-07-241-2/+2
| | | | svn path=/trunk/; revision=11324
* If the source and destination folders are the same, just mark the uids asJeffrey Stedfast2001-07-241-2/+13
| | | | | | | | | | 2001-07-23 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (transfer_messages_transfer): If the source and destination folders are the same, just mark the uids as undeleted (in case they were marked as deleted before). svn path=/trunk/; revision=11322
* Don't expunge the source folder if we have a cache.Jeffrey Stedfast2001-07-211-1/+2
| | | | | | | | | 2001-07-20 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (filter_folder_filter): Don't expunge the source folder if we have a cache. svn path=/trunk/; revision=11264
* remvoed register/start/end etc code.Not Zed2001-07-191-13/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* partial checkin before completing the changesNot Zed2001-07-191-6/+16
| | | | | | | | | | | | | | | | | | | | 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
* Use CAMEL_VTRASH_NAME.Jeffrey Stedfast2001-07-181-2/+2
| | | | | | | | | | | | | | | | 2001-07-17 Jeffrey Stedfast <fejj@ximian.com> * mail-local.c (init_trash): Use CAMEL_VTRASH_NAME. * mail-ops.c (add_vtrash_info): Use CAMEL_VTRASH_NAME. * folder-browser.c: turned off some debugging 2001-07-16 Jeffrey Stedfast <fejj@ximian.com> * mail-callbacks.c (transfer_msg): Disallow vtrash for now... svn path=/trunk/; revision=11159
* Use g_strcasecmp() when looking for a Trash folder - it may be lowercaseJeffrey Stedfast2001-07-171-8/+19
| | | | | | | | | | 2001-07-16 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (add_vtrash_info): Use g_strcasecmp() when looking for a Trash folder - it may be lowercase or something funky. (transfer_messages_transfer): Special-case vtrash folders. svn path=/trunk/; revision=11142
* Use g_strcasecmp() when looking for a Trash folder - it may be lowercaseJeffrey Stedfast2001-07-171-6/+11
| | | | | | | | | | | | | | | | 2001-07-16 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (add_vtrash_info): Use g_strcasecmp() when looking for a Trash folder - it may be lowercase or something funky. * mail-local.c (init_trash): No need to specify the vfolder expression here. This code was moved into camel-vtrash-folder.c ages ago. * component-factory.c: Let VTrash folders accept/export the same dnd types as normal folders. svn path=/trunk/; revision=11140
* Updated to reflect changes in the filter API by passing in the providedJeffrey Stedfast2001-07-131-0/+15
| | | | | | | | | | | | | | | | | | | | | | 2001-07-13 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (filter_folder_filter): Updated to reflect changes in the filter API by passing in the provided uid cache to camel_filter_driver_filter_folder. (mail_filter_folder): Set the cache to NULL. (mail_fetch_mail): Set the cache to NULL. (fetch_mail_fetch): If a cache exists for this folder, set it. When we are finished filtering the incoming messages, the logic changes a bit. We now save the cache if keep_on_server is set *or* if there was an exception this way if the user's download gets interrupted, he won't have to download all the messages again. (fetch_mail_fetch): Oh yea, and just so if we get an exception with `delete' turned on, the next time the user checks mail and an exception *doesn't* occur, it will go back and mark all the messages for deletion. svn path=/trunk/; revision=11086
* Updated to reflect changes in the filter API by passing in the providedJeffrey Stedfast2001-07-131-43/+48
| | | | | | | | | | | | | | | | | | 2001-07-13 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (filter_folder_filter): Updated to reflect changes in the filter API by passing in the provided uid cache to camel_filter_driver_filter_folder. (mail_filter_folder): Set the cache to NULL. (mail_fetch_mail): Set the cache to NULL. (fetch_mail_fetch): If a cache exists for this folder, set it. When we are finished filtering the incoming messages, the logic changes a bit. We now save the cache if keep_on_server is set *or* if there was an exception this way if the user's download gets interrupted, he won't have to download all the messages again. svn path=/trunk/; revision=11085
* Check for an exception and print it. Call done anyway.Peter Williams2001-07-101-1/+8
| | | | | | | | | | 2001-07-09 Peter Williams <peterw@ximian.com> * mail-ops.c (get_folderinfo_got): Check for an exception and print it. Call done anyway. (do_update_subfolders): Check for NULL info. svn path=/trunk/; revision=10924
* Add a checkbox for prompting when sending a message with an empty subject.Jeffrey Stedfast2001-07-061-36/+50
| | | | | | | | | | | | 2001-07-05 Jeffrey Stedfast <fejj@ximian.com> * mail-accounts.c (construct): Add a checkbox for prompting when sending a message with an empty subject. * mail-ops.c (mail_send_message): If filtering fails, return right away. svn path=/trunk/; revision=10821
* Clear the shell view label if mailer loses focus.Peter Williams2001-07-051-4/+6
| | | | | | | | | | | | 2001-07-05 Peter Williams <peterw@ximian.com> * mail-folder-cache.c (mail_folder_cache_set_folder_browser): Clear the shell view label if mailer loses focus. * mail-ops.c (do_update_subfolders_rec): Check for NULL url before calling folder cache functions. svn path=/trunk/; revision=10804
* Don't pass a dirty exception to camel_folder_sync. Fixes an IMAP filteringDan Winship2001-07-031-1/+1
| | | | | | | * mail-ops.c (filter_folder_filter): Don't pass a dirty exception to camel_folder_sync. Fixes an IMAP filtering crash. svn path=/trunk/; revision=10743
* Updated for the mail_transfer_messages API.Jeffrey Stedfast2001-07-031-121/+27
| | | | | | | | | | | | | | | | | | | | | | 2001-07-02 Jeffrey Stedfast <fejj@ximian.com> * mail-callbacks.c (transfer_msg): Updated for the mail_transfer_messages API. * folder-browser.c (message_list_drag_data_recieved): Update for the mail_transfer_messages API. (selection_received): Same. * mail-ops.c (mail_transfer_messages): Renamed from mail_do_transfer_messages and also added a callback/data arguments since we need it component_factory::xfer_folder. * component-factory.c (xfer_folder): Use mail_transfer_messages instead. (destination_folder_handle_drop): Update to pass in a NULL callback arg and a NULL data argument to mail_transfer_messages. svn path=/trunk/; revision=10710
* New file. Protoypes for the Mail Folder Cache, which provides a place forPeter Williams2001-07-031-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-07-02 Peter Williams <peterw@ximian.com> * mail-folder-cache.h: New file. Protoypes for the Mail Folder Cache, which provides a place for all the disparate pieces of the mailer to save bits of information about a folder. Centralizes the information display code. * mail-folder-cache.c: New file. Implements the Mail Folder Cache. * Makefile.am (evolution_mail_SOURCES): Add the mail-folder-cache.{c,h} * folder-browser-factory.c (fb_get_svi): Copy of that absurdly long-named function in mail-display.c that gets the GNOME_Evolution_ShellView. (control_activate): Set the ShellView for the folder cache. * folder-browser.c (got_folder): Tell the folder browser about this folder. * mail-callbacks.c (create_folders): Tell the folder cache about the new folders. * mail-local.c (reconfigure_folder_reconfigure): Don't unhook our events as we no longer hook them up. (register_folder_registered): Tell the folder cache about this folder's place in the local storage. (register_folder_register): No longer hook events; the Folder Cache will do this. (local_folder_changed, local_folder_changed_proxy): Move to mail-folder-cache.c (free_local_folder): No longer unhook events. * mail-ops.c (do_update_subfolders_rec): Instead of setting the folder status ourselves, inform the Folder Cache about the changes. * mail-tools.c (mail_tool_uri_to_folder): Replace danw's cache with the new Mail Folder Cache. (cache_folder, etc): removed. svn path=/trunk/; revision=10694
* Implement this, based on code that used to be in mail-ops.cDan Winship2001-07-021-87/+13
| | | | | | | | | | | | | | | | | * mail-session.c (get_filter_driver): Implement this, based on code that used to be in mail-ops.c * mail-ops.c (mail_load_filter_context, setup_filter_driver): Moved into MailSession::get_filter_driver. (filter_get_folder): Moved to mail-session.c (mail_filter_folder, mail_filter_on_demand, mail_fetch_mail, mail_send_mail, mail_send_queue): Remove FilterContext args, use camel_session_get_filter_driver. * mail-send-recv.c (mail_send_receive, mail_receive_uri): Remove FilterContexts svn path=/trunk/; revision=10682
* Add a CamelMimeFilterStripHeader that removes a header from mime output. UsedPeter Williams2001-06-291-11/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | by sendmail to strip the BCC from the email while still sending to the BCC recipients. camel: 2001-06-28 Peter Williams <peterw@ximian.com> * camel-mime-filter-stripheader.c: New file. Filter that strips a header from mime output. * camel-mime-filter-stripheader.h: New file. Header for the above. * providers/smtp/camel-smtp-transport.c (smtp_data): Use the stripheader filter to remove the "Bcc" header. * Makefile.am: Add the stripheader files. * tests/lib/Makefile.am (INCLUDES): Get this to compile again. * tests/mime-filter/test-stripheader.c: New file. Test suite for the CamelMimeFilterStripHeader. * tests/mime-filter/Makefile.am: New test section: mime filters. mail: 2001-06-28 Peter Williams <peterw@ximian.com> * mail-ops.c (mail_send_message): Revert fejj's Bcc header removal; this unsets the BCC recipients and so doesn't send to the Bcc'd people at all. svn path=/trunk/; revision=10576
* Read in the default show_preview value. (mail_config_write_on_exit): SaveJeffrey Stedfast2001-06-261-43/+49
| | | | | | | | | | | | 2001-06-26 Jeffrey Stedfast <fejj@ximian.com> * mail-config.c (config_read): Read in the default show_preview value. (mail_config_write_on_exit): Save the default show_preview value as well as saving the individual settings for each URI that has been changed. svn path=/trunk/; revision=10500
* Fixes here for removing folders.Jason Leach2001-06-241-7/+10
| | | | | | | | | | | 2001-06-23 Jason Leach <jleach@ximian.com> * mail-local.c (local_storage_removed_folder_cb): Fixes here for removing folders. * mail-ops.c (remove_folder_get): Some fixes in here too. svn path=/trunk/; revision=10445
* Update the copyrights, replacing Helix Code with Ximian andEttore Perazzoli2001-06-231-4/+4
| | | | | | helixcode.com with ximian.com all over the place. svn path=/trunk/; revision=10440
* Temporarily remove the Bcc header before sending the message.Jeffrey Stedfast2001-06-221-6/+18
| | | | | | | | | 2001-06-21 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (mail_send_message): Temporarily remove the Bcc header before sending the message. svn path=/trunk/; revision=10385
* Fixed misuse of an uninitialized variable.Jeffrey Stedfast2001-06-161-7/+10
| | | | | | | | | | | | | | | | | 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
* Reattach X-Evolution-Account information to the message after sending it.Jon Trowbridge2001-06-091-2/+9
| | | | | | | | | | | 2001-06-08 Jon Trowbridge <trow@ximian.com> * mail-ops.c (mail_send_message): Reattach X-Evolution-Account information to the message after sending it. This way it can be used to set the identity properly if we later Resend the message. svn path=/trunk/; revision=10162
* Added an argument, so that the original source URI of the mbox can beJon Trowbridge2001-06-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | 2001-06-07 Jon Trowbridge <trow@ximian.com> * camel-filter-driver.c (camel_filter_driver_filter_mbox): Added an argument, so that the original source URI of the mbox can be passed in. This is needed because this function is called post-movemail, so we are never reading from the original mbox anymore. Without the original mbox URI, the X-Evolution-Source tag gets set incorrectly and filter-on-source will fail to work. (camel_filter_driver_filter_message): Also take an extra arg for the original source URI. It is the original URI, not the source URI, that is used for filtering and for setting the X-Evolution-Source tag. 2001-06-07 Jon Trowbridge <trow@ximian.com> * mail-ops.c (fetch_mail_fetch): Pass the original source URI to camel_filter_driver_filter_mbox. (mail_send_message): Pass NULL as the orginal source URI to camel_filter_driver_filter_message. svn path=/trunk/; revision=10152
* When unreffing a folder we got ourselves (as opposed to one passed in byDan Winship2001-05-271-1/+40
| | | | | | | | | | | | | | | | * mail-ops.c (mail_send_message, transfer_messages_transfer, set_offline_do): When unreffing a folder we got ourselves (as opposed to one passed in by the caller), sync before unreffing, since we might be holding the only reference to it. (mail_refresh_folder): New op, like mail_sync_folder, but does a camel_folder_refresh_info instead. * folder-browser-factory.c (control_activate): Call mail_refresh_folder, not mail_sync_folder. (The goal is to see new messages: sync used to work with imap because imap_sync was broken, but it doesn't work for that any more.) svn path=/trunk/; revision=10011
* Don't free the folder-info here, instead have mail_append_mail() call ourJeffrey Stedfast2001-05-241-9/+10
| | | | | | | | | | | 2001-05-23 Jeffrey Stedfast <fejj@ximian.com> * mail-callbacks.c (composer_postpone_cb): Don't free the folder-info here, instead have mail_append_mail() call our new function, append_mail_cleanup() which'll free the folder-info. This fixes the problem of send-later segfaulting. svn path=/trunk/; revision=9958
* New function that the shell component calls to copy/move a folder.Jeffrey Stedfast2001-05-241-0/+110
| | | | | | | | | | | | | | | | | | | | | | 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
* New async function to remove a folder. God knows if it does what theJeffrey Stedfast2001-05-241-0/+81
| | | | | | | | | | | | | | | | 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
* New file, started by Ettore, finished by me, to implement theDan Winship2001-05-101-0/+95
| | | | | | | | | | | | | | | | | | * 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
* #include <camel/camel-file-utils.h>Dan Winship2001-05-041-4/+6
| | | | | | | | | | | | | | * message-list.c: #include <camel/camel-file-utils.h> * mail-ops.c (get_folderinfo_get): * subscribe-dialog.c (build_tree): Update for camel_store_get_folder_info prototype change. * mail-format.c (handle_text_plain_flowed): Improve more on the fix from the other day: the first level of indentation adds blank lines, but further levels don't... svn path=/trunk/; revision=9660
* Only set the X-Evolution-* header if that value is non-NULL.Jeffrey Stedfast2001-04-231-9/+15
| | | | | | | | | | | | | 2001-04-22 Jeffrey Stedfast <fejj@ximian.com> * mail-callbacks.c (composer_get_message): Only set the X-Evolution-* header if that value is non-NULL. * mail-ops.c (mail_send_message): Lets do proper refcounting on the sent-folder. Also, g_strdup() the sent_folder_uri since we later free it. If we don't, then we get lovely corrupt memory. svn path=/trunk/; revision=9498
* use system = EVOLUTION_DATADIR "/file" instead of g_strdup_printf. RenameGediminas Paulauskas2001-04-221-7/+6
| | | | | | | | | | | | | | | | | 2001-04-22 Gediminas Paulauskas <menesis@delfi.lt> * folder-browser.c, mail-autofilter.c, mail-callbacks.c, mail-ops.c, mail-summary.c, mail-vfolder.c: use system = EVOLUTION_DATADIR "/file" instead of g_strdup_printf. Rename userrules to user (and system) to be consistent. * mail-send-recv.c: set window icon to send-receive.xpm 2001-04-21 Gediminas Paulauskas <menesis@delfi.lt> * mail-summary.c: translate "Mail summary". svn path=/trunk/; revision=9490
* Convert subject from utf8 before passing it on.Dan Winship2001-04-201-5/+13
| | | | | | | * mail-ops.c: (send_mail_desc): Convert subject from utf8 before passing it on. svn path=/trunk/; revision=9474
* Remove some redundant LIBS variables... purify complained that the commandDan Winship2001-04-141-2/+1
| | | | | | | | | | | | | | | | | | | | * Makefile.am (evolution_mail_LDADD): Remove some redundant LIBS variables... purify complained that the command line was too long. :-} * mail-account-gui.c: Plug leaks. * mail-display.c (on_url_requested): close the html stream on error too. * mail-ops.c (fetch_mail_fetch): Move a line around that probably doesn't affect anything, but it's correct. * session.c (auth_callback): Plug leak. * mail-send-recv.c (receive_status): Initialize "now". svn path=/trunk/; revision=9303
* Merge from evolution-0-10 to evolution-0-10-merge-0 into head.Not Zed2001-04-051-3/+3
| | | | | | | | 2001-04-05 Not Zed <NotZed@Ximian.com> * Merge from evolution-0-10 to evolution-0-10-merge-0 into head. svn path=/trunk/; revision=9193
* Add --no-tty argument to gpg.Jeffrey Stedfast2001-04-041-1/+4
| | | | | | | | 2001-04-03 Jeffrey Stedfast <fejj@ximian.com> * openpgp-utils.c (openpgp_encrypt): Add --no-tty argument to gpg. svn path=/trunk/; revision=9141
* Added #include <libgnome/gnome-paper.h>Jon Trowbridge2001-03-301-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-29 Jon Trowbridge <trow@ximian.com> * printing/e-contact-print.c: Added #include <libgnome/gnome-paper.h> * printing/e-contact-print-envelope.c: Added #include <time.h> and #include <libgnome/gnome-paper.h> * gui/component/select-names/e-select-names-completion.c (match_email): Better handle matching of "nameless" contacts. * backend/ebook/e-destination.c (e_destination_get_string): Better handle the case of a "nameless" contact. 2001-03-29 Jon Trowbridge <trow@ximian.com> * camel-filter-driver.c (camel_filter_driver_filter_message): Save the source URL using camel_mime_message_set_source. * camel-mime-message.c (camel_mime_message_set_source): Renamed camel_mime_message_set_identity to this. Sets the X-Evolution-Source header. (camel_mime_message_get_source): Returns the X-Evolution-Source header. 2001-03-29 Jon Trowbridge <trow@ximian.com> * mail-callbacks.c: Added #include <time.h> to get things to compile. * mail-callbacks.c (mail_generate_reply): Look at the X-Evolution-Source header, and try to find a corresponding account. If this works, send the mail from this account. If not, use the default account. * mail-ops.c (send_queue_send): Strip out the X-Evolution-Source header before sending. * mail-config.c (mail_config_get_account_by_source_url): Added. Look up accounts by source URL. svn path=/trunk/; revision=9032
* Cleaned up #includes. Remove unneccesary includes of <gnome.h>,Kjartan Maraas2001-03-301-3/+6
| | | | | | | | | | | 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
* Update call to camel_url_to_string. (Don't include the params in theDan Winship2001-03-301-1/+1
| | | | | | | | | | | | | | | | * session.c (auth_callback): Update call to camel_url_to_string. (Don't include the params in the password hash table key.) * mail-config.c (mail_config_folder_to_cachename): Call camel_url_to_string with HIDE_PASSWORD and HIDE_PARAMS so that changing URL params doesn't change the cachename. * mail-ops.c (add_vtrash_info): * mail-local.c (reconfigure_folder_reconfigure): * mail-account-gui.c (save_service): Update calls to camel_url_to_string. svn path=/trunk/; revision=9015
* Set up the sent/drafts folder buttons. (folder_picker_clicked): Pop up theDan Winship2001-03-291-24/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Kludge, copied+modified from mail_config_folder_to_cachename to deal withDan Winship2001-03-271-2/+22
| | | | | | | | | | | * mail-ops.c (uid_cachename_hack): Kludge, copied+modified from mail_config_folder_to_cachename to deal with the different behavior of the URL code now. Will go away when the keep-on-server code moves. (get_folderinfo_get): Only pass "subscribed_only" to camel_store_get_folder_info if the store supports subscriptions... svn path=/trunk/; revision=8970
* Updated to reflect changes made to the move/copy API in camel-folder.cJeffrey Stedfast2001-03-271-1/+1
| | | | | | | | | | | | 2001-03-26 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (transfer_messages_transfer): Updated to reflect changes made to the move/copy API in camel-folder.c (add_vtrash_info): Use /Trash as the path instead of Trash. * mail-local.c (reconfigure_folder_reconfigure): Updated this too. svn path=/trunk/; revision=8963
* oops, don't use uids->pdata[i], just use uidsJeffrey Stedfast2001-03-271-2/+1
| | | | svn path=/trunk/; revision=8962
* Updated to reflect changes made to the move/copy API in camel-folder.cJeffrey Stedfast2001-03-271-13/+6
| | | | | | | | | | | 2001-03-26 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (transfer_messages_transfer): Updated to reflect changes made to the move/copy API in camel-folder.c * mail-local.c (reconfigure_folder_reconfigure): Updated this too. svn path=/trunk/; revision=8961
* Added. Call me old-fashioned, but I just prefer to have a real API ratherJon Trowbridge2001-03-231-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-23 Jon Trowbridge <trow@ximian.com> * gui/widgets/e-minicard-widget.c (e_minicard_widget_set_card): Added. Call me old-fashioned, but I just prefer to have a real API rather than doing everything via gtk_object_get/set-type calls. (e_minicard_widget_set_arg): Changed to call e_minicard_widget_set_card. * backend/ebook/e-book-util.c: Small changes to get rid of compiler warnings. (Casting out const, removed unused variables, etc.) Removed some debugging messages. * gui/component/addressbook-factory.c (main): Added call to e_address_popup_factory_init. * gui/component/e-address-popup.c: Added. A popup gadget that is invoked (as a bonobo control) when an address is left-clicked in the mailer. The addressbook is queries, and the address is either displayed as a minicard (if it already exists) or in a "generic format". A button is provided for editting/adding the contact. Some of the semantics of this widget are a bit... non-standard, because of bonobo issues. I can't really seem to replicate popup-menu behavior because of how bonobo propogates events, etc. so I've tried to produce something that I think is non-annoying. YMMV. 2001-03-23 Jon Trowbridge <trow@ximian.com> * mail-display.c (handle_embedded_address_object): #ifdef away some code I don't quite want to delete yet. (html_button_press_event): Remove some of Radek's placeholder code, replace it with code to create my AddressPopup bonobo control. * mail-format.c: Remove some obsolete code that if #ifdef-ed out a while ago. * mail-ops.c (send_queue_send): Strip out the X-Evolution-Identity header when sending. 2001-03-23 Jon Trowbridge <trow@ximian.com> * camel-filter-driver.c (camel_filter_driver_filter_message): Don't call camel_mime_message_set_identity. (The call is commented out, left over from some earlier experimentation that I want to be able to remember later...) * camel-mime-message.c (camel_mime_message_set_identity): Added. A function to set the X-Evolution-Identity header. svn path=/trunk/; revision=8916
* Removed gnome.h and ctype.h (send_queue_send): Don't remove theJeffrey Stedfast2001-03-201-19/+18
| | | | | | | | | | | | 2001-03-19 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c: Removed gnome.h and ctype.h (send_queue_send): Don't remove the X-Evolution header here. (mail_send_message): Remove it here instead (so we only have to remove it in one place - no matter if you send a single message or send_queue. svn path=/trunk/; revision=8832
* Instead of always creating a new vTrash folder, if the store already has aJeffrey Stedfast2001-03-131-10/+21
| | | | | | | | | | | 2001-03-12 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (add_vtrash_info): Instead of always creating a new vTrash folder, if the store already has a Trash folder, replace it with the vTrash. Also, name the folder "Trash" instead of "vTrash" and i18nify the name. svn path=/trunk/; revision=8644
* Remove our X-Evolution header before we send. Also don't send messagesJeffrey Stedfast2001-03-121-0/+4
| | | | | | | | | | 2001-03-10 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (send_queue_send): Remove our X-Evolution header before we send. Also don't send messages that are marked for deletion. svn path=/trunk/; revision=8630
* Remove our X-Evolution header before we send.Jeffrey Stedfast2001-03-111-35/+39
| | | | | | | | | 2001-03-10 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (send_queue_send): Remove our X-Evolution header before we send. svn path=/trunk/; revision=8625
* If the folderinfo has no URL (ie, can't contain messages), don't add it asDan Winship2001-03-071-4/+2
| | | | | | | * mail-ops.c (get_folderinfo_got): If the folderinfo has no URL (ie, can't contain messages), don't add it as a vtrash source. svn path=/trunk/; revision=8569
* Changed the product string - will change it to use User-Agent once I getJeffrey Stedfast2001-02-271-2/+2
| | | | | | | | | | 2001-02-26 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (mail_send_message): Changed the product string - will change it to use User-Agent once I get the RFC/DRUMS draft or whatever. Until then I'll stick with User-Agent. svn path=/trunk/; revision=8395
* Toss the mail_tool_camel_lock* stuff. Same. Here too.Jeffrey Stedfast2001-02-251-3/+0
| | | | | | | | | | | | | | | | 2001-02-24 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c: Toss the mail_tool_camel_lock* stuff. * mail-ops.c: Same. * mail-summary.c: Here too. * mail-tools.c (mail_tool_uri_to_folder_noex): Blown away! (mail_tool_filter_get_folder_func): *kapoosh* (mail_tool_camel_lock_up): Same. (mail_tool_camel_lock_down): Same. (mail_tool_set_uid_flags): Don't need this rubbish anymore either. svn path=/trunk/; revision=8384
* No longer need to construct the vTrash here. (owner_set_cb): Don't makeJeffrey Stedfast2001-02-251-1/+36
| | | | | | | | | | | | | | 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
* No longer need to do a vtrash_cleanup() (it also doesn't exist anymore).Jeffrey Stedfast2001-02-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* Make op cancellable/report internals. (get_folder_get):Not Zed2001-02-231-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* Updated to reflect changes to the filter-driver code.Jeffrey Stedfast2001-02-231-1/+2
| | | | | | | | | 2001-02-22 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (mail_send_message): Updated to reflect changes to the filter-driver code. svn path=/trunk/; revision=8347
* Fix for api changes to append_mail.Not Zed2001-02-211-229/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* New handy dandy function to ref and return the vfolder storage (willJeffrey Stedfast2001-02-201-317/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Unref the driver here, in the subthread, so we dont block the gui while itNot Zed2001-02-201-5/+6
| | | | | | | | | | | 2001-02-20 Not Zed <NotZed@Ximian.com> * mail-ops.c (fetch_mail_fetch): Unref the driver here, in the subthread, so we dont block the gui while it sync's all the folders. (fetch_mail_fetched): Rewmoved above code from here. svn path=/trunk/; revision=8278
* Use mail_storage_create_folderJeffrey Stedfast2001-02-161-22/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Setup the Trash folder.Jeffrey Stedfast2001-02-151-29/+177
| | | | | | | | | | | | | | | | | | | 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
* Don't leak memory. (forward_messages): change doinline to be a gbooleanJeffrey Stedfast2001-02-111-2/+4
| | | | | | | | | 2001-02-11 Jeffrey Stedfast <fejj@ximian.com> * mail-callbacks.c (forward_inlined): Don't leak memory. (forward_messages): change doinline to be a gboolean argument. svn path=/trunk/; revision=8172
* Reworked some keep-mail-on-server logic so that we ALWAYS look for aJeffrey Stedfast2001-02-091-27/+29
| | | | | | | | | | | | 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
* only free driver, if set. (fetch_mail_fetched): Unref the driver here, soNot Zed2001-02-091-1/+7
| | | | | | | | | | | | | | | | | | | | 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
* Handle internal camel status return. (receive_done): Remove activeNot Zed2001-02-081-27/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Cast the camel_stream_mem_new() to a CamelStreamMem.Jeffrey Stedfast2001-01-301-1/+1
| | | | | | | | | 2001-01-29 Jeffrey Stedfast <fejj@helixcode.com> * mail-importer.c (mail_importer_add_line): Cast the camel_stream_mem_new() to a CamelStreamMem. svn path=/trunk/; revision=7905
* Debug function to compare the tree we think we have, after an incrementalNot Zed2001-01-291-1/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Changed to use mail_save_part to save the data in another thread.Not Zed2001-01-281-0/+105
| | | | | | | | | | | | | | 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
* Set the default folder when copying to mbox. This is a quick fix, i mightNot Zed2001-01-241-5/+8
| | | | | | | | | | 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
* s/filter-driver.h/camel-filter-driver.h/ and update first arg ofDan Winship2001-01-231-3/+3
| | | | | | | | | | | | | | | | | | | | | | * 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
* remove a warning with conditional news compilation.Not Zed2001-01-221-560/+472
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Remove the X-Evolution header before we send.Jeffrey Stedfast2001-01-221-3/+6
| | | | | | | | | 2001-01-21 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (do_send_queue): Remove the X-Evolution header before we send. svn path=/trunk/; revision=7689
* Init a cancel field in the message. (mail_msg_free): Free it.Not Zed2001-01-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Strip leading space from the transport url gotten from the message.Jeffrey Stedfast2001-01-211-2/+5
| | | | | | | | | 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
* Replace `--with-x-mailer' with a more generic `--with-sub-version'.Ettore Perazzoli2001-01-181-6/+24
| | | | | | | | | 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
* If the user hits "No", then don't destroy the filesel window.Jeffrey Stedfast2001-01-171-1/+1
| | | | | | | | | | | | 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
* Update the X-Mailer header to use the string specified by configure.Dan Winship2001-01-171-8/+2
| | | | | | | * mail-ops.c (send_mail_send, do_send_queue): Update the X-Mailer header to use the string specified by configure. svn path=/trunk/; revision=7540
* Setup a cancellation handle. (do_fetch_mail): REgister for cancellationNot Zed2001-01-161-14/+13
| | | | | | | | | | | | | | | | | | | | 2001-01-16 Not Zed <NotZed@Ximian.com> * mail-ops.c (mail_do_fetch_mail): Setup a cancellation handle. (do_fetch_mail): REgister for cancellation here. (cleanup_fetch_mail): And unregister for cancellation here. (mail_get_message): Add a cancel handle. (get_message_get): Register/deregister for cancel. (get_message_free): & clean up. * mail-mt.c (mail_msg_received): Removed debuggng. * mail-callbacks.c (stop_threads): Callback for stopping. * folder-browser-factory.c: Add a stop button verb thingy. (control_activate): Disable the stop button by default. svn path=/trunk/; revision=7527
* Get the X-Evolution-Transport URL and use that if it exists, else fallJeffrey Stedfast2001-01-131-1/+9
| | | | | | | | | | | | | 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
* Let the system umask determine the permissions of this file.Jeffrey Stedfast2001-01-101-1/+1
| | | | | | | | | 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
* Add an #include <errno.h>Dan Winship2001-01-091-0/+1
| | | | | | * mail-ops.c: Add an #include <errno.h> svn path=/trunk/; revision=7308
* Removed old implementation.Not Zed2001-01-041-659/+308
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Call mail-callbacks.c:forward_messages(), so the behaviour is the same asNot Zed2001-01-031-310/+121
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Fix for mail_get_message change, use queue thread.Not Zed2001-01-031-560/+241
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* fixed unresolved symbol (d)Jeffrey Stedfast2001-01-021-0/+2
| | | | svn path=/trunk/; revision=7207
* Implemented.Jeffrey Stedfast2001-01-021-5/+173
| | | | | | | | | | | | | | | | | | | | 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
* Merge from camel-mt-branch.Not Zed2000-12-241-9/+89
| | | | | | | | 2000-12-24 Not Zed <NotZed@HelixCode.com> * Merge from camel-mt-branch. svn path=/trunk/; revision=7153
* Only update display every 2 seconds.Miguel de Icaza2000-12-181-3/+12
| | | | | | | | | | | 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
* Deal with "mailstorage" type views (top-level mail storages) by trying toDan Winship2000-12-121-0/+5
| | | | | | | | | | | | | * 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
* clean up the cleanup a bitDan Winship2000-12-121-6/+3
| | | | | | * mail-ops.c (do_flag_messages): clean up the cleanup a bit svn path=/trunk/; revision=6906
* Check to see if the file already exists, if it does prompt the user to forJeffrey Stedfast2000-12-091-19/+79
| | | | | | | | | | | | | | | | | | | 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
* Only do a message_list_foreach if we plan on attaching messages, otherwiseJeffrey Stedfast2000-12-081-5/+31
| | | | | | | | | | | | | | 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
* Remove bits of filter-on-demand and toolbar bug workaround cruft thatDan Winship2000-12-071-1/+1
| | | | | | | | | | * 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
* use mail_op_set_message_plainRadek Doulik2000-12-011-1/+1
| | | | | | | | | | | | | | 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
* Don't display a dialog, instead inform the user that there was no new mailJeffrey Stedfast2000-12-011-11/+4
| | | | | | | | | | | | | | | | | 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
* Set threaded view before setting the folder (cleanup some flash onsNot Zed2000-11-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Use camel a bit more to help us out. Don't create the file ourselves,Jeffrey Stedfast2000-11-301-15/+34
| | | | | | | | | | 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
* Wait until after setting up the local storage to find theDan Winship2000-11-291-5/+2
| | | | | | | | | | * 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
* Added the SaveAs bonobo menu verb thingy.Jeffrey Stedfast2000-11-291-38/+17
| | | | | | | | | | | | | | | | | 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
* New function to return if user wants to view message source.Jeffrey Stedfast2000-11-221-131/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Fix IMAP get-mail to work; CORBA calls in the dispatch thread are a no-no.Peter Williams2000-11-211-13/+53
| | | | svn path=/trunk/; revision=6620
* Use the new quote_message function and make it start with "On %s, %sJeffrey Stedfast2000-11-181-52/+2
| | | | | | | | | | | | | | | | | 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