aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-ops.c
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Added the MessageViewSource bonobo menu verb.Jeffrey Stedfast2000-11-171-0/+122
| | | | | | | | | | | | 2000-11-16 Jeffrey Stedfast <fejj@helixcode.com> * folder-browser-factory.c: Added the MessageViewSource bonobo menu verb. * mail-ops.c (mail_do_save_messages): New async function to save messages as individual files in a given path. svn path=/trunk/; revision=6596
* Added a new Forward as Attachment bonobo menu item verb.Jeffrey Stedfast2000-11-161-64/+278
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-11-15 Jeffrey Stedfast <fejj@helixcode.com> * folder-browser-factory.c: Added a new Forward as Attachment bonobo menu item verb. * mail-view.c (view_forward_msg): Updated to reflect changes to mail_do_forward_message(). It now forwards the message without attaching it - is this what we want? * mail-ops.c (mail_do_view_message_sources): New async function to display message source dialog windows. (setup_forward_messages): If we were asked not to forward the message(s) as attachment(s) and the user chose more than a single message, then default to making each message an attachment. (cleanup_forward_messages): If we aren't forwarding the message as an attachment, then quote the text and set the composer's body with it. * mail-callbacks.c (view_source): New callback to view the message source of all messages that are currently selected. (forward_attach): New callback to forward a message as an attachment (forward_msg is now for forwarding a message without it being an attachment). (forward_message): Convenience function for forwarding messages. svn path=/trunk/; revision=6585
* Sync the source folder.Jeffrey Stedfast2000-11-131-0/+3
| | | | | | | | 2000-11-12 Jeffrey Stedfast <fejj@helixcode.com> * mail-ops.c (do_filter_ondemand): Sync the source folder. svn path=/trunk/; revision=6553
* A very, long, very tedious IDL API rename and re-scoping;Michael Meeks2000-11-111-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this script + some grunt approximates the work: s/Evolution_MessageList/GNOME_Evolution_MessageList/g; s/GNOME_Evolution_MessageList_select_message/GNOME_Evolution_MessageList_selectMessage/g; s/GNOME_Evolution_MessageList_open_message/GNOME_Evolution_MessageList_openMessage/g; s/Evolution_Folder([ \t])/GNOME_Evolution_Folder$1/g; s/Evolution_FolderTypeList/GNOME_Evolution_FolderTypeList/g; s/Evolution_FolderBrowser/GNOME_Evolution_FolderBrowser/g; s/GNOME_Evolution_FolderBrowser_get_message_list/GNOME_Evolution_FolderBrowser_getMessageList/g; s/Evolution_LocalStorage/GNOME_Evolution_LocalStorage/g; s/GNOME_Evolution_LocalStorage_update_folder/GNOME_Evolution_LocalStorage_updateFolder/g; s/Evolution_ShellView/GNOME_Evolution_ShellView/g; s/GNOME_Evolution_ShellView_set_message/GNOME_Evolution_ShellView_setMessage/g; s/GNOME_Evolution_ShellView_unset_message/GNOME_Evolution_ShellView_unsetMessage/g; s/GNOME_Evolution_ShellView_change_current_view/GNOME_Evolution_ShellView_changeCurrentView/g; s/Evolution_StorageSetViewListener/GNOME_Evolution_StorageSetViewListener/g; s/GNOME_Evolution_StorageSetViewListener_folder_selected/GNOME_Evolution_StorageSetViewListener_notifyFolderSelected/g; s/GNOME_Evolution_StorageSetViewListener_storage_selected/GNOME_Evolution_StorageSetViewListener_notifyStorageSelected/g; s/Evolution_StorageSetView/GNOME_Evolution_StorageSetView/g; s/GNOME_Evolution_StorageSetView_add_listener/GNOME_Evolution_StorageSetView_addListener/g; s/GNOME_Evolution_StorageSetView_remove_listener/GNOME_Evolution_StorageSetView_removeListener/g; s/Evolution_Shell/GNOME_Evolution_Shell/g; s/GNOME_Evolution_Shell_get_component_for_type/GNOME_Evolution_Shell_getComponentByType/g; s/GNOME_Evolution_Shell_user_select_folder/GNOME_Evolution_Shell_selectUserFolder/g; s/GNOME_Evolution_Shell_get_local_storage/GNOME_Evolution_Shell_getLocalStorage/g; s/GNOME_Evolution_Shell_create_storage_set_view/GNOME_Evolution_Shell_createStorageSetView/g; s/Evolution_FolderSelectionListener/GNOME_Evolution_FolderSelectionListener/g; s/GNOME_Evolution_FolderSelectionListener_selected/GNOME_Evolution_FolderSelectionListener_notifySelected/g; s/GNOME_Evolution_FolderSelectionListener_cancel/GNOME_Evolution_FolderSelectionListener_notifyCanceled/g; s/Evolution_Storage/GNOME_Evolution_Storage/g; s/GNOME_Evolution_Storage_add_listener/GNOME_Evolution_Storage_addListener/g; s/GNOME_Evolution_Storage_remove_listener/GNOME_Evolution_Storage_removeListener/g; s/GNOME_Evolution_StorageListener_destroyed/GNOME_Evolution_StorageListener_notifyDestroyed/g; s/GNOME_Evolution_StorageListener_new_folder/GNOME_Evolution_StorageListener_notifyFolderCreated/g; s/GNOME_Evolution_StorageListener_update_folder/GNOME_Evolution_StorageListener_notifyFolderUpdated/g; s/GNOME_Evolution_StorageListener_removed_folder/GNOME_Evolution_StorageListener_notifyFolderRemoved/g; s/GNOME_Evolution_StorageRegistry_register_storage/GNOME_Evolution_StorageRegistry_addStorage/g; s/GNOME_Evolution_StorageRegistry_unregister_storage/GNOME_Evolution_StorageRegistry_removeStorageByName/g; s/Evolution_ShellComponent/GNOME_Evolution_ShellComponent/g; s/GNOME_Evolution_ShellComponent_set_owner/GNOME_Evolution_ShellComponent_setOwner/g; s/GNOME_Evolution_ShellComponent_unset_owner/GNOME_Evolution_ShellComponent_unsetOwner/g; s/GNOME_Evolution_ShellComponent_create_view/GNOME_Evolution_ShellComponent_createView/g; s/GNOME_Evolution_ShellComponent_async_create_folder/GNOME_Evolution_ShellComponent_addFolderAsync/g; s/GNOME_Evolution_ShellComponent_async_remove_folder/GNOME_Evolution_ShellComponent_removeFolderAsync/g; s/GNOME_Evolution_ShellComponent_populate_folder_context_menu/GNOME_Evolution_ShellComponent_populateFolderContextMenu/g; s/GNOME_Evolution_ShellComponentListener_report_result/GNOME_Evolution_ShellComponentListener_notifyResult/g; s/Evolution_Session/GNOME_Evolution_Session/g; s/GNOME_Evolution_Session_save_configuration/GNOME_Evolution_Session_saveConfiguration/g; s/GNOME_Evolution_Session_load_configuration/GNOME_Evolution_Session_loadConfiguration/g; s/Evolution_Calendar_Cal/GNOME_Evolution_Calendar_Cal/g; s/GNOME_Evolution_Calendar_Cal_get_n_objects/GNOME_Evolution_Calendar_Cal_countObjects/g; s/GNOME_Evolution_Calendar_Cal_get_object/GNOME_Evolution_Calendar_Cal_getObject/g; s/GNOME_Evolution_Calendar_Cal_get_uids/GNOME_Evolution_Calendar_Cal_getUIds/g; s/GNOME_Evolution_Calendar_Cal_get_changed_uids/GNOME_Evolution_Calendar_Cal_getChangedUIds/g; s/GNOME_Evolution_Calendar_Cal_get_objects_in_range/GNOME_Evolution_Calendar_Cal_getObjectsInRange/g; s/GNOME_Evolution_Calendar_Cal_get_alarms_in_range/GNOME_Evolution_Calendar_Cal_getAlarmsInRange/g; s/GNOME_Evolution_Calendar_Cal_get_alarms_for_object/GNOME_Evolution_Calendar_Cal_getAlarmsForObject/g; s/GNOME_Evolution_Calendar_Cal_update_object/GNOME_Evolution_Calendar_Cal_updateObject/g; s/GNOME_Evolution_Calendar_Cal_remove_object/GNOME_Evolution_Calendar_Cal_removeObject/g; s/Evolution_Calendar_Listener/GNOME_Evolution_Calendar_Listener/g; s/GNOME_Evolution_Calendar_Listener_cal_loaded/GNOME_Evolution_Calendar_Listener_notifyCalLoaded/g; s/GNOME_Evolution_Calendar_Listener_obj_updated/GNOME_Evolution_Calendar_Listener_notifyObjUpdated/g; s/GNOME_Evolution_Calendar_Listener_obj_removed/GNOME_Evolution_Calendar_Listener_notifyObjRemoved/g; s/Evolution_Calendar_CalFactory/GNOME_Evolution_Calendar_CalFactory/g; s/GNOME_Evolution_Calendar_CalFactory_load/GNOME_Evolution_Calendar_CalFactory_load/g; s/GNOME_Evolution_Calendar_CalFactory_create/GNOME_Evolution_Calendar_CalFactory_create/g; s/Evolution_Composer/GNOME_Evolution_Composer/g; s/GNOME_Evolution_Composer_set_headers/GNOME_Evolution_Composer_setHeaders/g; s/GNOME_Evolution_Composer_set_body_text/GNOME_Evolution_Composer_setBodyText/g; s/GNOME_Evolution_Composer_attach_MIME/GNOME_Evolution_Composer_attachMIME/g; s/GNOME_Evolution_Composer_attach_data/GNOME_Evolution_Composer_attachData/g; s/GNOME_Evolution_Composer_show/GNOME_Evolution_Composer_show/g; s/Evolution_Addressbook_SelectNames/GNOME_Evolution_Addressbook_SelectNames/g; s/GNOME_Evolution_Addressbook_SelectNames_add_section/GNOME_Evolution_Addressbook_SelectNames_addSection/g; s/GNOME_Evolution_Addressbook_SelectNames_get_entry_for_section/GNOME_Evolution_Addressbook_SelectNames_getEntryBySection/g; s/GNOME_Evolution_Addressbook_SelectNames_activate_dialog/GNOME_Evolution_Addressbook_SelectNames_activateDialog/g; s/Evolution_CardCursor/GNOME_Evolution_Addressbook_CardCursor/g; s/GNOME_Evolution_Addressbook_CardCursor_get_length/GNOME_Evolution_Addressbook_CardCursor_getLength/g; s/GNOME_Evolution_Addressbook_CardCursor_get_nth/GNOME_Evolution_Addressbook_CardCursor_getNth/g; s/Evolution_BookViewListener/GNOME_Evolution_Addressbook_BookViewListener/g; s/GNOME_Evolution_Addressbook_BookViewListener_signal_card_added/GNOME_Evolution_Addressbook_BookViewListener_notifyCardAdded/g; s/GNOME_Evolution_Addressbook_BookViewListener_signal_card_removed/GNOME_Evolution_Addressbook_BookViewListener_notifyCardRemoved/g; s/GNOME_Evolution_Addressbook_BookViewListener_signal_card_changed/GNOME_Evolution_Addressbook_BookViewListener_notifyCardChanged/g; s/GNOME_Evolution_Addressbook_BookViewListener_signal_sequence_complete/GNOME_Evolution_Addressbook_BookViewListener_notifySequenceComplete/g; s/GNOME_Evolution_Addressbook_BookViewListener_signal_status_message/GNOME_Evolution_Addressbook_BookViewListener_notifyStatusMessage/g; s/Evolution_BookView/GNOME_Evolution_Addressbook_BookView/g; s/Evolution_Book/GNOME_Evolution_Addressbook_Book/g; s/GNOME_Evolution_Addressbook_Book_get_vcard/GNOME_Evolution_Addressbook_Book_getVCard/g; s/GNOME_Evolution_Addressbook_Book_can_write/GNOME_Evolution_Addressbook_Book_isWriteable/g; s/GNOME_Evolution_Addressbook_Book_can_write_card/GNOME_Evolution_Addressbook_Book_isCardWriteable/g; s/GNOME_Evolution_Addressbook_Book_create_card/GNOME_Evolution_Addressbook_Book_addCard/g; s/GNOME_Evolution_Addressbook_Book_remove_card/GNOME_Evolution_Addressbook_Book_removeCard/g; s/GNOME_Evolution_Addressbook_Book_modify_card/GNOME_Evolution_Addressbook_Book_modifyCard/g; s/GNOME_Evolution_Addressbook_Book_get_cursor/GNOME_Evolution_Addressbook_Book_getCursor/g; s/GNOME_Evolution_Addressbook_Book_get_book_view/GNOME_Evolution_Addressbook_Book_getBookView/g; s/GNOME_Evolution_Addressbook_Book_get_changes/GNOME_Evolution_Addressbook_Book_getChanges/g; s/GNOME_Evolution_Addressbook_Book_check_connection/GNOME_Evolution_Addressbook_Book_checkConnection/g; s/GNOME_Evolution_Addressbook_Book_get_static_capabilities/GNOME_Evolution_Addressbook_Book_getStaticCapabilities/g; s/GNOME_Evolution_Addressbook_Book_get_name/GNOME_Evolution_Addressbook_Book_getName/g; s/Evolution_BookListener/GNOME_Evolution_Addressbook_BookListener/g; s/GNOME_Evolution_Addressbook_BookListener_respond_create_card/GNOME_Evolution_Addressbook_BookListener_notifyCardCreated/g; s/GNOME_Evolution_Addressbook_BookListener_respond_remove_card/GNOME_Evolution_Addressbook_BookListener_notifyCardRemoved/g; s/GNOME_Evolution_Addressbook_BookListener_respond_modify_card/GNOME_Evolution_Addressbook_BookListener_notifyCardModified/g; s/GNOME_Evolution_Addressbook_BookListener_report_open_book_progress/GNOME_Evolution_Addressbook_BookListener_notifyOpenBookProgress/g; s/GNOME_Evolution_Addressbook_BookListener_respond_open_book/GNOME_Evolution_Addressbook_BookListener_notifyBookOpened/g; s/GNOME_Evolution_Addressbook_BookListener_respond_get_cursor/GNOME_Evolution_Addressbook_BookListener_notifyCursorRequested/g; s/GNOME_Evolution_Addressbook_BookListener_respond_get_view/GNOME_Evolution_Addressbook_BookListener_notifyViewRequested/g; s/GNOME_Evolution_Addressbook_BookListener_respond_get_changes/GNOME_Evolution_Addressbook_BookListener_notifyChangesRequested/g; s/GNOME_Evolution_Addressbook_BookListener_report_connection_status/GNOME_Evolution_Addressbook_BookListener_notifyConnectionStatus/g; s/Evolution_BookFactory/GNOME_Evolution_Addressbook_BookFactory/g; s/GNOME_Evolution_Addressbook_BookFactory_open_book/GNOME_Evolution_Addressbook_BookFactory_openBook/g; s/Evolution_SummaryComponent/GNOME_Evolution_Summary_Component/g; s/GNOME_Evolution_Summary_SummaryComponent_set_owner/GNOME_Evolution_Summary_Component_setOwner/g; s/GNOME_Evolution_Summary_SummaryComponent_unset_owner/GNOME_Evolution_Summary_Component_unsetOwner/g; s/GNOME_Evolution_Summary_SummaryComponent_create_view/GNOME_Evolution_Summary_Component_createView/g; s/GNOME_Evolution_Summary_SummaryComponent_destroy_view/GNOME_Evolution_Summary_Component_destroyView/g; s/Evolution_Summary([ \t])/GNOME_Evolution_Summary_ViewFrame$1/g; s/Evolution_Summary_set_title/GNOME_Evolution_Summary_ViewFrame_setTitle/g; s/Evolution_Summary_set_icon/GNOME_Evolution_Summary_ViewFrame_setIcon/g; s/Evolution_Summary_update_component/GNOME_Evolution_Summary_ViewFrame_updateComponent/g; s/GNOME_GNOME/GNOME/g; s/GNOME_GNOME/GNOME/g; s/GNOME_GNOME/GNOME/g; svn path=/trunk/; revision=6535
* Updated to use the ESearchBar object rather than the previously usedJeffrey Stedfast2000-11-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | 2000-11-07 Jeffrey Stedfast <fejj@helixcode.com> * folder-browser.c (search_full_clicked): Updated to use the ESearchBar object rather than the previously used search widgets. (search_full): Same. (search_save): Same. Also use enums to make it a little easier to read now that we have to have enums anyway. (folder_browser_search_menu_activated): New ESearchBar menu callback. (folder_browser_search_query_changed): New ESearchBar query callback. Replaces search_set() (folder_browser_clear_search): Updated to use the ESearchBar object rather than the previously used search widgets. (folder_browser_gui_init): Don't hand construct a search widget, use the new ESearchBar convenience widget. * mail-ops.c (cleanup_load_folder): Updated to reflect changes to FolderBrowser. svn path=/trunk/; revision=6490
* Added mail-display.h.Not Zed2000-11-031-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-11-03 Not Zed <NotZed@HelixCode.com> * mail-view.c: Added mail-display.h. * mail-autofilter.c: Removed unecessary headers. Who ran indent over this code? Sigh. * mail-ops.c (display_message_input_s): Added messagedisplay. (mail_do_display_message): Added messagedisplay arg. (mail_do_display_message): Dont bother doing another thread when we know we dont have a uid. (): Added folder-browser.h to headers. Sigh. * folder-browser-factory.c (control_activate): Setup the viewthreaded callback to the folder_browser function. * folder-browser.c (my_folder_browser_init): Connect to right_click of etable of the messagelist here. (on_right_click): Changed for argument changes. (folder_browser_toggle_threads): Changed to take a fb, and to set threaded mode on the messagelist. (my_folder_browser_init): Connect also to the double_click signal. (my_folder_browser_init): Connect to the message_selected signal of the message_list. (on_message_selected): Signal handler for message selected. (my_folder_browser_init): Fix for change to message_list_new(). * message-list.h: Dont include folder-browser.h. (message_list_toggle_threads): Moved into folder-browser.h. (struct _MessageList): Removed folderbrowser. * mail.h: Dont include folder-browser.h here either, but mail-types.h instead. Moved prototypes moved into folder-browser.c into folder-browser.h. (vfolder_*, filter_*). * mail-display.h: Dont include folder-browser.h here, but mail-types.h and specific camel headers. * message-thread.c (sort_node): Invert the sort order logic so the list is sorted in mailbox order, not reverse mailbox order. * message-list.c (free_tree_ids): Fix a merge foo. (remove_node_diff): Removed unused row argument. Fixed callers/prototype. (clear_tree): pre_change on the removal of the root node. (build_flat): Only perform pre_change if we are rebuilding the whole lot. For incremental change let etable do its thing. (build_tree): Likewise for building the tree view. If making incremental updates, do them as we build it. (vfolder_subject): (vfolder_sender): (vfolder_recipient): (filter_subject): (filter_sender): (filter_recipient): (filter_mlist): (on_right_click): Moved to folder-browser.c, where they belong. (message_list_init): Dont connect to right_click anymore. (message_list_toggle_threads): Moved to folder-browser.c, renamed. (on_double_click): Moved to folder-browser.c (on_click): Set the flags directly, rather than in anothre thread, which is just not necessary. (message_list_class_init): Added a new signal 'message_selected', to indicate when a message was selected. (on_cursor_change_idle): Emit a signal, rather than directly triggering the display update. (select_row): Removed, no longer used. (idle_select_row): And this too. (select_msg): Removed as well. (message_list_select): Emit a signal, rather thandisplaying/clearing the mail-display directly. (mark_msg_seen): Moved to folder-browser.c (message_list_new): Removed folderbrowser argument. svn path=/trunk/; revision=6365
* Make "Get Mail" even more functional on IMAP (scans all folders),Dan Winship2000-11-021-32/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | and do a first cut at folder tree highlighting (for IMAP/news only). * mail-ops.c (do_fetch_mail): For imap (sigh, we *still* shouldn't be hardcoding that), rescan the store's folder tree, rescan each changed folder for new messages, and update the shell folder tree. (do_scan_subfolders): Update for component-factory.c changes, and set folder display names and highlights appropriately when building the storage. * component-factory.c (add_storage): Make this static (was mail_add_new_storage). Use camel_service_get_name for the name rather than url->host. (Among other things, this lets you use a single machine as both an IMAP server and a news server.) (mail_lookup_storage): Hash storages based on their CamelStore rather than the URL. (factory_destroy): Disconnect each of the CamelStores in the storages_hash. * subscribe-dialog.c (cleanup_subscribe_folder): * mail-vfolder.c (vfolder_refresh): Pass "highlighted" flag to evolution_storage_new_folder svn path=/trunk/; revision=6342
* Don't call the default logging function. (do_fetch_mail): Set the logfileJeffrey Stedfast2000-11-021-12/+8
| | | | | | | | | | | | 2000-11-01 Jeffrey Stedfast <fejj@helixcode.com> * mail-ops.c (mail_op_report_status): Don't call the default logging function. (do_fetch_mail): Set the logfile and don't pass the logfile to filter_driver_set_status_func - it's purpose has been altered. (do_filter_ondemand): Same. svn path=/trunk/; revision=6341
* ** Merged in camel-incremental-branch.Not Zed2000-11-021-1/+1
| | | | | | | | | | | | | 2000-11-02 Not Zed <NotZed@HelixCode.com> ** Merged in camel-incremental-branch. * mail-format.c (mail_get_message_body): Jeff! Sigh. We should definetly not be strduping the content, it has already been copied and duplicated. Look at get_data_wrapper_text. svn path=/trunk/; revision=6337
* Sync the folder before refreshing so we don't lose flag settings.Dan Winship2000-10-301-1/+3
| | | | | | | * mail-ops.c (do_fetch_mail): Sync the folder before refreshing so we don't lose flag settings. svn path=/trunk/; revision=6254
* Don't forget to unref the FilterDriver.Jeffrey Stedfast2000-10-261-61/+58
| | | | | | | | | | | | | | | | | | | | 2000-10-25 Jeffrey Stedfast <fejj@helixcode.com> * mail-ops.c (do_send_mail): Don't forget to unref the FilterDriver. * mail-callbacks.c (apply_filters): New callback for applying on-demand filters. (removed the old on-demand filters callback). * mail-ops.c (do_filter_ondemand): Rewrote to apply "incoming" filters to all selected messages. (mail_do_filter_ondemand): No longer takes a FilterContext argument or a destination folder argument (why did we ever need this last one??) but now takes a uids argument. * folder-browser-factory.c: Add a MessageApplyFilters menu item. svn path=/trunk/; revision=6190
* Apply outgoing filters to the message.Jeffrey Stedfast2000-10-241-17/+48
| | | | | | | | | 2000-10-23 Jeffrey Stedfast <fejj@helixcode.com> * mail-ops.c (do_send_mail): Apply outgoing filters to the message. svn path=/trunk/; revision=6140
* For an imap store, just refresh the INBOX.Dan Winship2000-10-201-2/+9
| | | | | | | | | | | * mail-ops.c: (do_fetch_mail): For an imap store, just refresh the INBOX. * folder-browser-factory.c (control_deactivate): Don't sync non-existent folders. * message-list.c (nuke_uids): Don't traverse non-existent trees. svn path=/trunk/; revision=6047
* Clean up some old #if 0 code.Dan Winship2000-10-191-204/+0
| | | | | | * mail-ops.c: Clean up some old #if 0 code. svn path=/trunk/; revision=6030
* No, we REALLY dont want to perform an immediate search as the keys areNot Zed2000-10-181-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-10-18 Not Zed <NotZed@HelixCode.com> * folder-browser.c (folder_browser_gui_init): No, we REALLY dont want to perform an immediate search as the keys are pressed. * mail-display.c (on_object_requested): Kill a minor warning with a cast. * mail-config.c: Include mising ctype.h to kill a warning. * message-thread.c (main): Fixed the test case for api changes. * message-list.c (message_list_drag_data_get): Set some flags to get_folder(). I dont even think this will work because mail_tool_get_folder doesn't handle file url's. * mail-vfolder.c (vfolder_uri_to_folder): Pass appropriate flags. * mail-ops.c (do_setup_folder): Pass appropriate flags. Hmm, whats the difference between setup and create. *shrug* (do_create_folder): Pass appropriate flags to get_folder. Needs a way to specify the index flag. * mail-tools.c (mail_tool_get_folder_from_urlname): Changed create to flags argument. (mail_tool_get_local_inbox_url): Add an index argument. (mail_tool_get_local_inbox): honour index flag. (mail_tool_get_inbox): Changed for api change. (mail_tool_uri_to_folder): Fixed calls to store_get_folder(); * mail-local.c (load_metainfo): Added an indexed field to the metainfo. (save_metainfo): And save it too. (do_reconfigure_folder): Honour index flag when creating the new folder. Do not open the old folder with an index at all. (mail_local_map_uri): Add an index argument - tells if the mbox is indexed. (mail_tool_local_uri_to_folder): Create & pass flags properly. (#include gnome.h): Dont include all of gnome, just what we use, and explicity include xml-memory, so we get xmlFree(). svn path=/trunk/; revision=5979
* sync & expunge the source folder after filtering.Jeffrey Stedfast2000-10-131-36/+49
| | | | | | | | | 2000-10-12 Jeffrey Stedfast <fejj@helixcode.com> * mail-ops.c (do_fetch_mail): sync & expunge the source folder after filtering. svn path=/trunk/; revision=5895
* Duh, fix the test for the folder name, strstr != strcmp is it.Not Zed2000-10-121-47/+160
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-10-12 Not Zed <NotZed@HelixCode.com> * message-list.c (message_list_setup_etable): Duh, fix the test for the folder name, strstr != strcmp is it. 2000-10-10 Not Zed <NotZed@HelixCode.com> * message-list.c (folder_to_cachename): Removed, changed callers to use mail_config_folder_to_cachename instead. * mail-config.c (mail_config_folder_to_cachename): New utility function to get a cache name for a folder. * mail-tools.c (mail_tool_do_movemail): Changed to return the path to the mbox, rather than opening a folder of it. * mail-ops.c (mail_incorporate_messages): Dont bother making the pseudo messageinfo, filder_driver_filter_message will do it for us. (report_status): Callback to report status of filtering operation. (do_fetch_mail): Changed significantly - for the api changes to the filtering system. Also now incorporates a mailbox file directly, without having to import it into a camel folder first. (mail_incorporate_messages): Removed entirely, no longer needed. * mail-vfolder.c (vfolder_refresh): Fix for context api changes. (vfolder_uri_to_folder): Likewise. * folder-browser-factory.c (create_ondemand_hooks): Changed for api changes. Also only adds demand filters to the menu (fixed a small logic bug). svn path=/trunk/; revision=5883
* add a ref to input->storage here so that the ref/unref pattern moreChris Toshok2000-10-111-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-10-10 Chris Toshok <toshok@helixcode.com> * mail-ops.c (setup_scan_subfolders): add a ref to input->storage here so that the ref/unref pattern more closely matches other mail-ops. also, this keeps the storage from being freed when we hit the unref in cleanup_scan_subfolders, which is important because we maintain a reference to it in the storage_hash in component-factory.c * subscribe-dialog.h: add storage field. * subscribe-dialog.c (subscribe_folder_info): new function, subscribe to a folder given it's CamelFolderInfo, and add it to the shell - we're generating a path from the name of the folder which is bad. (unsubscribe_folder_info): same (except we unsubscribe and remove from the shell). (storage_selected_cb): unref the currently selected storage. (subscribe_dialog_destroy): unref the currently selected storage. (subscribe_dialog_construct): sc->storage = NULL. * component-factory.c (mail_lookup_storage): new function, to look up a EvolutionStorage corresponding to a CamelService. we ref the EvolutionStorage before passing it back. (mail_add_new_storage): insert the storage into storages_hash if result is EVOLUTION_STORAGE_OK. * mail.h: add prototype for mail_lookup_storage. svn path=/trunk/; revision=5830
* New widget, full search dialogue for mail.Not Zed2000-10-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-10-06 Not Zed <NotZed@HelixCode.com> * mail-search-dialogue.c: New widget, full search dialogue for mail. * folder-browser.c (search_set): If we click on custom search, run the full search dialogue. (folder_browser_gui_init): Add a button to perform a full search. (search_full): Bring up the mail search dialogue asynchronously. (search_full_clicked): Handle search options. (folder_browser_destroy): Free the saved rule if there is one there. (search_options[]): Added a custom option option - brings up the full search dialogue. (search_set): Disable the search entry if we are doing a full search. * mail-vfolder.c (vfolder_create_storage): Yay, finally depeterised this stuff. (vfolder_uri_to_folder): Removed an irrelevant comment. * mail-callbacks.c (filter_edit): And here. * mail-ops.c (do_fetch_mail): And here too. * mail-autofilter.c (filter_gui_add_from_message): Fixed call to context_load. (filter_gui_add_for_mailing_list): And here too. * folder-browser-factory.c (create_ondemand_hooks): Remove that ondemand callback snot. 2000-10-05 Not Zed <NotZed@HelixCode.com> * message-list.c (message_list_init_etable): Build the etable once we know what folder we are going to use. (save_header_state): Save the header spec to a cache file. (message_list_destroy): Save the header spec. (message_list_setup_etable): Setup the etable spec for this folder, from a saved version if one exists, or to suit the folder type (sent/received). (message_list_set_folder): Setup the etable here once we have a folder. svn path=/trunk/; revision=5798
* Tag string for translation (do_flag_messages): ditto.Miguel de Icaza2000-10-081-4/+4
| | | | | | | | | 2000-10-08 Miguel de Icaza <miguel@helixcode.com> * mail-ops.c (mail_incorporate_messages): Tag string for translation (do_flag_messages): ditto. svn path=/trunk/; revision=5784
* Repeates writes on EINTRS. (pipe_read): Repeats reads on EINTRS.Miguel de Icaza2000-10-081-10/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | 2000-10-08 Miguel de Icaza <miguel@helixcode.com> * mail-threads.c (pipe_write): Repeates writes on EINTRS. (pipe_read): Repeats reads on EINTRS. (mail_operation_queue): Use pipe_write (mail_op_set_percentage): ditto. (mail_op_hide_progressbar): ditto. (mail_op_show_progressbar): ditto. (mail_op_set_message): ditto. (mail_op_get_password): ditto. (mail_op_error): ditto. (mail_op_forward_event): ditto. (mail_operations_terminate): ditto. (dispatch): use pipe_read. (dispatch): use pipe_write (dispatch): ditto. * mail-ops.c (mail_incorporate_messages): Only show message being incorporated every 2 seconds, to avoid a bunch of CORBA round trips. (do_transfer_messages): ditto. (do_forward_messages): ditto. svn path=/trunk/; revision=5783
* Move the functionality to incorporate messages intoMiguel de Icaza2000-10-081-122/+142
| | | | | | | | | | | 2000-10-07 Miguel de Icaza <miguel@helixcode.com> * mail-ops.c (do_fetch_mail): Move the functionality to incorporate messages into mail_incorporate_messages. (mail_load_evolution_rule_context): New function. Move the functionality for loading the context rules to its own function. svn path=/trunk/; revision=5782
* set the @subscribed_only parameter to TRUE, since the subscribe UI is theChris Toshok2000-10-071-1/+1
| | | | | | | | | | 2000-10-06 Chris Toshok <toshok@helixcode.com> * mail-ops.c (do_scan_subfolders): set the @subscribed_only parameter to TRUE, since the subscribe UI is the only interface that should show unsubscribed groups. svn path=/trunk/; revision=5768
* Add missing parameter in call to `camel_store_get_folder_info()'.Ettore Perazzoli2000-10-071-1/+1
| | | | | | (Duh, I hope `FALSE' is fine.) svn path=/trunk/; revision=5763
* Don't expunge the source mailbox on completion.Jeffrey Stedfast2000-10-051-1/+1
| | | | | | | | | 2000-10-04 Jeffrey Stedfast <fejj@helixcode.com> * mail-ops.c (do_filter_ondemand): Don't expunge the source mailbox on completion. svn path=/trunk/; revision=5715
* Don't try to add_folders if get_folder_info returned NULL.Dan Winship2000-10-051-2/+4
| | | | | | | * mail-ops.c (do_scan_subfolders): Don't try to add_folders if get_folder_info returned NULL. svn path=/trunk/; revision=5712
* Update for CamelFolderInfo changes.Dan Winship2000-10-031-46/+37
| | | | | | | | | | | | | * mail-ops.c (mail_do_scan_subfolders, etc): Update for CamelFolderInfo changes. * message-list.c (message_list_destroy): Don't save_tree_state if there's no folder associated with the MessageList. * folder-browser.c (folder_browser_set_uri): Only call mail_do_load_folder if the URI is not "". svn path=/trunk/; revision=5664
* Messages should be appended to Sent as Seen. (do_send_mail): Same.Jeffrey Stedfast2000-09-291-2/+2
| | | | | | | | | | 2000-09-28 Jeffrey Stedfast <fejj@helixcode.com> * mail-ops.c (do_send_queue): Messages should be appended to Sent as Seen. (do_send_mail): Same. svn path=/trunk/; revision=5622
* Note: We need a configuration option to specify whether to log filteringJeffrey Stedfast2000-09-281-3/+31
| | | | | | | | | | | | | 2000-09-27 Jeffrey Stedfast <fejj@helixcode.com> Note: We need a configuration option to specify whether to log filtering actions or not. * mail-ops.c (do_filter_ondemand): Updated to pass a log file pointer to filter_driver_run. (do_fetch_mail): Same. (mail_do_fetch_mail): Fixed a compiler warning. svn path=/trunk/; revision=5604
* If the message has been deleted, don't try filtering it - skip to the nextJeffrey Stedfast2000-09-281-0/+8
| | | | | | | | | | 2000-09-27 Jeffrey Stedfast <fejj@helixcode.com> * mail-ops.c (do_filter_ondemand): If the message has been deleted, don't try filtering it - skip to the next message. Fixes bugzilla bug #639. svn path=/trunk/; revision=5601
* CamelException is not for compile-time errors. Replace lots of argumentDan Winship2000-09-261-485/+87
| | | | | | | | | | * mail-ops.c: CamelException is not for compile-time errors. Replace lots of argument checks in setup_ functions with g_return_if_fails in the public functions. Also remove some prototypes that weren't needed because they were for static functions that are defined before they're used. svn path=/trunk/; revision=5576
* Fixed some memory leakage. Call free_recipients() so we don't leak memory.Jeffrey Stedfast2000-09-221-7/+8
| | | | | | | | | 2000-09-21 Jeffrey Stedfast <fejj@helixcode.com> * mail-format.c (mail_generate_reply): Fixed some memory leakage. Call free_recipients() so we don't leak memory. svn path=/trunk/; revision=5542
* Use the folder's full_name so recursive directory structures displayJeffrey Stedfast2000-09-201-2/+2
| | | | | | | | | 2000-09-19 Jeffrey Stedfast <fejj@helixcode.com> * mail-ops.c (do_scan_subfolders): Use the folder's full_name so recursive directory structures display correctly ;-) svn path=/trunk/; revision=5507
* Update for CamelFolder changes (subfolder_names -> subfolder_info).Dan Winship2000-09-201-5/+7
| | | | | | | * mail-ops.c (do_scan_subfolders): Update for CamelFolder changes (subfolder_names -> subfolder_info). svn path=/trunk/; revision=5504
* Deal with NULL composer.Dan Winship2000-09-191-4/+5
| | | | | | | | | | * mail-callbacks.c (create_msg_composer, compose_msg, send_to_url, mail_reply, forward_msg): * mail-format.c (mail_generate_reply): * mail-ops.c (cleanup_edit_messages): * mail-view.c (view_forward_msg): Deal with NULL composer. svn path=/trunk/; revision=5502
* Don't get_message_flags, because POP doesn't support it and it's pointlessDan Winship2000-09-151-5/+2
| | | | | | | | | * mail-ops.c (do_fetch_mail): Don't get_message_flags, because POP doesn't support it and it's pointless anyway since we're setting deleted, not toggling it. call camel_folder_sync with expunge=TRUE so that the deletions are actually recorded. svn path=/trunk/; revision=5450
* Fix the sense of the "keep on server" check so we're not doing thisDan Winship2000-09-151-1/+1
| | | | | | | * mail-ops.c (do_fetch_mail): Fix the sense of the "keep on server" check so we're not doing this backwards. svn path=/trunk/; revision=5447
* This bug was so much fun to fix the first time that I decided toDan Winship2000-09-151-1/+2
| | | | | | | | | | | | | fix it again. 2000-07-11 Dan Winship <danw@helixcode.com> * mail-ops.c (real_send_mail): Set the post_send_data flag rather than toggling it. (Maybe we'll need more control over it later, but for now, the only flag we set is "replied", and we want that set, not toggled.) svn path=/trunk/; revision=5445
* camel_folder_append is perfectly happy to take a NULL info.Dan Winship2000-09-141-6/+0
| | | | | | | * mail-ops.c (setup_append_mail): camel_folder_append is perfectly happy to take a NULL info. svn path=/trunk/; revision=5429
* Only use the cache if the user plans to keep_on_server.Jeffrey Stedfast2000-09-141-20/+22
| | | | | | | | | 2000-09-14 Jeffrey Stedfast <fejj@helixcode.com> * mail-ops.c (do_fetch_mail): Only use the cache if the user plans to keep_on_server. svn path=/trunk/; revision=5422
* Was trying to unhook an event from the wrong folder - oops.Jeffrey Stedfast2000-09-121-1/+1
| | | | | | | | | 2000-09-12 Jeffrey Stedfast <fejj@helixcode.com> * mail-ops.c (do_fetch_mail): Was trying to unhook an event from the wrong folder - oops. svn path=/trunk/; revision=5356
* added some comments (no source code changes)Jeffrey Stedfast2000-09-121-1/+2
| | | | svn path=/trunk/; revision=5351
* Updated to use the new mail_do_filter_ondemand.Jeffrey Stedfast2000-09-121-13/+19
| | | | | | | | | | | | | | | | | 2000-09-11 Jeffrey Stedfast <fejj@helixcode.com> * mail-callbacks.c (run_filter_ondemand): Updated to use the new mail_do_filter_ondemand. * mail-ops.c (do_fetch_mail): Update to use the new filter_driver_run args. (do_filter_ondemand): Updated to use the new filter_driver_run args. (mail_do_filter_ondemand): Take a FilterContext as a argument instead of a driver as we need to destroy the filter inside the do_filter_ondemand function and things'd get messy. svn path=/trunk/; revision=5347
* Don't have the filter driver self_destruct.Jeffrey Stedfast2000-09-121-1/+1
| | | | | | | | | 2000-09-11 Jeffrey Stedfast <fejj@helixcode.com> * mail-ops.c (do_fetch_mail): Don't have the filter driver self_destruct. svn path=/trunk/; revision=5345
* If we're fetching from an mbox formatted file then we need to do someJeffrey Stedfast2000-09-121-1/+4
| | | | | | | | | 2000-09-11 Jeffrey Stedfast <fejj@helixcode.com> * mail-ops.c (do_fetch_mail): If we're fetching from an mbox formatted file then we need to do some special-casing. svn path=/trunk/; revision=5329
* might be a good idea to *save* the uids in the cache when we're done ↵Jeffrey Stedfast2000-09-101-1/+9
| | | | | | fetching mail ;-) svn path=/trunk/; revision=5291
* Use the CamelUIDCache so that we only retrieve *new* messages and alsoJeffrey Stedfast2000-09-101-1/+27
| | | | | | | | | | | 2000-09-09 Jeffrey Stedfast <fejj@helixcode.com> * mail-ops.c (do_fetch_mail): Use the CamelUIDCache so that we only retrieve *new* messages and also send notes to the status bar telling it which message we're downloading so that Ettore can sleep at night ;-) svn path=/trunk/; revision=5290
* Updated to not send hook/unhook data to filter_driver_run as it no longerJeffrey Stedfast2000-09-101-2/+7
| | | | | | | | | | | 2000-09-09 Jeffrey Stedfast <fejj@helixcode.com> * mail-ops.c (do_fetch_mail): Updated to not send hook/unhook data to filter_driver_run as it no longer takes those args. (do_filter_ondemand): Same. Also wrap filtering in freeze/thaw to prevent signals from being queued up svn path=/trunk/; revision=5288
* Freeze the default folder before filtering and thaw it afterward toJeffrey Stedfast2000-09-101-1/+11
| | | | | | | | | | 2000-09-09 Jeffrey Stedfast <fejj@helixcode.com> * mail-ops.c (do_fetch_mail): Freeze the default folder before filtering and thaw it afterward to prevent a ton of "folder_changed" signals from being queued. svn path=/trunk/; revision=5286
* Fixed some warnings.Christopher James Lahey2000-09-091-2/+2
| | | | | | | | | | | 2000-09-08 Christopher James Lahey <clahey@helixcode.com> * folder-browser.c, mail-config-gui.c, mail-ops.c: Fixed some warnings. * message-list.c: Added base ETableModel functions. svn path=/trunk/; revision=5268
* Updated to pass a CamelMessageInfo to filter_driver_runJeffrey Stedfast2000-09-081-5/+35
| | | | | | | | | | 2000-09-08 Jeffrey Stedfast <fejj@helixcode.com> * mail-ops.c (do_fetch_mail): Updated to pass a CamelMessageInfo to filter_driver_run (do_filter_ondemand): Same. svn path=/trunk/; revision=5252
* Updated to check the boolean return code from fulter_driver_run to findJeffrey Stedfast2000-09-081-6/+17
| | | | | | | | | | | 2000-09-07 Jeffrey Stedfast <fejj@helixcode.com> * mail-ops.c (do_filter_ondemand): Updated to check the boolean return code from fulter_driver_run to find out whether or not the message was filtered so that it can decide whether or not to delete the message from the source folder or not. svn path=/trunk/; revision=5250
* oops, forgot to pass "expunge" to camel_folder_sync - this should fix thatJeffrey Stedfast2000-09-081-1/+1
| | | | svn path=/trunk/; revision=5244
* Updated to pass an exception to filter_driver_run and also check theJeffrey Stedfast2000-09-081-4/+8
| | | | | | | | | | | | 2000-09-07 Jeffrey Stedfast <fejj@helixcode.com> * mail-ops.c (do_fetch_mail): Updated to pass an exception to filter_driver_run and also check the exception before deleting the message from the source folder. (do_filter_ondemand): Updated to pass an exception to filter_driver_run svn path=/trunk/; revision=5242
* Fix previous fix. (Free the uids, just do it correctly.)Dan Winship2000-09-081-0/+1
| | | | | | | * mail-ops.c (do_fetch_mail): Fix previous fix. (Free the uids, just do it correctly.) svn path=/trunk/; revision=5238
* Don't free uids, let the camel folder do that when it gets finalizedJeffrey Stedfast2000-09-081-3/+3
| | | | | | | | | 2000-09-07 Jeffrey Stedfast <fejj@helixcode.com> * mail-ops.c (do_fetch_mail): Don't free uids, let the camel folder do that when it gets finalized svn path=/trunk/; revision=5237
* New async function to filter messages on demand. (do_fetch_mail): UpdatedJeffrey Stedfast2000-09-071-22/+195
| | | | | | | | | | | | | | | | | | | | 2000-09-06 Jeffrey Stedfast <fejj@helixcode.com> * mail-ops.c (mail_do_filter_ondemand): New async function to filter messages on demand. (do_fetch_mail): Updated to filter 1 message at a time using the new filter-driver code * mail-callbacks.c (composer_postpone_cb): Send NULL as the message info. (run_filter_ondemand): Use mail_do_filter_ondemand instead of filter_driver_run * mail-tools.c: Removed mail_tool_filter_contents_into and mail_tool_fetch_mail_into_searchable as they have now been deprecated. svn path=/trunk/; revision=5225
* kill a warningDan Winship2000-09-061-1/+1
| | | | svn path=/trunk/; revision=5214
* Add a use-default-port option to the source editor ; bugfixesPeter Williams2000-09-061-12/+13
| | | | svn path=/trunk/; revision=5208
* Replace mail_do_setup_draftbox, mail_do_setup_outbox, andDan Winship2000-09-061-141/+46
| | | | | | | | | | | | | | * mail-ops.c: Replace mail_do_setup_draftbox, mail_do_setup_outbox, and mail_do_setup_sentbox with mail_do_setup_folder. (do_send_mail, do_send_queue): s/sentbox_folder/sent_folder/ * component-factory.c (owner_set_cb): Use mail_do_setup_folder, rename sentbox_folder to sent_folder, and call mail_operation_wait_for_finish after the setup_folder calls in case anything needs to use the _folder variables. svn path=/trunk/; revision=5200
* Change the "Get Mail" toolbar button to become "Send & Receieve"Jeffrey Stedfast2000-09-031-22/+177
| | | | | | | | | | | | | | | | | | | | 2000-09-03 Jeffrey Stedfast <fejj@helixcode.com> * folder-browser-factory.c: Change the "Get Mail" toolbar button to become "Send & Receieve" * mail-callbacks.c (send_queued_mail): New callback function for sending queued mail (send_receieve_mail): New callback for Send & Receieve that basically just calls send_queued_mail and then fetch_mail * mail-ops.c (cleanup_send_mail): Mod to be able to handle a NULL composer window (setup_send_mail): Modified to handle a NULL composer widget (mail_do_send_queue): New convenience async function to send all messages in a folder (aka all messages in a queue) svn path=/trunk/; revision=5184
* Attach a callback to the postpone signal (send_to_url): Same (mail_reply):Jeffrey Stedfast2000-09-021-12/+130
| | | | | | | | | | | | | | | | | | | | | | | | 2000-09-01 Jeffrey Stedfast <fejj@helixcode.com> * mail-callbacks.c (compose_msg): Attach a callback to the postpone signal (send_to_url): Same (mail_reply): Same (forward_msg): Same (composer_postpone_cb): Callback function for the postpone signal * mail-ops.c (mail_do_setup_outbox): New convenience function to load the Outbox folder (mail_do_setup_sentbox): Same, but for Sentbox. (do_send_mail): Now saves messages in Sentbox if sent successfully (mail_do_append_mail): New convenience async function for appending messages to a folder * component-factory.c: Added outbox_folder and sent_folder (owner_set_cb): Call our new convenience functions to load Outbox and Sentbox svn path=/trunk/; revision=5178
* New convenience function to load the Outbox folderJeffrey Stedfast2000-09-021-14/+136
| | | | | | | | | | | | | | | 2000-09-01 Jeffrey Stedfast <fejj@helixcode.com> * mail-ops.c (mail_do_setup_outbox): New convenience function to load the Outbox folder (mail_do_setup_sentbox): Same, but for Sentbox. (do_send_mail): Now saves messages in Sentbox if sent successfully * component-factory.c: Added outbox_folder and sent_folder (owner_set_cb): Call our new convenience functions to load Outbox and Sentbox svn path=/trunk/; revision=5172
* Changed `Evolution::Storage' so that the displayed name for a folderEttore Perazzoli2000-09-011-0/+1
| | | | | | | is decoupled from its path, and updated all the components accordingly. svn path=/trunk/; revision=5159
* Update this and related functions to no longer take a From address. (TheDan Winship2000-08-301-13/+5
| | | | | | | | | | | | | | | | | * mail-ops.c (mail_do_send_mail): Update this and related functions to no longer take a From address. (The composer deals with it itself now.) (do_send_mail): Add the Evolution version back to the X-Mailer header (this change got lost in the thread migration). * mail-callbacks.c (composer_send_cb): Don't re-fetch the From address. It's set by the composer now. Don't free the post_send_data from here. (mail_reply): Attach to the composer's destroy signal to free the psd. (The current code would free it more than once if an error occurred while trying to send the first time.) svn path=/trunk/; revision=5102
* Add more user-friendly progress messages from the friendly folks at Helix ↵Peter Williams2000-08-281-2/+18
| | | | | | Code (TM) svn path=/trunk/; revision=5076
* Goodbye, GDK_THREADS!Peter Williams2000-08-281-1/+1
| | | | svn path=/trunk/; revision=5074
* Start adding progress info; make flag_all_messages camel-safe; make the no ↵Peter Williams2000-08-251-4/+36
| | | | | | new mail dialog more descriptive. svn path=/trunk/; revision=5016
* Fix GDK_THREADS_entering and leaving, hopefully once and for all. Genericify ↵Peter Williams2000-08-251-2/+1
| | | | | | the recursive-store-loading. Load stores when they're added to the config page. svn path=/trunk/; revision=5005
* Fix a deadlock upon checking mail due to new camel_service semantics.Peter Williams2000-08-241-5/+6
| | | | svn path=/trunk/; revision=4984
* Whole buncha leak fixes thanks to PurifyMatthew Loper2000-08-171-2/+2
| | | | svn path=/trunk/; revision=4862
* Use a configurable timeout.Richard Hult2000-08-171-2/+10
| | | | | | | | | | | | | | | | | | | | | 2000-08-16 Richard Hult <rhult@hem.passagen.se> * mail-ops.c (cleanup_display_message): Use a configurable timeout. * mail-config.c (mail_config_set_mark_as_seen_timeout): New function for the settable mark-as-seen timeout. (mail_config_mark_as_seen_timeout): Likewise. (mail_config_write): Write the timeout setting. (config_read): Read timeout setting. * mail-config-gui.c (mail_config): Add option for the settable mark-as-seen timeout. (mail_config_apply_clicked): Likewise. (timeout_changed): New function for the timeout setting. svn path=/trunk/; revision=4859
* Updated russian translation. Fixed typo in mail-ops.c.Valek Frob2000-08-161-1/+1
| | | | svn path=/trunk/; revision=4852
* Close the pipes when finished; add i18nPeter Williams2000-08-161-47/+60
| | | | svn path=/trunk/; revision=4846