aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-tools.c
Commit message (Collapse)AuthorAgeFilesLines
* Use mail-config's gconf client. (target_date_new): Same.Jeffrey Stedfast2003-06-121-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-06-06 Jeffrey Stedfast <fejj@ximian.com> * message-tag-followup.c (get_week_start_day): Use mail-config's gconf client. (target_date_new): Same. * message-list.c (message_list_set_folder): Use mail-config's gconf client. (mail_regen_list): Same. * mail-tools.c (mail_tool_quote_message): Use mail-config's gconf client. (mail_tool_forward_message): Same. * mail-session.c (main_get_filter_driver): Use mail-config's gconf client. * mail-preferences.c (mail_preferences_init): Use mail-config's gconf client. (mail_preferences_finalise): Don't unref the gconf client. * mail-format.c (write_headers): Use mail-config's gconf client. (mail_format_data_wrapper_write_to_stream): Same. (handle_text_plain): And here. * mail-display.c (save_data_cb): Use mail-config's gconf client. (save_part): Same. (on_url_requested): Here too. (mail_text_write): And here. (mail_display_init): And here. (mail_display_destroy): Here too. (mail_display_new): Again here. * mail-composer-prefs.c (sig_add_cb): Use mail-config's gconf client. (mail_composer_prefs_construct): Same. * mail-callbacks.c (ask_confirm_for_unwanted_html_mail): Use mail-config's gconf client. (ask_confirm_for_empty_subject): Same. (ask_confirm_for_only_bcc): Here too. (composer_get_message): And here. (create_msg_composer): Again here. (mail_generate_reply): Same. (forward): And here. (transfer_msg_done): " (delete_msg): " (confirm_expunge): " * component-factory.c (owner_unset_cb): Use mail-config's gconf client. * folder-browser-ui.c (folder_browser_ui_add_message): Use the mailer's gconf client. (folder_browser_ui_add_list): Same. (folder_browser_ui_add_global): Here too. * folder-browser.c (save_cursor_pos): Use the mailer's gconf client. (folder_browser_set_message_preview): Same. (folder_browser_toggle_preview): Here too. (folder_browser_toggle_threads): And here. (folder_browser_toggle_hide_deleted): Here as well. (folder_browser_set_message_display_style): And here. (fb_resize_cb): Here. (paned_realised): And here. (done_message_selected): And everywhere... * mail-account-gui.c (sig_add_new_signature): Use the mailer gconf client. * mail-config.c (mail_config_get_gconf_client): New function to return the global GConfClient used by the mailer. (mail_config_write_on_exit): On exit, free our objects and such. (mail_config_signature_run_script): Use config->gconf. 2003-06-04 Jeffrey Stedfast <fejj@ximian.com> * mail-callbacks.c (invert_selection): Get rid of the if-focused code, that will always prevent the etree from getting the selection inverted because the menu item will always have focus at this time. Fix for bug #43972. it takes more than good relations to some of the major spirits in this branch of the multiverse to write apps that don't leak gconf-client refs, good coding is important, too. that... or a 100-megaton-kill-o-zap bomb svn path=/trunk/; revision=21410
* ** See bug #22542Not Zed2003-06-111-11/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-06-11 Not Zed <NotZed@Ximian.com> ** See bug #22542 * component-factory.c (storage_create_folder): If we're creating a folder on a vstore, popup a vFolder editor rather than failing. 2003-06-05 Not Zed <NotZed@Ximian.com> ** Part of #42691. * importers/Makefile.am (BUILT_SOURCES): added server_DATA. * Makefile.am (%.server.in): create a proper implicit rule for temporary .in file. 2003-06-04 Not Zed <NotZed@Ximian.com> ** See bug #43974 * mail-tools.c (mail_tool_do_movemail): use a proper CamelURL to decode the uri, not hacky strcmp stuff. * mail-account-gui.c (extract_values): if we have an conf_entry, ignore username, hostname, and path ones, as these are handled implicitly in the url itself. Came about because of the fix for #42838. svn path=/trunk/; revision=21407
* ** See bug #42400Not Zed2003-05-071-0/+8
| | | | | | | | | | | 2003-05-06 Not Zed <NotZed@Ximian.com> ** See bug #42400 * mail-tools.c (meta_data_key): protect against getting an unparsable uri. svn path=/trunk/; revision=21119
* strdup the key before freeing the url as it is probably pointing there.Not Zed2003-03-251-1/+2
| | | | | | | | | 2003-03-25 Not Zed <NotZed@Ximian.com> * mail-tools.c (meta_data_key): strdup the key before freeing the url as it is probably pointing there. svn path=/trunk/; revision=20491
* Load per-folder setting of show_preview from meta data.Not Zed2003-03-241-0/+69
| | | | | | | | | | | | | | | | | | | | | | | | | 2003-03-25 Not Zed <NotZed@Ximian.com> * folder-browser-ui.c (folder_browser_ui_add_global): Load per-folder setting of show_preview from meta data. (folder_browser_ui_add_list): Same, for thread_list. * mail-tools.c (mail_tool_get_meta_data) (mail_tool_delete_meta_data): helpers to lookup/delete meta data. * mail-config.c (mail_config_uri_deleted): delete the meta-data for the folder. * folder-browser.c (folder_browser_reload): dont reload the uri if we're in the process of loading it still. (folder_browser_new): load the folder meta data before loading the folder. (folder_browser_toggle_preview): (folder_browser_toggle_threads): save change to meta-data. (got_folder): Load the metadata if we have a folder to set, and the meta-data has changed from initislisation. svn path=/trunk/; revision=20478
* #include "mail-format.h"Jeffrey Stedfast2003-01-101-0/+1
| | | | svn path=/trunk/; revision=19367
* Use gconf to get the paned size. (folder_browser_set_message_preview):Jeffrey Stedfast2003-01-081-16/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-01-07 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (save_cursor_pos): Use gconf to get the paned size. (folder_browser_set_message_preview): Same. (folder_browser_toggle_hide_deleted): Use gconf to set the hide-deleted state. (folder_browser_set_message_display_style): Same but for the message_display_style. (fb_resize_cb): Save the paned_size via gconf. (paned_size_changed): Callback for when the paned_size gets changed. Change the folder-browser's paned size to the new setting. (folder_browser_gui_init): Listen to changes to the paned_size and also get the initial size from gconf. * message-list.c (message_list_set_folder): Use gconf. (regen_list_regen): Use gconf. * message-browser.c (transfer_msg_done): Use gconf to get the hide_deleted setting. * mail-account-gui.c (sig_add_new_signature): Use gconf. * folder-browser-ui.c (folder_browser_ui_add_list): Use gconf. * folder-browser.c (save_cursor_pos): Use gconf. (folder_browser_set_message_preview): Same. (folder_browser_toggle_hide_deleted): Here too. (folder_browser_set_message_display_style): And here. (folder_browser_gui_init): Here too. (done_message_selected): And here. * mail-config.c (mail_config_get_thread_subject): Removed. (mail_config_set_thread_subject): Removed. (mail_config_get_empty_trash_on_exit): Removed. (mail_config_set_empty_trash_on_exit): Removed. (mail_config_get_last_filesel_dir): Removed. (mail_config_set_last_filesel_dir): Removed. (mail_config_get_hide_deleted): Removed. (mail_config_set_hide_deleted): Removed. (mail_config_get_paned_size): Removed. (mail_config_set_paned_size): Removed. (mail_config_get_send_html): Removed. (mail_config_set_send_html): Removed. (mail_config_get_confirm_unwanted_html): Removed. (mail_config_set_confirm_unwanted_html): Removed. (mail_config_get_citation_highlight): Removed. (mail_config_set_citation_highlight): Removed. (mail_config_get_citation_color): Removed. (mail_config_set_citation_color): Removed. (mail_config_get_do_seen_timeout): Removed. (mail_config_set_do_seen_timeout): Removed. (mail_config_get_mark_as_seen_timeout): Removed. (mail_config_set_mark_as_seen_timeout): Removed. (mail_config_get_prompt_empty_subject): Removed. (mail_config_set_prompt_empty_subject): Removed. (mail_config_get_prompt_only_bcc): Removed. (mail_config_set_prompt_only_bcc): Removed. (mail_config_get_confirm_expunge): Removed. (mail_config_set_confirm_expunge): Removed. (mail_config_get_confirm_goto_next_folder): Removed. (mail_config_set_confirm_goto_next_folder): Removed. (mail_config_get_goto_next_folder): Removed. (mail_config_set_goto_next_folder): Removed. (mail_config_get_http_mode): Removed. (mail_config_set_http_mode): Removed. (mail_config_get_default_forward_style): Removed. (mail_config_set_default_forward_style): Removed. (mail_config_get_default_reply_style): Removed. (mail_config_set_default_reply_style): Removed. (mail_config_get_message_display_style): Removed. (mail_config_set_message_display_style): Removed. (mail_config_get_default_charset): Removed. (mail_config_set_default_charset): Removed. (mail_config_get_x_mailer_display_style): Removed. (mail_config_set_x_mailer_display_style): Removed. * subscribe-dialog.c (populate_store_list): Use the list of accounts. We can't get the list of sources anymore. (populate_store_foreach): Updated. * mail-callbacks.c (guess_me_from_accounts): Use account->enabled. (mail_generate_reply): Same. (empty_trash): Here too. * mail-accounts.c (account_delete_clicked): Use account->enabled rather than source->enabled. (account_able_clicked): Same. (account_cursor_change): Here too. (mail_accounts_load): And here. * component-factory.c (owner_unset_cb): Use gconf empty-on-exit settings. (mail_load_storages): Use account->enabled rather than account->source->enabled. The struct changed. * mail-composer-prefs.c (sig_add): Get the send_html pref from gconf. * message-tag-followup.c (target_date_new): Use gconf. * mail-config.c (mail_config_get_week_start_day): Removed. * mail-tools.c (mail_tool_quote_message): Use gconf here too, but we don't need to parse the colour - just use it as a raw string. (mail_tool_forward_message): Use gconf. * mail-format.c (mail_format_data_wrapper_write_to_stream): Use gconf. (write_headers): Use gconf. (handle_text_plain): Same. * mail-display.c (mail_text_write): Updated to use gconf and parse GdkColour strings. (on_url_requested): Updated to use gconf. * mail-callbacks.c (ask_confirm_for_unwanted_html_mail): Use gconf rather than the old mail-config APIs which will be removed. (ask_confirm_for_empty_subject): Same. (ask_confirm_for_only_bcc): Here too. (composer_get_message): And here. (create_msg_composer): Same. (transfer_msg_done): Again here. (delete_msg): Here too. (confirm_expunge): And finally here. * mail-config.c (mail_config_write): Use gconf. (mail_config_get_sources): Removed. * mail-account-gui.c (mail_account_gui_save): No need to save enabled-state anymore for a source. * mail-config-druid.c (wizard_finish_cb): Instead of setting account->source->enabled to TRUE, just set account->enabled to TRUE. The structures changed a bit. * mail-send-recv.c (mail_send_receive): Get the list of accounts instead of sources, and pass them along to build_dialogue. I'm trying to get rid of the mail_config_get_sources() api. (mail_autoreceive_setup): Here too. * mail-config.c (mail_config_get_filter_log): Removed. (mail_config_set_filter_log): Removed. (mail_config_get_filter_log_path): Removed. (mail_config_set_filter_log_path): Removed. (mail_config_get_new_mail_notify): Removed. (mail_config_set_new_mail_notify): Removed. (mail_config_get_new_mail_notify_sound_file): Removed. (mail_config_set_new_mail_notify_sound_file): Removed. * mail-session.c (main_get_filter_driver): Updated to use the gconf settings. svn path=/trunk/; revision=19271
* ...And a whole bunch more build fixes.Jeffrey Stedfast2002-12-181-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-12-17 Jeffrey Stedfast <fejj@ximian.com> ...And a whole bunch more build fixes. * mail-vfolder.c (mail_vfolder_delete_uri): Don't use g_string_sprintfa() anymore since it is apparently deprecated. * mail-session.c (main_get_filter_driver): Don't use g_string_sprintfa() anymore since it is apparently deprecated. * mail-ops.c (build_from): Don't use g_string_sprintfa() anymore since it is apparently deprecated. * mail-callbacks.c (ask_confirm_for_unwanted_html_mail): Don't use g_string_sprintfa() anymore since it is apparently deprecated. * mail-autofilter.c: Don't use g_string_sprintfa() anymore since it is apparently deprecated. * folder-browser.c: Don't use g_string_sprintfa() anymore since it is apparently deprecated. * mail-search.c (mail_search_set_subject): Remove the unnecessary g_strdup()'age as well as fix a possible buffer overrun. * mail-local.c (mail_local_folder_construct): Use g_path_get_basename(). * mail-config-druid.c (make_account): Don't use e_utf8_* functions. svn path=/trunk/; revision=19152
* Use camel_text_to_html() instead of e_text_to_html(). (mail_text_write):Jeffrey Stedfast2002-12-171-1/+0
| | | | | | | | | | | | | | | | | | 2002-12-16 Jeffrey Stedfast <fejj@ximian.com> * mail-display.c (mail_error_printf): Use camel_text_to_html() instead of e_text_to_html(). (mail_text_write): Write the content directly to gtkhtml through an html stream filter. * mail-format.c (attachment_header): Use camel_text_to_html() instead of e_text_to_html(). (write_text_header): Same. (write_address): Here too. (mail_get_message_rfc822): And here. (mail_get_message_body): And finally here. svn path=/trunk/; revision=19133
* Commented out stuff that doesn't build yet. Also fixed idl build rule.Not Zed2002-11-121-14/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-11-13 Not Zed <NotZed@Ximian.com> * Makefile.am: Commented out stuff that doesn't build yet. Also fixed idl build rule. importers still not built. * main.c (main): bonobactivationise. remove push visual/colormap. (main): no longer activate activation, let bonobo_init do it. * mail-signature-editor.c (menu_help): Change help api. * mail-session.c (user_message_destroy_noreply): removed. Not used? * mail-local.c (load_metainfo): xml root->children. * mail-format.c (g_string_append_len): Removed, it exists now. 2002-11-12 Not Zed <NotZed@Ximian.com> * subscribe-dialog.c: gnome2ised, use gtkdialog. (subscribe_get_global_extras): use a weak ref rather than destroy signal. * message-tag-followup.c: gnome2ised. * message-tag-editor.c: gnome2ised & converted to gtkdialog. * message-list.c: gnome2ised. (message_list_finalise): From destroy method. maybe should be destroy still. * message-browser.c: port to gnome2 (message_browser_finalise): renamed from destroy method. * mail-stream-gtkhtml.c: removed redundant camel_class_get_global_classfuncs() call. * mail-signature-editor.c: gtkdialogised, & bonobo api changes. * mail-search-dialogue.c: gtkdialogised. * mail-folder-cache.c: cleaned up camel ref/hook casts. * mail-composer-prefs.c (mail_composer_prefs_get_type): convert to gtype. * mail-font-prefs.c (mail_font_prefs_destroy): from finalise. * mail-config.c: s/bonobo_config/e_config_listener/ Added /apps/Evolution prefix to the evolution keys. Changed to use e_config_listener, etc. (mail_config_init): remove bonobo_config stuff. (mail_config_check_service): gtk dialogise. (check_response): from check_cancelled. * mail-config-druid.c (mail_config_druid_destroy): renamed from _finalize, turned into destroy handler. (construct): set type to toplevel, GTK_WINDOW_DIALOG no longer exists. * mail-config-factory.c (mail_config_register_factory): bonobo api changes. * mail-crypto.c (mail_crypto_get_pgp_cipher_context): cleaned up unref casts. * mail-display.c (write_data_to_file): gnome->gtkdialog. (on_link_clicked): use ascii_str*cmp on url. (save_part): g_path stuff. (launch_cb): gtk dialog. (pixmap_press): de-oafify. (pixbuf_for_mime_type): gnome-vfs api changes. (do_attachment_header): Change the pixmap to a gtkimage. (do_signature): " (pixbuf_gen_idle): " (do_attachment_header): ascii_str*cmp (do_attachment_header): gnome pixmap->gtkimage. (mail_display_destroy): protect against gtk mentalness. (html_button_press_event): ascii_str*cmp (drag_data_get_cb): added comment for translators of filename. * mail-format.c (component_supports): de-oafise. (is_anonymous): ascii_strncmp (attachment_header): remove utf8<>locale stuff, and gnomevfs api changes. (format_mime_part): fix g_strdown call. (write_field_row_begin): kill utf8->gtk stuff. (write_address): " (default_header_index): ascii_strcasecmp (handle_text_plain): " (handle_text_enriched): " (handle_multipart_encrypted): remove utf/gtk stuff. (handle_message_external_body): ascii_str*cmp * mail-identify.c (mail_identify_mime_part): (identify_by_magic): gnome vfs api changes. * mail-importer.c: Converted. * mail-local.c (load_metainfo): xml childs -> children. (mls_get_folder): g_strerror. (mls_delete_folder): g_strerror. (reconfigure_got_folder): Gnome->GtkDialog (reconfigure_response): from reconfigure_clicked. * mail-mt.c (mail_msg_check_error): gnome -> gtk dialog (error_response): renmae from error_gone. destroy widget on any response. * mail-offline-handler.c (impl_finalise): renamed from impl_destroy since thats what it should be anyway. * mail-ops.c: removed utf8 widget conversion & camel_object_un/ref casts. * mail-preferences.c (mail_preferences_get_type): glib2'ised. * mail-search.c (mail_search_finalise): renmaed from destroy & properly chain. (mail_search_get_type): glib2 & make gtkdialog parent. (entry_run_search): run search when entry activated. not sure if gtkdialog has anohter way to do this on an arbitrary widget. * mail-send-recv.c (dialogue_response): renamed from clicked. Use gtkdialog. * mail-session.c (request_password_deleted): removed, redundant. (pass_response): rename from pass_got, changed for gtkdialog. (user_message_destroy): Removed, redundant. (user_message_response): Renamed from user_message_clicked. 2002-11-11 Not Zed <NotZed@Ximian.com> * mail-stream-gtkhtml.c (mail_stream_gtkhtml_class_init): dont use get_global_classfuncs, just get the type * mail-tools.c: converted gnome2 api's. * mail-vfolder.c (vfolder_editor_response): clicked->response. (vfolder_editor_destroy): Removed. (vfolder_edit): gtk dialog api (edit_rule_response): clicked->response. (vfolder_edit_rule): gnomedialog->gtkdialog. (vfolder_gui_add_rule): " (new_rule_clicked): clicked->response svn path=/trunk/; revision=18723
* s/+ 4/+ 1/Jeffrey Stedfast2002-10-191-1/+1
| | | | | | we want to strip the "-- " too svn path=/trunk/; revision=18394
* Strip the signature from the body-text. Fixes bug #5529.Jeffrey Stedfast2002-10-181-1/+9
| | | | | | | | | 2002-10-17 Jeffrey Stedfast <fejj@ximian.com> * mail-tools.c (mail_tool_quote_message): Strip the signature from the body-text. Fixes bug #5529. svn path=/trunk/; revision=18393
* Reset the X-Evolution-PostTo header.Jeffrey Stedfast2002-08-231-0/+5
| | | | | | | | | | | 2002-08-22 Jeffrey Stedfast <fejj@ximian.com> * mail-tools.c (mail_tool_restore_xevolution_headers): Reset the X-Evolution-PostTo header. (mail_tool_remove_xevolution_headers): Remove the X-Evolution-PostTo header. svn path=/trunk/; revision=17844
* Use mail_tools_folder_to_url().Jeffrey Stedfast2002-07-261-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-07-24 Jeffrey Stedfast <fejj@ximian.com> * mail-config.c (mail_config_folder_to_safe_url): Use mail_tools_folder_to_url(). * mail-tools.c (mail_tools_folder_to_url): New convenience function to take a CamelFolder and return the URL associated with it. * mail-callbacks.c (composer_get_message): Pass in a 'post' argument so we know whether or not we can ignore a NULL set of recipients. (composer_send_cb): Default send->send to TRUE unless we are in Post-To mode, in which case set send->send to FALSE (since we'll have nothing to send). Also, if we are in Post-To mode, append to the folder the user wants to post to rather than appending to Outbox. (composer_send_queued_cb): Only queue a send thread if send->send is TRUE (ie, the composer was not in Post mode - if it was in Post mode, then the message post has already been saved in the correct folder so there is nothing to do). (post_message): New function to create an empty composer widget in Post mode. (post_reply): New function that calls mail_reply with the new mode of REPLY_POST. (mail_generate_reply): If the mode is REPLY_POST, create a Post composer widget otherwise create a normal composer widget. svn path=/trunk/; revision=17592
* Remove Bcc headers too.Jeffrey Stedfast2002-07-031-0/+4
| | | | | | | | | 2002-07-02 Jeffrey Stedfast <fejj@ximian.com> * mail-tools.c (mail_tool_make_message_attachment): Remove Bcc headers too. svn path=/trunk/; revision=17351
* make these citations as well.Larry Ewing2002-06-031-1/+1
| | | | | | | | | | | | 2002-06-02 Larry Ewing <lewing@ximian.com> * mail-tools.c (mail_tool_quote_message): make these citations as well. * mail-format.c (handle_text_plain_flowed): make these blockquotes into citations. svn path=/trunk/; revision=17070
* Only get the contents of a mime part if it is marked as "inline". FixesJeffrey Stedfast2002-05-211-1/+1
| | | | | | | | | 2002-05-20 Jeffrey Stedfast <fejj@ximian.com> * mail-format.c (mail_get_message_body): Only get the contents of a mime part if it is marked as "inline". Fixes bug #7527. svn path=/trunk/; revision=16957
* use the html reply logic even for plain parts so that we can test out theLarry Ewing2002-04-291-1/+5
| | | | | | | | | 2002-04-29 Larry Ewing <lewing@ximian.com> * mail-tools.c (mail_tool_quote_message): use the html reply logic even for plain parts so that we can test out the new gtkhtml cite logic. svn path=/trunk/; revision=16626
* Free the format string.Jeffrey Stedfast2002-04-171-0/+1
| | | | | | | | | | | | | | | 2002-04-16 Jeffrey Stedfast <fejj@ximian.com> * mail-tools.c (mail_tool_destroy_xevolution): Free the format string. * mail-config.c (config_write_signature): Don't leak the path strings here. * mail-signature-editor.c (menu_file_save_cb): Free the dirname string. svn path=/trunk/; revision=16486
* The idea here is that if we consistantly name the movemail file betweenJeffrey Stedfast2002-01-031-21/+22
| | | | | | | | | | | | | | | | | | | | | 2001-12-21 Jeffrey Stedfast <fejj@ximian.com> The idea here is that if we consistantly name the movemail file between Send&Receive sessions that if the user cancells the "download" of a mbox spool that the next Send&Receive will not "lose" mail that didn't finish the previous session. Fixes bug #17759. Well, mostly. If you have 200 messages and cancel after the first 100, say, then the next time you hit Send&Receive, it will start over from 1 so you'll end up duplicating the first 100 messages, but at least you won't "lose" mail. * mail-tools.c (mail_tool_get_local_movemail_path): Now a static internal function, takes a char *uri argument and no longer generates movemail.%d filenames... they are now based on the uri provided. (mail_tool_do_movemail): Pass along the source_uri. svn path=/trunk/; revision=15224
* Was x_evolution_message_parse from folder-browser.c. A space char is noJeffrey Stedfast2001-11-101-0/+42
| | | | | | | | | | | | | | | | | | | | 2001-11-08 Jeffrey Stedfast <fejj@ximian.com> * mail-tools.c (mail_tools_x_evolution_message_parse): Was x_evolution_message_parse from folder-browser.c. A space char is no longer used to separate the folder URI and the first uid, instead this is now done with a nul-char so update to parse the newer/better format. * component-factory.c (destination_folder_handle_drop): Update to parse the new/better format. * folder-browser.c (x_evolution_message_parse): Moved to mail-tools.c (message_list_drag_data_get): Instead of placing a space char after the folder URI, instead use a nul-char. svn path=/trunk/; revision=14645
* Renamed from mail_html_write_string.Jeffrey Stedfast2001-11-061-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-11-01 Jeffrey Stedfast <fejj@ximian.com> * mail-display.h (mail_html_write): Renamed from mail_html_write_string. * mail-display.c (mail_text_write): Don't bother with varargs since nothing used them, we were only passing strings anyway... (mail_error_printf): Renamed from mail_error_write, this makes more sense. (mail_html_write): Removed. * mail-format.c: Updated to use gtk_html_stream_printf directly and s/mail_html_write_string/mail_html_write. (mail_lookup_handler): Don't use %.*s here either... (handle_text_enriched): Same. (write_one_text_plain_chunk): And finally here (also update for new mail_text_write api). (handle_multipart_signed): Update for new mail_text_write api. (format_mime_part): Update for new mail_error_text/printf name change. (handle_multipart_encrypted): Same. * mail-tools.c (mail_tool_generate_forward_subject): Same as mail_generate_reply. * mail-callbacks.c (mail_generate_reply): Don't use %.*s in any *printf* functions. svn path=/trunk/; revision=14590
* 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
* Fix to not always return NULL for html parts, doh!.Jeffrey Stedfast2001-10-251-0/+1
| | | | | | | | | 2001-10-24 Jeffrey Stedfast <fejj@ximian.com> * mail-format.c (mail_get_message_body): Fix to not always return NULL for html parts, doh!. svn path=/trunk/; revision=14081
* Completely re-done. We now hae a completely async dialogue when requested32001-10-231-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-23 <NotZed@Ximian.com> * mail-session.c (get_password): Completely re-done. We now hae a completely async dialogue when requested from antoehr thread, and dont use gtk_main() if we can avoid it (which is normally the case). This stuff is only partially finished, and will mena the removal of the same from mail-mt.c, and the mail_user_message() code will be moved here and changed to work in a similar way. * mail-callbacks.c (empty_trash): Dont try and connect to remote stores just to get the trash. Also, always run empty trash async, and make sure we unref the trash. (empty_trash): Hmm, dont unref the trash, causes a problem on exit, i suspect something else is doing funky unrefs on it. * mail-tools.c (mail_tool_get_trash): Pass a 'connect' arg, tell it whether it should tryand connect or not to the parent service, if it isn't already connected. * component-factory.c (owner_unset_cb): Dont try wait_all here, could potentially deadlock. (idle_quit): Keep returning TRUE if we have outstanding processing. Note that this may busy-wait during exit processign with busy tasks :( (idle_quit): Keep calling ourselves till we no longer get called (i.e. gtk_main really quits). * mail-mt.c (mail_msg_active): New function, returns TRUE if events are still active/outstanding. (do_op_status): @$@$#@@!#@!! didn't unlock the mail_msg_lock if data->activity was NULL and we had no global_shell_client anymore! Also shortcut processing if this is going to be the case. (mail_msg_init): Setup a temporary other gui_port for redoing with new semantics password, user message and progress reporting. (mail_get_password): #ifdef'd out all this code temporarily, till it gets fully moved to mail-session.c 2001-10-22 <NotZed@Ximian.com> * component-factory.c (owner_set_cb): Dont call enable_interaction here. (interactive_cb): But here instead, let the shell tell us when its ok to go interactive. svn path=/trunk/; revision=13933
* Remove #ifndef MOVEMAIL_PATH code, since the setting of that variable hasDan Winship2001-10-091-19/+1
| | | | | | | | | * mail-tools.c (mail_tool_do_movemail): Remove #ifndef MOVEMAIL_PATH code, since the setting of that variable has been meaningless for a while now, and the rest of the code DTRT whether that code executes or not. svn path=/trunk/; revision=13500
* Pass an empty flags argument to mail_tool_uri_to_folder.Jeffrey Stedfast2001-10-031-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Don't use mail_tool_get_folder_name here since that function only existedDan Winship2001-10-021-40/+0
| | | | | | | | | | | | | | | | | * mail-local.c (mail_local_reconfigure_folder): Don't use mail_tool_get_folder_name here since that function only existed to be clever in a certain case that this is not. (reconfigure_folder_free): Remove the dialog from the hash table here so that it gets removed in the successfully-reconfigured case too. Don't unref folder_out if it never got set. (reconfigure_clicked): Remove the hash table code from here; it's in reconfigure_folder_free now. * mail-tools.c (mail_tool_get_folder_name): No longer used by anything. (mail_tool_get_folder_from_urlname): Also not used anywhere. svn path=/trunk/; revision=13273
* Don't pass the CREATE flag, we shouldn't ever need this...Jeffrey Stedfast2001-10-021-2/+1
| | | | | | | | | 2001-10-01 Jeffrey Stedfast <fejj@ximian.com> * mail-tools.c (mail_tool_uri_to_folder): Don't pass the CREATE flag, we shouldn't ever need this... svn path=/trunk/; revision=13268
* Emit folder_deleted event. (remove_find_path): Fix, compare against path,82001-09-291-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-28 <NotZed@Ximian.com> * mail-local.c (mail_local_store_remove_folder): Emit folder_deleted event. (remove_find_path): Fix, compare against path, not full_name. * mail-tools.c (mail_tool_uri_to_folder): Dont vfolder_register_source anymore. * mail-vfolder.c (rule_changed): Changed to access mail_fodler_cahce to find out if the folder exist yet before trying to open them, also use the cache as a cache so we dont have to open the folder if its already been opened. (vfolder_register_source, register_source): Removed. (source_finalise): Removed, (check_source): Removed. All handled through diff mechanism. (mail_vfolder_add_uri): New function, records uri's of available folders, and adds them to any active vfolders if required. (mail_vfolder_remove_uri): New function, removes a uri from available folders, and checks any rules to see fi they need updating. (vfolder_adduri): New async function to add a uri to all vfolders that need it. (store_folder_deleted): oops! free user, not rule!! * mail-folder-cache.c: Add uri->folderinfo hashtable, and the store from which they come into the store info struct. Add uri to the folder_info. (setup_folder): Store the uri in the folderinfo. (setup_folder): And the uri in the folder_uri hashtable. (mail_note_store): Store the store in the storeinfo, and setup the folders_uri hashtable via the store's hash functions. (setup_folder): Call mail_vfolder_add_uri to note this newly setup folder uri. (store_folder_deleted): Proxy call to main thread. (real_folder_deleted): And tell the vfolder to remove this uri from its folder list. (setup_folder): Dont call vfolder_add_uri if noselect is set on the uri. 2001-09-27 <NotZed@Ximian.com> * mail-vfolder.c: Removed vfolder_info struct, vfolder_storage. Neither used anymore. svn path=/trunk/; revision=13242
* Don't "note" the folder if we failed to get it.Jeffrey Stedfast2001-09-211-8/+3
| | | | | | | | | 2001-09-20 Jeffrey Stedfast <fejj@ximian.com> * mail-tools.c (mail_tool_uri_to_folder): Don't "note" the folder if we failed to get it. svn path=/trunk/; revision=13030
* Lock around hashtable/list manipulation. Also dont try scan vfolder_hash02001-09-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-0/+1
| | | | | | | | | | | | | | | | | | | | | 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
* Dont special case file: url's anymore.02001-09-211-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-20 <NotZed@Ximian.com> * mail-tools.c (mail_tool_uri_to_folder): Dont special case file: url's anymore. * mail-local.c: Add real_path to MailLocalFolder. (mail_local_folder_construct): Added path argument, setup full_name == path, and real_path == full_name. (mls_get_folder): First lookup folderinfo to confirm this folder exists, then use that to properly construct the folder paths. (mail_local_folder_reconfigure): Use real_path not full_name to create the store uri. (mlf_set_folder): Use real_path not folder_name to get real uri path. 2001-09-19 <NotZed@Ximian.com> * mail-folder-cache.c (setup_store): Use the wrong spelling of finalised for the event hook. (real_note_folder): Use the wrong spelling of finalised for the event hook. (free_folder_info): Free the full_name parameter. (setup_folder): (real_note_folder): Key the folderinfo table on full_name, not path. svn path=/trunk/; revision=13014
* Truncate extremely long subjects. (inspired by bug #9158)Jon Trowbridge2001-09-201-1/+6
| | | | | | | | | | | | 2001-09-19 Jon Trowbridge <trow@ximian.com> * mail-callbacks.c (mail_generate_reply): Truncate extremely long subjects. (inspired by bug #9158) * mail-tools.c (mail_tool_generate_forward_subject): Truncate extremely long subjects. (bug #9158) svn path=/trunk/; revision=13007
* General cleanup of mail debug printfs.92001-09-191-10/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Oops, forgot about X-Evolution-Format.Jeffrey Stedfast2001-09-191-0/+4
| | | | | | | | | | 2001-09-18 Jeffrey Stedfast <fejj@ximian.com> * mail-tools.c (mail_tool_remove_xevolution_headers): Oops, forgot about X-Evolution-Format. (mail_tool_restore_xevolution_headers): Same. svn path=/trunk/; revision=12955
* Major rewrite of most of the guts, handle changes based on signals and52001-09-151-24/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* free the credits string.Larry Ewing2001-09-131-0/+1
| | | | | | | | 2001-09-13 Larry Ewing <lewing@ximian.com> * mail-tools.c (mail_tool_quote_message): free the credits string. svn path=/trunk/; revision=12795
* Fix a bunch of replying/forwarding-related formatting bugs.Dan Winship2001-09-071-136/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2749 - Message text not included in reply, but html attachment is 4294 - "forward inline" should quote the same headers as the normal mail display 6100 - Reply to a forwarded email displays email headers 7255 - Replying to HTML message 7527 - replying to forwarded message w/ attachments does the wrong thing * mail-format.c (mail_get_message_rfc822): New function to get message headers and body together, for inline forwards, or replies containing attached messages. (mail_get_message_body): Redo this to always return HTML, but keep the "want_plain" flag, to decide whether to return HTML that looks like HTML or HTML that looks like plain text. Use mail_get_message_rfc822 to handle attached message/rfc822 parts. Don't include the text of vcard or icalendar attachments. Don't fail to include text parts just because we found an HTML part. (Since we're always returning HTML now, this doesn't cause problems any more.) * mail-tools.c (mail_tool_quote_message): Simplify greatly. mail_get_message_body always returns HTML now, and we let it take care of prepending "> "s too. We then let GtkHTML deal with converting the HTML to plain text if the user wants to reply in plain text. (mail_tool_forward_message): Simplify this a ton too: parts of it are moved into mail_get_message_rfc822 and parts are now unnecessary. * mail-callbacks.c (do_forward_non_attached): Call mail_tool_forward_message here always, and let it do the "> " quoting in the "quoted" case, so that we get the headers too when forwarding quoted. Related to bug #4294. svn path=/trunk/; revision=12657
* Remove X-Evolution* headers. (mail_tool_remove_xevolution_headers): NewJeffrey Stedfast2001-08-281-0/+59
| | | | | | | | | | | | | | | | | 2001-08-27 Jeffrey Stedfast <fejj@ximian.com> * mail-tools.c (mail_tool_make_message_attachment): Remove X-Evolution* headers. (mail_tool_remove_xevolution_headers): New function to convenience removing the X-Evolution headers. (mail_tool_restore_xevolution_headers): New convenience function to restore the X-Evolution headers. (mail_tool_destroy_xevolution): New function to cleanup the structure. (mail_tool_forward_message): Remove and restore the X-Evolution headers here too. svn path=/trunk/; revision=12484
* Modify the url and set the protocol to mbox rather than hacking it andJeffrey Stedfast2001-08-211-3/+3
| | | | | | | | | | | | | | 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
* Only starting cutting the signature out when we match "-- \n", so "--\n"Jason Leach2001-08-171-1/+1
| | | | | | | | | | 2001-08-16 Jason Leach <jleach@ximian.com> * mail-tools.c (mail_tool_quote_message): Only starting cutting the signature out when we match "-- \n", so "--\n" in the middle of a mail won't omit the rest for a quoted reply. Bug #7454. svn path=/trunk/; revision=12143
* Stop building the quote after a sigdash, hence, omitting the signatureJason Leach2001-08-161-0/+2
| | | | | | | | | | 2001-08-15 Jason Leach <jleach@ximian.com> * mail-tools.c (mail_tool_quote_message): Stop building the quote after a sigdash, hence, omitting the signature from a reply/forward. Bug #5529. svn path=/trunk/; revision=12074
* When writing out a CamelException to the HTML stream, be sure to translateJeffrey Stedfast2001-07-311-31/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-07-30 Jeffrey Stedfast <fejj@ximian.com> * mail-format.c (decode_pgp): When writing out a CamelException to the HTML stream, be sure to translate it first. (handle_message_external_body): Convert to UTF8 here too - I know this function is basically a dead end right now but eventually we will want to do something. I mostly did this because param values are UTF8 encoded so we should avoid mixing and matching UTF with non UTF8. (format_mime_part): Avoid writing non-UTF8 to the HTML stream. * mail-tools.c (mail_tool_make_message_attachment): Convert translated strings to UTF8 here too. (mail_tool_forward_message): Here too. 2001-07-23 Zbigniew Chyla <cyba@gnome.pl> * mail-format.c (attachment_header, write_address, decode_pgp, mail_write_authenticity): Convert translated strings to UTF8 before calling mail_html_write. I modified the patch slightly and cleaned up bits of code around it as well. For example, we probably want to avoid having HTML tags in the strings to be translated. -- fejj svn path=/trunk/; revision=11490
* Restore old security settings from the saved configuration. Fixes bugJeffrey Stedfast2001-07-311-6/+6
| | | | | | | | | 2001-07-30 Jeffrey Stedfast <fejj@ximian.com> * mail-account-gui.c (mail_account_gui_new): Restore old security settings from the saved configuration. Fixes bug #5710. svn path=/trunk/; revision=11479
* Now takes a check_supported gboolean argument saying whether or not toJeffrey Stedfast2001-07-261-1/+2
| | | | | | | | | | | | | | | | 2001-07-25 Jeffrey Stedfast <fejj@ximian.com> * mail-account-gui.c (build_auth_menu): Now takes a check_supported gboolean argument saying whether or not to disable non-supported authtypes. (source_type_changed): Update for build_auth_menu. (transport_type_changed): Same. (service_check_supported): Pass in TRUE for the disable non-supported authtypes to build_auth_menu and also disable check-supported button and the authtype menu if we get a NULL supported auth list. svn path=/trunk/; revision=11404
* Do a case-insensitive comparison. (mail_generate_reply): Only resort toJeffrey Stedfast2001-07-251-0/+16
| | | | | | | | | | | | | | | | | | | | 2001-07-24 Jeffrey Stedfast <fejj@ximian.com> * mail-callbacks.c (guess_me): Do a case-insensitive comparison. (mail_generate_reply): Only resort to the source account's identity if we can't find out which identity to use based on the recipients of the message first. * mail-config.c (mail_config_get_default_account): Make sure to return the 0th account if we don't have a default. We don't want to return NULL. * mail-callbacks.c (empty_trash): Use mail_tool_get_trash for the remote store trash folders. * mail-tools.c (mail_tool_get_trash): New convenience function. svn path=/trunk/; revision=11353
* Do what was suggested in #4596.Jeffrey Stedfast2001-07-191-20/+15
| | | | | | | | | 2001-07-18 Jeffrey Stedfast <fejj@ximian.com> * mail-tools.c (mail_tool_generate_forward_subject): Do what was suggested in #4596. svn path=/trunk/; revision=11210
* Use CAMEL_VTRASH_NAME.Jeffrey Stedfast2001-07-181-9/+9
| | | | | | | | | | | | | | | | 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
* Don't free the psd here -- it will be freed on the "destroy" signal.Peter Williams2001-07-071-3/+3
| | | | | | | | | | | | | | | 2001-07-06 Peter Williams <peterw@ximian.com> * mail-callbacks.c (composer_postpone_cb): Don't free the psd here -- it will be freed on the "destroy" signal. * mail-folder-cache.c (maybe_update): Instead of an idle, use a very short timeout in hopes of reducing the number of redundant updates. * mail-tools.c (mail_tool_uri_to_folder): Only note the folder in the cache if we successfully got it. svn path=/trunk/; revision=10852
* New file. Protoypes for the Mail Folder Cache, which provides a place forPeter Williams2001-07-031-103/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* oops. didn't save before comitttingDan Winship2001-07-021-1/+0
| | | | svn path=/trunk/; revision=10662
* Ref the folder before proxying the event, in case there's only oneDan Winship2001-07-021-3/+9
| | | | | | | | | | | | | | | | * mail-tools.c (update_unread_count): Ref the folder before proxying the event, in case there's only one reference to it and it gets unreffed before the other end of the event handler runs. (update_unread_count_main): And unref it when we're done. (mail_tool_uri_to_folder): Only hold the lock around the hash table operations, not the entire function. Holding the lock the whole time can cause deadlock when resolving vfolders, and the CamelSession and CamelStore locks ensure that multiple threads calling this function will end up with the same CamelFolder object at the end anyway, so we just need to lock and re-check the cache at the end before adding the folder to the cache. svn path=/trunk/; revision=10661
* After finding a folder, attach to its "folder_changed" andDan Winship2001-06-291-7/+109
| | | | | | | | | | | | | | | * mail-tools.c (mail_tool_uri_to_folder): After finding a folder, attach to its "folder_changed" and "message_changed" signals. (update_unread_count, update_unread_count_main): Moved here from folder-browser but basically unchanged. Doing this here lets us get folder tree updates for folders that have had messages moved/copied/filtered into them, but which don't yet have a view associated with them. * folder-browser.c (update_unread_count, update_unread_count_main, etc): Moved to mail-tools.c svn path=/trunk/; revision=10567
* 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
* Properly clean up the movemail files when no mail was received.Jon Trowbridge2001-06-191-0/+2
| | | | | | | | | 2001-06-19 Jon Trowbridge <trow@ximian.com> * mail-tools.c (mail_tool_do_movemail): Properly clean up the movemail files when no mail was received. svn path=/trunk/; revision=10290
* If we have a fragment in the url, use that as the folder name, and not theNot Zed2001-06-181-4/+10
| | | | | | | | | | | | | | 2001-06-14 Not Zed <NotZed@Ximian.com> * mail-tools.c (mail_tool_uri_to_folder): If we have a fragment in the url, use that as the folder name, and not the path component. 2001-06-13 Not Zed <NotZed@Ximian.com> * component-factory.c (mail_load_storages): Added temp hack to let spool providers show up in the list. svn path=/trunk/; revision=10263
* If you had multiple accounts that used mboxes, and if you received mail inJon Trowbridge2001-06-091-1/+12
| | | | | | | | | | | | | | 2001-06-08 Jon Trowbridge <trow@ximian.com> * mail-tools.c (mail_tool_get_local_movemail_path): If you had multiple accounts that used mboxes, and if you received mail in N of those accounts, you would get N copies of each of your e-mail messages. This is because everything was being dumped into one big file by movemail, and the filters would run on that file N times. To work around this, each mbox account now gets its own distinct temporary movemail file. svn path=/trunk/; revision=10155
* Set a title on the window "Reconfigure %s" where %s is the folder name.Jeffrey Stedfast2001-05-121-12/+16
| | | | | | | | | | | | | 2001-05-11 Jeffrey Stedfast <fejj@ximian.com> * mail-local.c (mail_local_reconfigure_folder): Set a title on the window "Reconfigure %s" where %s is the folder name. Also, don't allow more than one of these type windows to be opened per folder. * mail-tools.c (mail_tool_get_folder_name): Fix Danw's kludge to actually work :-) svn path=/trunk/; revision=9767
* Convert the Subject header to HTML and also make sure that the Subject,Jeffrey Stedfast2001-05-091-8/+17
| | | | | | | | | | | 2001-05-08 Jeffrey Stedfast <fejj@ximian.com> * mail-tools.c (mail_tool_forward_message): Convert the Subject header to HTML and also make sure that the Subject, To, and From header values are non-NULL before feeding them into e_text_to_html(). svn path=/trunk/; revision=9718
* signature changingRadek Doulik2001-04-251-19/+20
| | | | | | | | | | | | | | * signature changing 2001-04-25 Radek Doulik <rodo@ximian.com> * mail-tools.c (mail_tool_quote_message): set object data directly in HTML source * mail-callbacks.c (mail_generate_reply): remove \n from citation (mail_generate_reply): don't use e_msg_composer_mark_text_orig svn path=/trunk/; revision=9558
* Cleaned up #includes. Remove unneccesary includes of <gnome.h>,Kjartan Maraas2001-03-301-0/+3
| | | | | | | | | | | 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
* set color in html citationRadek Doulik2001-03-211-10/+10
| | | | | | | | | | | | | | | | 2001-03-20 Radek Doulik <rodo@ximian.com> * mail-tools.c (mail_tool_quote_message): set color in html citation * mail-config.c: added citation highlighting configuration * mail-tools.c (mail_tool_quote_message): use citation highlighting * mail-display.c (mail_text_write): use citation highlighting svn path=/trunk/; revision=8848
* Set the Forward->Quoted callback. Also set the forward->AttachmentJeffrey Stedfast2001-03-091-6/+63
| | | | | | | | | | | | | | | | | | | | | 2001-03-08 Jeffrey Stedfast <fejj@ximian.com> * folder-browser-factory.c: Set the Forward->Quoted callback. Also set the forward->Attachment callback. * mail-view.c (view_forward_msg): Specify FORWARD_ATTACHED. * mail-callbacks.c (forward_attached): Don't call forward_messages() anymore...never really needed to. Just handle it directly. (forward_inlined): Specify FORWARD_INLINE as the flag argument. (forward_quoted): New function sorta like forward_inlined except this forwards the message quoted. * mail-tools.c (mail_tool_forward_message): New function to prepare a message to be forwarded. svn path=/trunk/; revision=8611
* Remove very old camel lock stuff.Not Zed2001-03-031-8/+0
| | | | | | | | | | | | | | | | | | | | | 2001-03-03 Not Zed <NotZed@Ximian.com> * mail-tools.c: Remove very old camel lock stuff. * mail-local.c (register_folder_registered): Add the local folder as a potential vfolder source. * folder-browser.c (got_folder): When we have a new folder, register it as a potential vfolder source. * mail-vfolder.c: Added the source rule to the vfolder_info. (vfolder_refresh): Store the rule in the vfolder info, etc. (vfolder_register_source): Function to register a newly opened folder with us. (vfolder_uri_to_folder): Save the folder in the vfolder_info too. (source_finalise): Handle clenaup when the folder dies. svn path=/trunk/; revision=8534
* Toss the mail_tool_camel_lock* stuff. Same. Here too.Jeffrey Stedfast2001-02-251-92/+2
| | | | | | | | | | | | | | | | 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 do a vtrash_cleanup() (it also doesn't exist anymore).Jeffrey Stedfast2001-02-241-13/+12
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* Fixed memory corruption bug.Jeffrey Stedfast2001-02-231-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-02-22 Jeffrey Stedfast <fejj@ximian.com> * openpgp-utils.c (openpgp_verify): Fixed memory corruption bug. * mail-format.c (try_inline_pgp_sig): Check to make sure the validity isn't NULL. (handle_multipart_signed): Check for NULL validities. 2001-02-21 Jeffrey Stedfast <fejj@ximian.com> * mail-tools.c (mail_tool_uri_to_folder): Protect against NULL uri's. * mail-vtrash.c: Do mutex locking on the global hash table - this should clear up some segfaults ;-) * mail-config-druid.c (druid_finish): Set the 'enabled' member of the source to TRUE if the URL exists else set to FALSE. (incoming_type_changed): If the provider chosen is "None" then gray-out the auto-check widgets and the check-settings, otherwise sensitize them. * mail-account-editor.c (construct): Added a few more settings. (apply_changes): Save the new settings. * mail-config.c (service_copy): Updated. (config_read): Read in whether or not the account is enabled. (mail_config_write): Save if the account is enabled or not. svn path=/trunk/; revision=8349
* Removed, no longer link with libcamelvee. (evolution_mail_LDADD): Ditto.Not Zed2001-02-221-1/+1
| | | | | | | | | | | | | | 2001-02-22 Not Zed <NotZed@Ximian.com> * Makefile.am (CAMEL_OBJS_EXTRA): Removed, no longer link with libcamelvee. (evolution_mail_LDADD): Ditto. * mail-vtrash.c: Moved camel-vee-store header ot camel levle. * mail-tools.c: Moved camel-vee-folder header to camel. svn path=/trunk/; revision=8341
* New handy dandy function to ref and return the vfolder storage (willJeffrey Stedfast2001-02-201-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Updates for CamelStore changes, small memory leak fixes. (lookup_folder):Dan Winship2001-02-101-39/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * mail-local.c: Updates for CamelStore changes, small memory leak fixes. (lookup_folder): Removed (and moved into the reconfigure code) since this method no longer exists in CamelStore. (do_reconfigure_folder, etc): Update the info in the MailLocalStore after reconfiguring. (mail_local_lookup_folder): Removed * local-config.glade: fix padding of the label_format * message-list.c (ml_tree_value_at): Don't keep message infos reffed across calls, since this can cause badness after a reconfigure. Instead, just strdup the needed values and free those on the next call. * mail-tools.c (mail_tool_get_root_of_store): Unused, remove. (mail_tool_get_inbox): use camel_store_get_inbox. * evolution-outlook-importer.c (load_file_fn): * evolution-mbox-importer.c (load_file_fn): Use mail_tool_get_local_inbox() instead of mail_importer_get_folder() * mail-importer.c (mail_importer_get_folder): Removed svn path=/trunk/; revision=8147
* s/filter-driver.h/camel-filter-driver.h/ and update first arg ofDan Winship2001-01-231-2/+1
| | | | | | | | | | | | | | | | | | | | | | * 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-153/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Brand spankin' new config druid, editor, and manager.Jeffrey Stedfast2001-01-091-1/+1
| | | | | | | | | | | | | | | | | | | | | 2001-01-08 Jeffrey Stedfast <fejj@helixcode.com> * Makefile.am: * component-factory.c: * folder-browser-factory.c: * folder-browser.c: * mail-accounts.[c,h]: * mail-account-editor.[c,h]: * mail-callbacks.c: * mail-config.[c,h]: * mail-config-druid.[c,h]: * mail-config-druid.glade: * mail-display.c: * mail-format.c: * mail-tools.c: Brand spankin' new config druid, editor, and manager. svn path=/trunk/; revision=7313
* Reverted mail-config changes temporarily until I get it working correctly.Jeffrey Stedfast2001-01-091-1/+1
| | | | | | | | | | | | | | | | | 2001-01-08 Jeffrey Stedfast <fejj@helixcode.com> * Makefile.am: * component-factory.c: * folder-browser-factory.c: * folder-browser.c: * mail-callbacks.c: * mail-config.[c,h]: * mail-display.c: * mail-format.c: * mail-tools.c: Reverted mail-config changes temporarily until I get it working correctly. svn path=/trunk/; revision=7305
* Updated to reflect changes to the mail-config API.Jeffrey Stedfast2001-01-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-07 Jeffrey Stedfast <fejj@helixcode.com> * mail-tools.c (mail_tool_quote_message): Updated to reflect changes to the mail-config API. * mail-display.c (redisplay): Updated to reflect changes to the mail-config API. * mail-callbacks.c (providers_config): Use the new account dialog. * mail-config-druid.c (druid_finish): Load the new storage into the shell. (mail_config_druid_new): Take a shell argument. * mail-format.c (mail_generate_reply): Updated to reflect changes to the mail-config API. * mail-config-druid.c: Fixed this to build. * mail-callbacks.c (check_send_configuration): Updated to reflect changes to the mail-config API. (create_msg_composer): Same. (forward_get_composer): Same. (send_queued_mail): Same. (composer_send_cb): Same. * mail-account-editor.c: Updated to build cleanly. * mail-config-druid.c: Same. * mail-accounts.c: Same. * folder-browser-factory.c (control_activate): Updated for API changes in mail-config. * folder-browser.c (done_message_selected): Updated for API changed in mail-config. (folder_browser_gui_init): Same. (got_folder): Same. * component-factory.c (owner_set_cb): After using the sources list, free it as it is no longer a const GSList as with the older mail-config code. * mail-config.c: Totally rewritten. svn path=/trunk/; revision=7298
* Call mail-callbacks.c:forward_messages(), so the behaviour is the same asNot Zed2001-01-031-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Merge from camel-mt-branch.Not Zed2000-12-241-2/+5
| | | | | | | | 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/+14
| | | | | | | | | | | 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
* Remove an unused variable.Dan Winship2000-12-121-1/+0
| | | | | | | * mail-tools.c (mail_tool_quote_message): Remove an unused variable. svn path=/trunk/; revision=6907
* Fix the allocation here (again) and put a comment explaining it. (Fixes aDan Winship2000-11-301-1/+8
| | | | | | | | * mail-tools.c (mail_tool_quote_message): Fix the allocation here (again) and put a comment explaining it. (Fixes a crash when replying.) svn path=/trunk/; revision=6717
* Use the new quote_message function and make it start with "On %s, %sJeffrey Stedfast2000-11-181-1/+94
| | | | | | | | | | | | | | | | | 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
* God, I sure wish people would listen when i'm saying i'm changing and API.Not Zed2000-11-071-9/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-11-07 Not Zed <NotZed@HelixCode.com> * mail-display.c (on_object_requested): God, I sure wish people would listen when i'm saying i'm changing and API. I mean I even mailed everyone and everything. Can't see any changelog either. 2000-11-06 Not Zed <NotZed@HelixCode.com> * mail-autofilter.c (rule_from_message): Updates for api changes. * mail-tools.c (mail_tool_generate_forward_subject): Fixed for api changes. Sigh, whoever wrote the multithread code of the mailer, had little idea. You can't just lock for getting a const value, until you are finished with it, cause the owner still owns it. Fixed this too. Yuck, what a horrid forwarding format, can we change this, or make it configurable? The mail headers show who forwarded it, we dont need to duplicate it in that UGLY subject. * mail-format.c (write_field_to_stream): Removed some jeffness. dont g_strdup stuff we dont need to, and remove the value_is_encoded thing since we can get the unencoded address now. (write_address): New function to write an address field. (write_headers): Uses write_address to write addresses, cleaner, fixed the god-awful unreadable indenting too. (handle_text_plain): Use a 'smarter' printf format, so we dont need to allocate and copy substrings unecessarily (esp since they're about to be allocated any copied another few times anyway *sigh*). (write_field_to_stream): Commented out the isprint check, which afaik serves no purpose. (list_add_addresses): New function to build a list of display-ready addresses. Although I think the composer then uses these as internet-ready addresses. It should probably take a list of CamelAddress's if thats what it wants. (mail_generate_reply): Cleaned up the address list creation stuff a heap, and fixes for camel api changes. Also fixed a small memory leak as a side effect (fulladdr wasn't freed if it was the same as the sender). * mail-display.c (on_object_requested): Changed for interface changes to the from address. I think passing the encoded (internet version) of the address is right here. svn path=/trunk/; revision=6475
* First draft of folder tree unread message indication for /localDan Winship2000-11-071-42/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | mail folders. * mail-local.c: Add a new CamelStore subclass, MailLocalStore, which attaches to an Evolution_LocalStorage on one side and CamelSession on the other, and keeps track of local folders. Some of this code was previously in mail-local-storage.c, which no longer exists. (local_reconfigure_folder, etc): Various mail_op-related cleanups, and wrap d() around a bunch of printfs. * mail-tools.c (mail_tool_get_local_inbox_url, mail_tool_get_local_movemail_url): Removed (mail_tool_get_local_inbox): Simplified. (mail_tool_do_movemail): Remove unused dest_url variable. (mail_tool_uri_to_folder): Simplify. Now down to two cases (vfolder, and everything else). * component-factory.c (owner_set_cb): Pass evolution_dir to mail_local_storage_startup. * Makefile.am (evolution_mail_SOURCES): Remove mail-local-storage.[ch] svn path=/trunk/; revision=6456
* Simplify this a lot by making IMAP and NNTP use the same code, now thatDan Winship2000-10-301-46/+5
| | | | | | | | * mail-tools.c (mail_tool_uri_to_folder): Simplify this a lot by making IMAP and NNTP use the same code, now that the IMAP namespace doesn't need special magic handling. svn path=/trunk/; revision=6257
* lots of i18n fixesDan Winship2000-10-241-5/+7
| | | | svn path=/trunk/; revision=6143
* kill. (create_ondemand_hooks): die. (control_activate): remove hook.Michael Meeks2000-10-191-1/+0
| | | | | | | | | | | | 2000-10-18 Michael Meeks <michael@helixcode.com> * folder-browser-factory.c (register_ondemand): kill. (create_ondemand_hooks): die. (control_activate): remove hook. * test-mail.c (create_container): kill old UI handler. svn path=/trunk/; revision=6020
* No, we REALLY dont want to perform an immediate search as the keys areNot Zed2000-10-181-9/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Duh, fix the test for the folder name, strstr != strcmp is it.Not Zed2000-10-121-7/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* remove news specific check. (mail_tool_uri_to_folder): news: -> nntp:Chris Toshok2000-10-051-9/+2
| | | | | | | | | | 2000-10-04 Chris Toshok <toshok@helixcode.com> * mail-tools.c (mail_tool_get_root_of_store): remove news specific check. (mail_tool_uri_to_folder): news: -> nntp: svn path=/trunk/; revision=5718
* destroy our tree_model and remove the root node. also, release_unref ourChris Toshok2000-10-031-4/+15
| | | | | | | | | | | | | 2000-10-02 Chris Toshok <toshok@helixcode.com> * subscribe-dialog.c (subscribe_dialog_destroy): destroy our tree_model and remove the root node. also, release_unref our control and view, and unref the listener. * mail-tools.c (mail_tool_uri_to_folder): news url's contain host names too, now. svn path=/trunk/; revision=5690
* New async function to filter messages on demand. (do_fetch_mail): UpdatedJeffrey Stedfast2000-09-071-95/+2
| | | | | | | | | | | | | | | | | | | | 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
* only call camel_folder_get_message_info if the folder hasDan Winship2000-09-061-52/+43
| | | | | | | | | * mail-tools.c (mail_tool_move_folder_contents): only call camel_folder_get_message_info if the folder has summary_capability. Don't hack up a fake CamelMessageInfo: append_message will take NULL. svn path=/trunk/; revision=5201
* Change the "Get Mail" toolbar button to become "Send & Receieve"Jeffrey Stedfast2000-09-031-4/+3
| | | | | | | | | | | | | | | | | | | | 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
* Since POP3 doesn't implement get_message_info, we need to check for infoJeffrey Stedfast2000-09-031-40/+52
| | | | | | | | | | | | | 2000-09-02 Jeffrey Stedfast <fejj@helixcode.com> * mail-tools.c (mail_tool_move_folder_contents): Since POP3 doesn't implement get_message_info, we need to check for info to be NULL. In this case, we need to make our own info structure to pass to append_message and then remember to free it afterward. Should we even bother with get_message_info? And if so, should we then implement get_message_info for POP3? svn path=/trunk/; revision=5182
* Add more user-friendly progress messages from the friendly folks at Helix ↵Peter Williams2000-08-281-1/+1
| | | | | | Code (TM) svn path=/trunk/; revision=5076
* Display the number of messages downloaded starting from one instead ofEttore Perazzoli2000-08-281-1/+1
| | | | | | | | | | | | zero. Improve the behavior of the mail view in a separate window by reusing the same size as the last resize (we could have a better policy, but this should be enough for now). Also, create the toolbar the right way so that we respect the global GNOME settings without doing it manually. svn path=/trunk/; revision=5075
* 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-0/+11
| | | | | | 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-4/+1
| | | | | | the recursive-store-loading. Load stores when they're added to the config page. svn path=/trunk/; revision=5005
* Automatically connect services when given a valid URL (should hopefully ↵Peter Williams2000-08-231-36/+28
| | | | | | disconnect, too); remove the old movemail folder correctly. svn path=/trunk/; revision=4965
* Filtering on demand! booyeah!Peter Williams2000-08-181-4/+6
| | | | svn path=/trunk/; revision=4864
* Close the pipes when finished; add i18nPeter Williams2000-08-161-13/+13
| | | | svn path=/trunk/; revision=4846
* Updated to reflect changes to mail_do_scan_subfoldersJeffrey Stedfast2000-08-131-10/+11
| | | | | | | | | | | | | 2000-08-13 Jeffrey Stedfast <fejj@helixcode.com> * component-factory.c (create_news_storage): Updated to reflect changes to mail_do_scan_subfolders (create_imap_storage): Same. * mail-ops.c (mail_do_scan_subfolders): No longer takes an add_INBOX argument svn path=/trunk/; revision=4795
* Don't ref the store returned from camel_session_get_store. It's alreadyDan Winship2000-08-131-14/+2
| | | | | | | | | | * mail-tools.c (mail_tool_get_folder_from_urlname): Don't ref the store returned from camel_session_get_store. It's already reffed. (mail_tool_get_root_of_store): Ditto. (mail_tool_send_via_transport): Remove some commented-out code and fix it to not leave the transport connected if sending fails. svn path=/trunk/; revision=4783
* Put the dont-try-to-get-mail-from-imap-sources check into a better spotPeter Williams2000-08-121-5/+0
| | | | svn path=/trunk/; revision=4750
* Add a function to return a useful name for a folder (not just "mbox" orDan Winship2000-08-111-0/+19
| | | | | | | | | | | * mail-tools.c (mail_tool_get_folder_name): Add a function to return a useful name for a folder (not just "mbox" or "mh" for any local folder.) * mail-ops.c: Use mail_tool_get_folder_name rather than folder->full_name when printing folder names. svn path=/trunk/; revision=4733
* Properly handle different local file formats. The folder isn't alwaysNot Zed2000-08-111-2/+13
| | | | | | | | | | | | | | | | 2000-08-11 Not Zed <NotZed@HelixCode.com> * mail-tools.c (mail_tool_get_local_inbox_url): Properly handle different local file formats. The folder isn't always mbox. (mail_tool_do_movemail): Movemail always uses an mbox format however. (mail_tool_get_local_movemail_url): What is the mbox url, it is always the same type, mbox. (mail_tool_fetch_mail_into_searchable): Same here. * mail-local.c (mail_local_map_uri): Map a local uri to the real uri. svn path=/trunk/; revision=4724
* Don't call e_setup_base_dir. It was wrong and it doesn't exist any more.Dan Winship2000-08-111-1/+0
| | | | | | | | | | | | | | | | | | | * session.c (session_init): Don't call e_setup_base_dir. It was wrong and it doesn't exist any more. * component-factory.c (owner_set_cb): Update for changed prototype, and record the evolution_homedir. Move call to mail_config_init here from session.c so it happens after evolution_dir is initialized. * mail.h: define "extern char *evolution_dir;" (formerly in e-util/e-setup.h) * component-factory.c, mail-callbacks.c, mail-config-gui.c, mail-config.c, mail-display.c, mail-format.c, mail-ops.c, mail-tools.c, session.c: Remove "e-util/e-setup.h" include. svn path=/trunk/; revision=4712
* Add a "gboolean create" argument to pass to camel_store_get_folder.Dan Winship2000-08-111-6/+7
| | | | | | | | | | | | * mail-tools.c (mail_tool_get_folder_from_urlname): Add a "gboolean create" argument to pass to camel_store_get_folder. * mail-ops.c (do_create_folder, do_setup_draftbox): * mail-local.c (mail_tool_local_uri_to_folder): * mail-vfolder.c (vfolder_uri_to_folder): Add create flag to mail_tool_get_folder_from_urlname calls. svn path=/trunk/; revision=4702
* Show 'no new mail' correctly.Peter Williams2000-08-111-0/+12
| | | | svn path=/trunk/; revision=4699
* Fix the infinite movemailPeter Williams2000-08-111-1/+29
| | | | svn path=/trunk/; revision=4696
* oopsPeter Williams2000-08-111-0/+620
svn path=/trunk/; revision=4688