2003-12-09 Not Zed ** See bug #51899. * em-folder-tree-model.c (em_folder_tree_model_set_folder_info): CAMEL_FOLDER_CHILDREN is only advisory, some servers don't give it to you. 2003-12-06 JP Rosevear * Makefile.am: Remove hard coded disable deprecated flags 2003-12-05 Rodney Dawes * em-folder-tree.c (render_display_name): Remove the extra || unread check in the conditional in the g_object_set () call 2003-12-05 Rodney Dawes Fixes bug #51482 * em-folder-tree.c (render_display_name): Don't hardcode colors for the folder tree, instead use bold for unread, as in 1.4 2003-12-05 Radek Doulik * em-html-stream.c (emhs_sync_flush): use new gtk_html_flush method instead of forcing processing of all gtk events 2003-12-04 Jeffrey Stedfast * em-folder-tree-model.c (em_folder_tree_model_remove_folders): Make sure folder_path is non-NULL ("Loading..." nodes will have a NULL path). Fixes bug #51731. 2003-12-04 Jeffrey Stedfast * mail-ops.c (empty_trash_empty): Get the proper local folders store uri (it's not file:/ anymore). Fixes bug #51618. 2003-12-04 Jeffrey Stedfast Fixes bug #51605. * em-folder-selector.c (emfs_response): Handle creating a new folder (pop up a create-folder-selector dialog). * em-folder-tree.c (emft_popup_new_folder_response): Moved all the logic into em_folder_tree_create_folder(). (em_folder_tree_create_folder): New function to create a folder. 2003-12-04 Radek Doulik * em-junk-filter.c (pipe_to_sa): add new err_retval parameter, which specifies which value to return if something went wrong (like failed to exec, ...). update all calls by that. actual junk check has err_retval = 0 to avoid marking false spam - non-zero retval means junk. * em-folder-view.c: set junk toolbar buttons pixmaps * mail-session.c: monitor gconf key /apps/evolution/mail/junk/check_incoming and keep session junk flag uptodate * em-mailer-prefs.c (em_mailer_prefs_construct): added junk preferences 2003-12-03 Jeffrey Stedfast * mail-config.c (uri_to_evname): Updated to add use mail subdirs. (mail_config_uri_renamed): Updated cachenames[] (mail_config_folder_to_cachename): Fixed to use the correct path. * em-folder-browser.c (emfb_create_view_menus): Updated the galview path to point to the evo-1.5 location. (emfb_set_folder): Update the galview view_instance. (emfb_create_view_instance): Split out from emfb_create_view_menus() (emfb_create_view_menus): Reduced code, call emfb_create_view_instance(). * em-folder-selector.c (emfs_create_name_activate): Emit the OK response, not the CREATE_NEW response. Also, g_signal_emit_by_name() does not take a GQuark detail argument, so don't pass one. Fixes bug #51661. 2003-12-03 Jeffrey Stedfast * em-folder-view.c (emfv_set_folder): Sync the folder before replacing it with the new folder. * em-folder-tree.c (em_folder_tree_set_selected): Need to prepend a "/" to path if the path is the url fragment. Also fixed to select the store node if path == "/". (emft_popup_rename_folder): Set oldpath and newpath to the proper values. Fixes bug #51656. * em-folder-selector.c (em_folder_selector_get_selected_uri): Fixed a FIXME by using the CamelProvider url flags to determine if the url used url->fragment or url->path as the folder path. (em_folder_selector_get_selected_path): Don't allow path strings to start with "//". 2003-12-03 JP Rosevear * em-folder-tree.c (em_folder_tree_destroy): remove the source before saving 2003-12-03 Jeffrey Stedfast * em-folder-tree.c (em_folder_tree_save_state): Set the save_state_id to 0 or we will never get a chance to run again. 2003-12-03 Ettore Perazzoli * mail-vfolder.c: Do not #include "evolution-shell-component.h". * Makefile.am (libevolution_mail_la_SOURCES): Don't compile mail-importer.[ch] for now. * mail-component-factory.c: Do not #include . * mail-config.c: Likewise. * mail-vfolder.h: Do not #include or . * mail.h: Do not #include . * mail-ops.h: Do not #include . (mail_scan_subfolders): Remove prototype. (mail_update_subfolders): Likewise. 2003-12-03 JP Rosevear * em-folder-tree.c (em_folder_tree_destroy): save the state immediately if there is a timeout set (em_folder_tree_save_state): be true GSourceFunc and just return FALSE to remove the source 2003-12-03 Not Zed * mail-autofilter.c (rule_match_thread): changed to setup the rule part properly, it could never have worked. Bug #51601. * em-popup.c (emp_uri_popup_address_add): implement. * em-folder-view.c (emfv_popup_add_sender): implement. (emfv_add_sender_addressbook): hook up to above func. * em-utils.c (em_utils_add_address): implementation to add an email address to the addressbook. (emu_add_address_cb): callback required for funny api. Bug #51321. 2003-12-02 Jeffrey Stedfast * em-folder-tree-model.c (drop_uid_list): Moved here. (drop_folder): Moved here. (import_message_rfc822): Moved here. (drop_message_rfc822): Moved here. (drop_text_uri_list): Moved here. (model_drag_data_received): Moved the logic from em-folder-tree.c into here. (model_row_drop_possible): Same. (model_row_draggable): Same. (drag_text_uri_list): Moved here. (model_drag_data_get): Moved logic here. (model_drag_data_delete): Moved logic here. * em-folder-tree.c (drag_data_get_cb): Pass the full_name to camel_store_get_folder() rather than the path. (drag_data_received_cb): Same. (drop_uid_list): Removed. (drop_folder): Removed. (import_message_rfc822): Removed. (drop_message_rfc822): Removed. (drop_text_uri_list): Removed. (drag_data_received_cb): Removed. (row_drop_possible_cb): Removed. (row_draggable_cb): Removed. (drag_text_uri_list): Removed. (drag_data_get_cb): Removed. (drag_data_delete_cb): Removed. (em_folder_tree_enable_drag_and_drop): Don't connect to any of the drag & drop signals, they don't exist anymore. * mail-component.c (impl_createControls): Enable drag-and-drop. * em-folder-tree.c (em_folder_tree_new_with_model): Connect to the loading row signal. (loading_row_cb): Expand the path if needed. (em_folder_tree_destroy): Disconnect from the loading-row signal. (em_folder_tree_enable_drag_and_drop): New function to enable drag-and-drop. (em_folder_tree_new): Remove drag-and-drop setup code. * em-folder-tree-model.c (em_folder_tree_model_class_init): Define the loading-row signal. (em_folder_tree_model_set_folder_info): emit the loading-row signal. 2003-12-02 Jeffrey Stedfast * em-folder-tree.c (em_folder_tree_new): Fixed to pass the evolution dir into em_folder_tree_model_new(). (model_save_state): Removed. (em_folder_tree_save_state): Moved all the saving logic into em_folder_tree_model_save_expanded(). * em-folder-tree-model.c (em_folder_tree_model_new): Load the expanded state off disk. (em_folder_tree_model_save_expanded): New function to save expanded state. (em_folder_tree_model_get_expanded): new function to get if a node should be expanded. (em_folder_tree_model_set_expanded): new function to set the expanded state of a node. * mail-component.c (mail_component_init): Pass the evo dir to em_folder_tree_model_new() which now requires it. 2003-12-02 Rodney Dawes * Makefile.am: Version the schemas * evolution-mail.schemas: Removed * evolution-mail.schemas.in.in: Added 2003-12-02 Not Zed * mail-config-druid.c (mail_config_druid_new): moved the gtk_widget_show_all to before we add the pages, otherwise it can override per-page logic. Bug #50790. * message-list.c (message_list_create_extras): setup another image (followup completed) to flag status list. (states_pixmaps[]): added flag_for_followup_done. (ml_tree_value_at): return 0,1 or 2 for completed icon. also use the real ints, these shouldn't have been true/false. Bug #43514. * evolution-mail.schemas: Added empty_trash prompt key. * em-utils.c (em_utils_prompt_user): changed to take the gconf 'prompt again' key directly. Fixed callers. (em_utils_expunge_folder): prompt the user with an expunge specific message. (em_utils_empty_trash): have an empty-trash specific message for prompting confirm. (emu_confirm_expunge): removed, no longer needed. Bug #38613. (em_utils_expunge_folder): remove most line feeds, let the label wrap them. (em_utils_empty_trash): ditto. * em-subscribe-editor.c (sub_folder_subscribed): update the ui selection state after we're done. maybe we should listen on the model but this is easier. Bug #50861. * em-message-browser.c (emmb_activate): hook up our own verb list. (emmb_message_verbs[], emmb_close): implement the close verb. Bug #51558. * em-format-html-display.c (efhd_attachment_popup): duh, actually add the menu list we create. Bug #49902. * em-format.c (d): turn off debug, committed by accident. 2003-12-01 Ettore Perazzoli * mail-mt.c (do_op_status): Use data->activity_id, not local activity_id. 2003-12-01 Ettore Perazzoli * mail-mt.c (struct _mail_msg_priv): Remove member "activity". (mail_operation_status): Un-#if 0 the code. * mail-component.c (struct _MailComponentPrivate): New member activity_handler. (mail_component_init): Initialize. (impl_dispose): Unref. (mail_component_peek_activity_handler): New. (impl_createControls): Create an ETaskBar, attach it to the ActivityHandler, and return it to the caller as the statusbar control. 2003-12-01 Ettore Perazzoli * mail-component.c (impl_createControls): Pass a label for the status bar control for now. 2003-12-01 Jeffrey Stedfast * mail-config.c (mail_config_signature_run_script): Use fcntl() to set FD_CLOEXEC on each fd rather than close()ing it. Apparently Linux's older pthread implementations use sockets and so this fouls threading up. GO LINUX! GO! 2003-12-01 Rodney Dawes * GNOME_Evlution_Mail.server.in.in: * em-account-prefs.c: * em-composer-prefs.c: * em-mailer-prefs.h: * mail-component-factory.c: * mail-config-factory.c: * mail-font-prefs.h: * importers/*.server.in.in: * importers/elm-importer.c: * importers/evolution-mbox-importer.c: * importers/evolution-outlook-importer.c: * importers/netscape-importer.c: * importers/pine-importer.c: Use BASE_VERSION for repo_ids and OAFIIDs 2003-12-01 Jeffrey Stedfast * em-folder-tree.c (em_folder_tree_get_folder_info__got): Updated to call em_folder_tree_model_set_folder_info(). (folder_subscribed_cb): Removed. (folder_unsubscribed_cb): Removed. (folder_created_cb): Removed. (folder_deleted_cb): Removed. (folder_renamed_cb): Removed. * em-folder-tree-model.c (em_folder_tree_store_set_folder_info): New function to replace tree_store_set_folder_info() which had been in em-folder-tree.c (em_folder_tree_model_remove_uri): Made private. (em_folder_tree_model_remove_store_info): Made private. (em_folder_tree_model_remove_folders): New function to replace remove_folders() from em-folder-tree.c (em_folder_tree_model_new): No longer takes any args. * em-folder-tree.c (em_folder_tree_new): Updated. * mail-component.c (add_store): Add the store to the model rather than the treeview. (impl_createControls): create a new treeview based on the already-instantiated model. (mail_component_init): Create a new tree model. (mail_component_remove_store): Remove the store from the model directly. (mail_component_get_tree_model): Updated. * em-folder-tree.c (folder_unsubscribed_cb): Call em_folder_tree_model_remove_folders() rather than the deprecated internal remove_folders() function. (folder_renamed_cb): Same. (em_folder_tree_remove_store): Removed. (em_folder_tree_add_store): Removed. (remove_folders): Removed. 2003-12-01 Jeffrey Stedfast * em-composer-utils.c (composer_get_message): rfc2047 encode the Organization header value. * em-folder-tree.c (em_folder_tree_get_folder_info__got): Make sure our parent folder hasn't been unsubscribed or else we get a segfault here if it has. 03-11-28 Dave Camp * em-folder-tree.c (render_pixbuf): Set the pixbuf renderer invisible for stores. 2003-11-25 Jeffrey Stedfast * mail-config.c (mail_config_get_account_by_uid): New function. * em-folder-tree.c (tree_store_set_folder_info): Expand the tree node if the saved state tells us it was expanded the previous session. (em_folder_tree_load_state): Load the saved state. (em_folder_tree_add_store): Conditionally expand the store node. (em_folder_tree_new_with_model): Expand all the nodes that should be expanded. 2003-12-01 Radek Doulik * em-folder-tree.c (render_pixbuf): use CAMEL_VTRASH_NAME, CAMEL_VJUNK_NAME 2003-11-28 Radek Doulik * em-folder-tree.c (render_pixbuf): added junk icon to folder icons 2003-12-01 Not Zed * em-folder-browser.c (emfb_edit_cut, emfb_edit_copy) (emfb_edit_paste): override the em-folder-view impl, and handle the search bar properly. For #48746. * mail-security.glade: added some padding to the security details frames. * em-format-html-display.c (efhd_xpkcs7mime_validity_clicked): some cosmetic layout changes. 2003-11-27 Charles Zhang * mail-account-editor.c (construct): connect "changed" signal. (mail_account_editor_changed): change signal handler. Fixes bug #48998. 2003-11-30 Ettore Perazzoli * mail-offline-handler.c: Remove all the syncFolder stuff since it's not in the Component interface anymore. * mail-mt.c: Remove declaration for global_shell_client. #if 0 all the code that uses that. * mail-component-factory.c: Remove declaration for global_shell_client. * mail-vfolder.c: Remove declaration for global_shell_client. 2003-11-26 JP Rosevear * Makefile.am: turn on deprecated Gtk stuff 2003-11-24 Jeffrey Stedfast * em-folder-tree.c (em_folder_tree_save_state): New function to save tree expanded state. (em_folder_tree_queue_save_state): New function to queue saving of the expanded state. (em_folder_tree_construct): Connect to the row-collapsed signal. (tree_row_collapsed): Queue a save-state. (tree_row_expanded): Queue a save state. (em_folder_tree_get_folder_info__got): Queue a save-state. 2003-11-25 Not Zed * em-folder-view.c (em_folder_view_print): set session on print formatter for signatures to work. * em-message-browser.c (emmb_destroy): kill warning. * em-format-html.c (efh_output_secure): same as efhd_output_secure, output the security bar, but for printing/plain html. (efh_application_xpkcs7mime): use output_secure. (em_format_html_multipart_signed_sign): removed, output_secure does what this did. * em-format-html-display.c (smime_sign_table, smime_encrypt_table): Added a short description for the mail display. (efhd_xpkcs7mime_button): only good/bad signature at this point, if only encrypted, then display 'bad' icon. (efhd_output_secure): output the security bar/button and handle multi-level enveloping properly. (efhd_application_xpkcs7mime): just call output_secure to do the security bar. (efhd_multipart_signed): same. (efhd_signature_button): removed, no longer used. (efhd_signature_check): removed, no longer used. 2003-11-24 Radek Doulik * em-format-html.c (efh_text_plain): use new colors (efh_text_html): ditto * em-format-html-display.c (efhd_gtkhtml_realise): set new colors according to style * em-format-html.c (efh_init): init new colors * em-format-html.h: added frame and content colors * em-format.c (emf_multipart_mixed): do not use horizonal rule, attachment content is now inside simple frame * em-format-html.c (efh_text_plain): add 6 points around text plain content and frame it (efh_text_html): frame text/html (efh_format_do): fix body tag, set bgcolor (em_format_html_format_headers): do not put headers into own table, content body is framed now instead (efh_format_message): update for headers/body changes * em-format-html-display.c (efhd_format_attachment): put additional vertical space around attachment button 2003-11-22 Jeffrey Stedfast * em-folder-tree-model.c (model_drag_data_received) (model_row_drop_possible, model_row_draggable) (model_drag_data_get, model_drag_data_delete): Swap the retval varargs value to the last argument instead of the first. 2003-11-20 Jeffrey Stedfast * mail-config.c (mail_config_uri_deleted): Removed call to mail_tool_delete_meta_data(). Fixes bug #51236. * mail-component.c (impl_handleURI): Implemented. (mail_component_class_init): Overload the handleURI method. 2003-11-20 Jeffrey Stedfast Fixes bug #51012. * em-folder-tree.c (emft_popup_rename_folder): Fixed a FIXME to not use the OS-specific g_path_*() stuff. (em_folder_tree_set_selected): For the case where the tree has already loaded enough subfolders to include the path we need to select, exopand the nodes to that path as well. For the case that the tree hasn't loaded enough of the folder nodes, load them and then have the node selected/expanded to. 2003-11-19 Jeffrey Stedfast * em-folder-selector.c (emfs_create_name_activate): Emit the response signal with the RESPONSE_NEW value. (emfs_create_name_changed): Sanity check the entry text and set OK sensitivity. (folder_selected_cb): If there is an entry widget, then call name_changed() to decide sensitivity, else set OK to be sensitive. * em-utils.c (em_utils_selection_set_urilist): Same. * em-format-html-display.c (efhd_drag_data_get): Same as below. * em-folder-tree.c (drag_text_uri_list): Terminate each url of a text/uri-list with a \r\n. 2003-11-19 Ettore Perazzoli * GNOME_Evolution_Mail.server.in.in: Add an "evolution:uri_schemas" attribute. 2003-11-19 Not Zed * mail-component.c (em_uri_to_camel): if we're setting the fragment, strip leading /'s. * mail-tools.c (mail_tool_get_meta_data) (mail_tool_delete_meta_data, meta_data_key): old stuff killed. (mail_tool_uri_to_folder): handle email: uri's specially. this is a bit of a hack, the filter callbacks should manage this itself since filters are the only bits which use those uri's. 2003-11-18 Jeffrey Stedfast * em-migrate.c (em_migrate_dir): Don't leak the message objects. * em-folder-tree.c (em_copy_folders): Execute asynchronously by queueing the copy in another thread. (em_copy_folders__copy): Moved the original logic here. 2003-11-18 Jeffrey Stedfast * em-folder-tree.c (tree_row_expanded): Queue the camel_store_get_folder_info() call in another thread. (em_folder_tree_get_folder_info__got): Moved all the logic of tree_row_expanded here. 2003-11-17 Jeffrey Stedfast * em-folder-tree.c (tree_row_expanded): Fixed to check fi->child as well (since mbox does it right). (emft_popup_new_folder_response): Fixed to subscribe to the correct folder. (emft_popup_delete_folders): Fixed to use the full_name rather than the path. * em-folder-selection-button.c (set_contents): Fixed to not include leading '/' in the folder name in the label. * em-folder-tree.c (emft_popup_new_folder_response): Implemented error reporting via gtk dialogs. (emft_popup_copy_folder_selected): Same. 2003-11-17 Jeffrey Stedfast * em-folder-tree.c (emft_popup_new_folder_response): Use a folder_name rather than a path as the name argument to camel_store_create_folder(), fixes creation of IMAP folders. 2003-11-17 Not Zed * em-folder-selection-button.c (set_contents): handle an unparsable url without crashing. * mail-tools.c (mail_tool_get_local_inbox): thin wrapper on mail_component_get_local_inbox. * mail-component.c (mail_component_get_local_inbox): helper to get the default local inbox. * mail-ops.c (fetch_mail_fetch): if we can't get the inbox, make sure we still unref the filter driver here by using hte same exit code. Fixes a crash. 2003-11-14 Jeffrey Stedfast * em-folder-tree.c (emft_popup_new_folder_response): We can't use a uri to do a lookup of a store-info on the store_hash, we have to get a CamelStore first. (row_draggable_cb): validate the iter before using it. (row_drop_possible_cb): Same. (drag_data_received_cb): Here too. (drag_data_get_cb): Same. (drag_data_delete_cb): Again here. (tree_store_set_folder_info): Recursively add nodes if fi->child is non-NULL rather than adding a dummy node. (folder_renamed_cb): Implemented. 2003-11-14 Jeffrey Stedfast * mail-mt.c (set_stop): Removed most of the code. This is basically now a nop. Need to somehow get the uic and fix this. * folder-browser-factory.[c,h]: Removed. * mail-component.c (folder_selected_cb): Don't create a new view anymore, simply set the new folder uri on the folder browser. This makes the mailer use a lot less memory than in 1.x (view_control_activate_cb): Moved here from folder-browser-factory.c (impl_createControls): Connect to the activate signal on the view control. 2003-11-14 Jeffrey Stedfast * em-folder-selection.c (folder_selected_cb): Only set OK to sensitive if the selected node is not a store node. * em-folder-tree-model.c: Moved the store_hash and uri_hash from EMFolderTreePrivate into here instead. * em-folder-tree.c: Updated for above changes. 2003-11-14 Jeffrey Stedfast * em-folder-view.c (emfv_popup_move): Updated. (emfv_popup_copy): Updated. * em-folder-tree.c (emft_popup_copy): Updated. (emft_popup_move): Updated. * em-folder-selection.c (create_dialog): New convenience function to construct the dialog contents for all three public functions. (em_folder_selection_run_dialog): Now longer takes a caption arg. (em_folder_selection_run_dialog_uri): Same. (em_select_folder): Here too. 2003-11-13 Jeffrey Stedfast * mail-component.c (mail_component_get_tree_model): Use em_folder_tree_get_model() since an emft is not a GtkTreeView. * em-folder-tree.c (em_folder_tree_get_model): New function to get the tree model. 2003-11-13 Jeffrey Stedfast * em-folder-selection.c: Rewritten to use EMFolderTRee. * mail-vfolder.c (vfolder_load_storage): Updated for function name changes in mail-component.c * mail-offline-handler.c: Updated for function name changes in mail-component.c * mail-account-gui.c (add_new_store): Fixed to not use EStorage. (mail_account_gui_save): Updated for function name changes. * em-account-prefs.c (account_delete_clicked): Updated for function name changes. (account_able_clicked): Same. (account_able_toggled): Same. * mail-component.c: Renamed mail_component_*storage*() functions to mail_component_*store*() since we are no longer dealing with storages, but instead with CamelStore's. (create_view_widget): If the user selects a store node, don't try to open it as a folder. 2003-11-13 Ettore Perazzoli * mail-component.c (impl_sendAndReceive): New, implementation for Evolution.Component.sendAndReceive. (mail_component_class_init): Install. 2003-11-13 Jeffrey Stedfast * mail-vfolder.c (context_rule_removed): Modified to not use EStorage* functions. I don't even think it *needs* to remove the folder from the mail-component, the mail-component should just pick it up automagically via CamelStore events. * em-folder-tree.[c,h]: New folder-tree widget that replaces the shell's folder-tree widget. * em-folder-tree-model.[c,h]: New source files subclassing GtkTreeStore for handling the mess that is drag&drop. * em-folder-selection-button.c: Ported to use EMFolderTree. * em-folder-selection.c: Ported to use EMFolderTree. * em-folder-selector.c: Ported to use EMFolderTree. * mail-component.c: Ported to use EMFolderTree. * mail-offline-handler.c (storage_go_online): Updated to not pass a storage argument. * mail-folder-cache.c: Removed storage stuff. * mail-send-recv.c (receive_update_got_store): Don't do EStorage* stuff anymore. 2003-11-13 Ettore Perazzoli * mail-component.c (impl__get_userCreatableItems): New, implementation for the Component.userCreatableItems attribute. (impl_requestCreateItem): New, implementation for the Component.requestCreateItem() method. (mail_component_class_init): Install. 2003-11-13 Radek Doulik * em-junk-filter.c (em_junk_sa_is_available): new helper function, use it before any call to spamassassin, spamc and sa-learn (em_junk_sa_test_spamd): first test if spamassassin is available (em_junk_sa_test_spamd): rename em_junk_sa_spamd_tested to em_junk_sa_tested, always set em_junk_sa_tested * mail-folder-cache.c (folder_changed): don't call CAMEL_IS_VJUNK_FOLDER, it was added by mistake 2003-11-13 Not Zed * em-format-html.c (em_format_html_add_pobject): use malloc0 for the pobject memory. 2003-11-12 Not Zed * mail-account-gui.c (smime_sign_key_select) (smime_encrypt_key_select, smime_encrypt_key_selected) (smime_sign_key_selected): implement the key selector popup using e-cert-selector. 2003-11-11 Not Zed * em-format-html.c (efh_application_xpkcs7mime): output icons of the status. (em_format_html_add_pobject): Changed to take a size specificier, return the pobject, and re-ordered args to be more consistent with puri stuff. (em_format_html_remove_pobject): handle the free callback if set. * em-format.c (emf_application_xpkcs7mime): moved this to em-format-html since it needs to do icon stuff. * mail-security.glade: new glade file for security related stuff. * mail-config.glade: removed the message security dialogue, it gets opened automatically by the config code :( 2003-11-10 Ettore Perazzoli * GNOME_Evolution_Mail.server.in.in: Set an "evolution:component_alias" property with a value of "mail". 2003-11-10 Not Zed * em-format-html.c (em_format_html_multipart_signed_sign): changed for cipher context api changes. * em-format.c (emf_multipart_signed): ditto. 2003-11-07 Not Zed * mail-config.glade: added security_information_dialog (probably temporarily in this file). * em-format.c (em_format_is_attachment): also treat pkcs7-mime as non-attachment. (emf_application_xpkcs7mime): no longer need to worry about scanning the part. 2003-11-07 Dan Winship * message-list.c: Don't #include e-name-western.h, since the code that uses it is commented out, and we want to remove the local copy, but we don't want to make the mailer depend on the e-d-s copy if it's not even going to be using it. 2003-11-07 JP Rosevear * Makefile.am: build the marshall files right at the beginning 2003-11-11 Not Zed * mail-security.glade: new glade file for security related stuff. * mail-config.glade: removed the message security dialogue, it gets opened automatically by the config code :( 2003-11-10 Ettore Perazzoli * GNOME_Evolution_Mail.server.in.in: Set an "evolution:component_alias" property with a value of "mail". 2003-11-10 Not Zed * em-format-html.c (em_format_html_multipart_signed_sign): changed for cipher context api changes. * em-format.c (emf_multipart_signed): ditto. 2003-11-07 Not Zed * mail-config.glade: added security_information_dialog (probably temporarily in this file). * em-format.c (em_format_is_attachment): also treat pkcs7-mime as non-attachment. (emf_application_xpkcs7mime): no longer need to worry about scanning the part. 2003-11-07 Dan Winship * message-list.c: Don't #include e-name-western.h, since the code that uses it is commented out, and we want to remove the local copy, but we don't want to make the mailer depend on the e-d-s copy if it's not even going to be using it. 2003-11-07 JP Rosevear * Makefile.am: Make sure the marshal files are listed above other sources 2003-11-06 Jeffrey Stedfast * em-migrate.c (em_migrate_filter_file): Call em_migrate_uri() instead of em_uri_from_camel(). (em_migrate_uri): Special-case file: uri's by converting them into email://local@local/ uri's since these folders will have been migrated to the newer mbox tree structure. 2003-11-06 Jeffrey Stedfast * mail-vfolder.c (mail_vfolder_delete_uri): User vfolder rules should be in ${evolution_dir}/mail/vfolders.xml rather than ${evolution_dir}/vfolders.xml (mail_vfolder_rename_uri): Same. (store_folder_deleted): Here too. (store_folder_renamed): And here. (vfolder_load_storage): Again here. (vfolder_editor_response): Same. (edit_rule_response): And here. (new_rule_clicked): Here too. * mail-session.c (main_get_filter_driver): User filter rules should be in ${evolution_dir}/mail/filters.xml rather than ${evolution_dir}/filters.xml * mail-autofilter.c (filter_gui_add_from_message): Same. (mail_filter_rename_uri): And here. (mail_filter_delete_uri): Here too. * em-utils.c (filter_editor_response): Again here. (em_utils_edit_filters): Same. * em-migrate.c (em_migrate_filter_file): Same (also for vfolders.xml) 2003-11-05 Jeffrey Stedfast * em-migrate.[c,h]: New source files to migrate from the old mail directory to the new mail directory. * mail-component.c (mail_component_init): Changed to use ~/.evolution and added code to migrate the old mail folders over if ~/.evolution/mail does not yet exist. 2003-11-03 Ettore Perazzoli * GNOME_Evolution_Mail.server.in.in: Use "evolution2:config_item" properties for the config item instead of "evolution:config_item" ones. 2003-11-01 Jeffrey Stedfast * em-folder-view.c: setup filter-on-thread and vfolder-on-thread. * mail-autofilter.c (rule_from_message): handle AUTO_THREAD (rule_match_thread): new function to setup a filter on a msgid 2003-10-31 Not Zed * mail-config.glade: Rearranged smime config slightly, and added encrypt key preference. * mail-account-gui.c (mail_account_gui_save, mail_account_gui_new): enable smime always if have_nss. Added new options in glade file and handle changed names. (smime_changed, smime_sign_key_select, smime_sign_key_clear) (smime_encrypt_key_select, smime_encrypt_key_clear): Add a bunch of mostly dummy UI behaviour management stuff. 2003-10-30 Not Zed * em-format.c (em_format_is_inline): show application/x-pkcs7-mime inline always by default. 2003-10-30 Not Zed * em-format.c (emf_multipart_signed): handle application/x-pkcs7-signature. 2003-10-29 Not Zed * em-format-html.c (em_format_html_multipart_signed_sign): handle application/x-pkcs7-signature. * em-format.c (emf_application_xpkcs7mime): Handle application/x-pkcs7-mime. 2003-10-29 Jeffrey Stedfast * em-account-prefs.h: Changed the OAFIID. * em-composer-prefs.h: Changed the OAFIID. * em-mailer-prefs.h: Changed the OAFIID. * GNOME_Evolution_Mail.server.in.in: Changed OAFIIDs for the prefs controls. 2003-10-29 Jeffrey Stedfast * GNOME_Evolution_Mail.server.in.in: Nuked the MailConfig interface stuff. * Mailer.idl: Removed. None of the interfaces are needed/used anymore. * folder-info.[c,h]: Removed. The summary was the only thing that needed/used this code and it has been nuked into oblivion, so these interfaces are no longer needed. * mail-config.c: Removed old crufty CORBA interface snot that is no longer needed or used. 2003-10-27 Jeffrey Stedfast * Fixes bug #49816 * em-popup.c (emp_part_popup_reply_sender): No need to pass a parent window arg anymore. (emp_part_popup_reply_list): Same. (emp_part_popup_reply_all): Here too. (emp_part_popup_forward): Same. (emp_uri_popup_address_send): Here too. * em-folder-browser.c (emfb_mail_compose): No need to pass a parent window arg anymore. (emfb_mail_post): Same. * em-folder-view.c (emfv_message_reply): Don't pass a parent window argument anymore. (emfv_popup_forward): Same. (emfv_popup_resend): Same here. (em_folder_view_open_selected): Same. (emfv_message_forward_attached): Here too. (emfv_message_forward_inline): And here. (emfv_message_forward_quoted): Same. (emfv_message_redirect): Here too. (emfv_message_post_reply): And here. (emfv_format_link_clicked): ANd finally here. * em-utils.c (create_new_composer): Don't set_transient_for() anymore. (em_utils_compose_new_message): No longer takes a parent window argument. (em_utils_forward_attached): No longer takes a parent window arg. (em_utils_forward_inline): Same. (em_utils_forward_quoted): Same. (em_utils_forward_message): Same. (em_utils_forward_messages): Here too. (redirect_get_composer): Don't set_transient_for() here either. (em_utils_redirect_message): No longer takes a parent window arg. (em_utils_redirect_message_by_uid): Same. (reply_get_composer): Don't set_transient_for() here. (em_utils_reply_to_message): No longer takes a parent window arg. (em_utils_reply_to_message_by_uid): Same. (post_reply_to_message): Don't set_transient_for() here. (em_utils_post_reply_to_message_by_uid): No longer takes a parent window arg. (em_utils_compose_new_message_with_mailto): Don't set_transient_for() here. (em_utils_post_to_url): Same. (em_utils_edit_message): No longer takes a parent window arg. (em_utils_edit_messages): Same. 2003-10-24 Jeffrey Stedfast * em-account-prefs.[c,h]: Re-Namespaced mail-accounts.c * em-composer-prefs.[c,h]: Re-Namespaced mail-composer-prefs.c * em-mailer-prefs.[c,h]: Re-Namespaced mail-preferences.c * mail-accounts.[c,h]: Removed. * mail-composer-prefs.[c,h]: Removed. * mail-preferences.[c,h]: Removed. * mail-account-editor.c: Updated. * mail-account-gui.c: Updated. * mail-config-factory.c: Updated. * mail-component-factory.c: Updated. 2003-10-22 Ettore Perazzoli * GNOME_Evolution_Mail.server.in.in: Add an "evolution:button_icon" attribute. 2003-10-22 Ettore Perazzoli * GNOME_Evolution_Mail.server.in.in: Add an "evolution:button_sort_order" attribute. 2003-10-22 Jeffrey Stedfast * mail-component.c (parse_uid_list): Removed, use em_utils_selection_get_uidlist() instead. (drop_uid_list): Use em_utils_selection_get_uidlist() to parse the x-uid-list selection data and use mail_tool_uri_to_folder() directly since we have the uri (originally we expected the first component of the selection data to be the e-storage-set-view folder path rather than the uri). (folder_receive_drop_cb): Call gtk_drag_finish() here. * message-list.c: s/x-evolution-message/x-uid-list/ * em-utils.c: Same. 2003-10-22 Ettore Perazzoli * mail-component.c (impl_createControls): Use e_storage_browser_peek_widget_scrolled() to retrieve the scrolled window that the EStorageSetView is contained in. 2003-10-22 Ettore Perazzoli * GNOME_Evolution_Mail.server.in.in: Add an "evolution:button_label" attribute to the Component for use in the shell. 2003-10-22 Not Zed * mail-component.c (em_copy_folders): handle destination of "" properly. (emc_popup_copy_folder_selected): handle url->path properly, strip leading /. (em_copy_folders): if we just created a new folder on a subscribable store, subscribe to it. (em_copy_folders): handle nonselectable folders specially. 2003-10-21 Jeffrey Stedfast * mail-component.c (drag_text_uri_list, folder_dragged_cb) (drop_uid_list, drop_folder, import_message_rfc822) (drop_message_rfc822, drop_text_uri_list, folder_receive_drop_cb): New functions to handle drag & drop to/from the folder tree. (impl_createControls): Setup drag & drop support. * em-format.c (emf_multipart_mixed): Put an
between parts of a multipart. 2003-10-21 Not Zed * mail-component.c (emc_popup_properties): implement. (emc_popup_properties_got_folder): builds dynamic folder-properties dialogue. (emc_popup_properties_response): set the properties on the folder on an ok response. (emc_popup_properties_free): free the properties working data. * mail-folder-cache.c (unset_folder_info): unhook from the right function for message_changed. 2003-10-20 Not Zed * mail-component.c (emc_popup_new_folder): pass the right object to set_selected(). Fixes a new real bug. Undid reformatting. 2003-10-17 Jeffrey Stedfast * mail-component.c: General compile fixes. (emc_popup_new_folder): Fixed to not shadow a parameter. Fixes a real bug. * mail-component.h: Added some prototypes. 2003-10-13 Not Zed * em-popup.c (em_popup_create_menu_once): only hookup target free if we have a target set. * mail-component.c (load_accounts): removed debug i accidentally left in. (emc_tree_right_click): handle right-click context menu, using an EMPopup table. (emc_popup_*): setup empty popup handlers. 2003-10-13 Not Zed * em-folder-selection.c (em_select_folder): asynchornous folder selection call. (emfs_folder_selected): callback for folder selected. * em-folder-view.c (emfv_popup_move): implement. (emfv_popup_copy): " (emfv_popup_move_cb): async folder select callback to run it. 2003-10-10 Not Zed * mail-account-gui.c (mail_account_gui_folder_selector_button_new): use em_folder_selection_button. (mail_account_gui_new): " (folder_selected): " * em-folder-selection-button.c: Make this use camel uri's rather than camelfolders. (set_selection): removed, redundant. (impl_dispose): removed, not needed. * em-folder-selection-button.h: change the selected signal not to actually return the selection, which must get retrieved later. * mail-component.c (em_uri_from_camel): create an evo mail uri from a camel one. (em_uri_to_camel): the reverse. * mail-signature-editor.c (mail_signature_editor): up the version of the gtkhtml editor. 2003-10-09 Not Zed * em-folder-selection-button.c (set_selection): always set selected_folder, otherwise we don't unset it properly. * em-folder-selection.c (em_folder_selection_run_dialog): fix a small memleak. (em_folder_selection_run_dialog_uri): do the same as run_dialog but take, and return physical uri's. * mail-component-factory.c (factory): removed some fixme's, and re-hookedup the composer. 2003-10-09 Frederic Crozat * em-icon-stream.c (emis_sync_close): Use gnome-thumbnail_scale_down_pixbuf if available, for better performance. 2003-10-08 Jeffrey Stedfast * em-folder-view.c: Add a hide_mask to the create-rule-from-message bars so that we don't segfault when we right click with a multi-selection. 2003-10-08 Chris Toshok * em-utils.c (em_utils_camel_address_to_destination): EDestination => EABDestination, and e_destination => eab_destination. (reply_get_composer): same. (post_reply_to_message): same. * em-composer-utils.c (ask_confirm_for_unwanted_html_mail) EDestination => EABDestination, and e_destination => eab_destination. (composer_get_message):same. 2003-10-08 Not Zed * mail-component.c (mail_component_peek): setup vfolders once we hve the component, since its setup will call mail_component_peek, fun recursion. 2003-10-08 Not Zed * mail-component.c (setup_local_folder): removed. (setup_local_store): setup various needed globals properly. (setup_account_storages): renamed to load_accounts. (go_online): turn on interactivity as well as onlinedness. * GNOME_Evolution_Mail.server.in.in: point the preferences pages to the right factory. 2003-10-07 Not Zed * mail-component.[ch]: Fix copyrights. 2003-10-06 Jeffrey Stedfast * mail-config-druid.c (identity_prepare): Fixed. * mail-ops.c (fetch_mail_fetch): Always save the uid cache no matter what. 2003-10-03 Frederic Crozat * mail-config-druid.c (identity_prepare), (config_wizard_new): Convert real name to UTF-8 if needed. 2003-10-03 Jeffrey Stedfast * em-folder-browser.c (emfb_set_folder): Disable the selection of the first unread message for now. This is actually annoying the fuck out of me, Radek, and a few other people. 2003-10-02 Not Zed * mail-component.c (add_storage): Add the storage to the hash after we've initialised it. (mail_component_evomail_uri_from_folder): hardcode "local" account pseudo-id for local folders. (mail_component_get_folder_from_evomail_uri): handle the "local" account case. 2003-10-02 Not Zed * mail-component.c (setup_local_store): use mbox:/path rather than mbox:///path - the mbox code is 'wrong', but this is easier to fix. fixes local unread counts. maybe the provider url-compare should address this too. 2003-10-02 Suresh Chandrasekharan * mail-config-druid.c: Fix for 40917 "Backspace shouldn't highlight the whole remaining string in Setup Assistant". (identity_changed): Removed repeated focussing per keystroke. functions (source_changed): Same. (transport_changed): Here too. (management_changed): And here. (identity_prepare): Removed the initial highlighting for Full Name, also the unneeded intial grab_focus. 2003-10-02 Not Zed * em-format-html.c (efh_format_timeout): zero out last_part if we're clearing. Uh, this fixes, but shouldn't, part of #49034. The problem is the 'last part' logic is based on the address, which can quite easily be repeated for different messages. * em-folder-view.c (emfv_list_message_selected): reverted jeff's patch for #48618, use a much simpler method. * em-message-browser.c (emmb_destroy): hook onto destroy handler, we need to destroy the messagelist ourselves, since we dont attach it to any parent window. 2003-10-01 Not Zed * em-format-html.c (efh_init): turn off blocking writes. (efh_format_timeout): don't do a htmlbegin on the page yet, it'll be handled by em-html-stream when it has data, to reduce flicker. (efh_format_do): close the main gtkhtml stream as soon as we're done writing the body. any sub-jobs should be using frames etc. (efh_text_plain): dont write a table around the text, try to reduce flickering. layout may be out now though. * em-html-stream.c (emhs_sync_write): if we have no html_stream yet, begin a new one. 2003-09-30 Rodney Dawes * em-format-html-print.c: Use "Sans Regular" instead of "Helvetica" Fixes bug #47878 2003-09-30 Not Zed * em-format-html.c (efh_init): remove gconf stuff. (em_format_html_set_xmailer_mask): new method to set the xmailer mask. * em-folder-view.c (emfv_display_keys[]): Added charset key to monitor/retrieve, and xmailer_mask. (emfv_setting_notify): Monitor charset setting, pass onto the formatter, as well as xmailer_mask. * mail-preferences.c (mail_preferences_construct): use the new charset key. (mail_preferences_apply): use the new charset key. * evolution-mail.schemas: Moved the mail/format/charset to mail/display/charset. 1. it makes more sense, and 2. it makes notification update easier in em-folder-view.c * em-format.c (emf_init): remove the gconf charset stuff, for bug #48791, and also actually fixes the fixme that jeff thought he fixed. (em_format_format_text): use default charset as fallback. (em_format_set_default_charset): New method to set the default charset. (gconf_charset_changed): removed. 2003-09-29 Jeffrey Stedfast * em-format.c (emf_init): Oops, put the arguments in the right order. 2003-09-29 Ettore Perazzoli * mail-component.c: New member local_store in MailComponentPrivate. (impl_dispose): Unref. (mail_component_load_storage_by_uri): Return the CamelStore. (setup_local_folder): New. (setup_local_store): New. (mail_component_init): Call it. (mail_component_peek_storage_set): New. (mail_component_get_folder_from_evomail_uri): New. (mail_component_evomail_uri_from_folder): New. * em-folder-selection-button.c: New. * em-folder-selection-button.h: New. * em-folder-selection.c: New. * em-folder-selection.h: New. * em-marshal.list: Add NONE:POINTER. 2003-09-25 Jeffrey Stedfast * mail-account-gui.c (mail_account_gui_save): Allow any file: uri to point to a sent or drafts folder. 2003-09-25 Rodney Dawes * mail-send-recv.c: Make the dialog more HIG-compliant by fixing widget alignment/spacing issues, and removing separators 2003-09-24 Jeffrey Stedfast * mail-preferences.c (mail_preferences_construct): Same as below. * mail-composer-prefs.c (mail_composer_prefs_construct): gconf can return empty string if the charset has not been set, so if the charset string is empty, default the charset to the user's locale charset. Partial fix for bug #47638. 2003-09-23 Ettore Perazzoli * mail-component.c (add_storage): Remove unused arg "uri". (mail_component_add_store): Likewise. (add_storage): Don't set the "Connecting..." node. (mail_component_init): Set up local store at ~/.evolution/mail/local. * evolution-mbox-upgrade.c (get_local_store): Remove a double xmlFree() that was causing it to crash. 2003-09-23 Ettore Perazzoli * mail-component.c (add_storage): Note the new store. * mail-component-factory.c: Don't include "mail-callbacks.h" anymore. * em-format-html.c (em_format_html_get_type): Get the base directory with mail_component_peek_base_directory(). * em-utils.c (filter_editor_response): Likewise. (em_utils_edit_filters): Likewise. * em-folder-browser.c (emfb_init): Get the search context through mail_component_peek_search_context(). 2003-09-23 Jeffrey Stedfast * evolution-mbox-upgrade.c (get_local_store): Don't xmlFree (name) until after we've g_strdup'd it. (em_migrate_dir): If the metadata file doesn't exist, don't even bother trying subfolers (the shell just ignores them so we should too). 2003-09-23 Jeffrey Stedfast Fix for bug #48791 (and also fixes a FIXME) * em-format.c (emf_init): Setup a gconf listener for changes to the charset setting. (gconf_charset_changed): Update the cached gconf charset value. (emf_finalise): Free the EMFormatPrivate data, unref the gconf client, disconnect the charset notify id, and free the cached gconf charset value. (em_format_format_text): Use the cached gconf charset value. 2003-09-22 Not Zed ** See bug #32996 * mail-folder-cache.c (real_flush_updates): don't just pass TRUE to the 'can work offline' parameter of new shell folder. ** See bug #39410 * mail-ops.c (prep_offline_do): sync all messages, not just unread or flagged ones. 2003-09-22 Not Zed * em-popup.c (emp_uri_popup_link_copy): removed, moved to em-folder-view, for now, it has access to an invisible. * em-folder-view.c (emfv_setting_notify): honour the load_http setting, at least the all setting. (emfv_format_popup_event): setup the popup menu item for copy link location here. 2003-09-22 Jeffrey Stedfast * mail-preferences.c (mail_preferences_construct): Connect to "value-changed" rather than "changed" for spin buttons. 2003-09-21 Not Zed * mail-session.c (ms_thread_msg_new): implement, we hook into the mail progress reporting stuff by overriding the CamelOperation member with one from a dummy mail_msg. (ms_thread_msg_free): handle freeing. * mail-mt.c (mail_msg_free): mute the camel-operaiton when we free it so we no longer get updates. 2003-09-19 Jeffrey Stedfast * em-message-browser.c (emmb_set_message): Set the window title to be that of the message subject. Fixes bug #48617. 2003-09-19 Jeffrey Stedfast Fix for bug #48618. * em-folder-view.c (emfv_list_message_selected): See if we have already loaded the message uid that has just been selected, if so - don't bother re-loading it. (emfv_list_done_message_selected): Update loaded_uid and loading_uid. 2003-09-18 Radek Doulik * em-format-html.c (efh_init): use gtkhtml's blocking 2003-09-18 Jeffrey Stedfast * em-inline-filter.c: updated for CamelTransferEncoding namespace changes * em-inline-filter.h: updated for CamelTransferEncoding namespace changes * mail-ops.c: updated for CamelTransferEncoding namespace changes 2003-09-18 Jeffrey Stedfast * component-factory.c: updated for camel namespace changes * em-folder-view.c: updated for camel namespace changes * em-format-html-display.c: updated for camel namespace changes * em-format-html-quote.c: updated for camel namespace changes * em-format.c: updated for camel namespace changes * em-popup.c: updated for camel namespace changes * em-utils.c: updated for camel namespace changes * mail-autofilter.c: updated for camel namespace changes * mail-ops.c: updated for camel namespace changes * mail-session.c: updated for camel namespace changes * message-list.c: updated for camel namespace changes * message-tag-followup.c: updated for camel namespace changes * importers/evolution-mbox-importer.c: updated for camel namespace changes 2003-09-18 Jeffrey Stedfast * em-popup.c (emp_standard_menu_factory): Don't forget to initialise/increment 'i' when using it as an object id in the for-loop. * em-format.c (em_format_format_text): Initialise charset to NULL or it may be used uninitialised. Also include gnome-vfs-mime-handlers.h for gnome_vfs_mime_type_get_description(). * Makefile.am: Added $(MARSHALL_GENERATED) to $(BUILT_SOURCES) so that em-marshal.[c,h] were autogenerated. 2003-09-17 Not Zed * folder-browser.c, folder-browser.h, folder-browser-ui.c folder-browser-ui.h, mail-callbacks.c, mail-callbacks.h mail-display.c, mail-display.h, mail-display-stream.c mail-display-stream.h, mail-format.c, mail-format.h mail-identify.c, mail-search.c, mail-search.h message-browser.c, message-browser.h, subscribe-dialog.c subscribe-dialog.h, mail-font-prefs.c, mail-font-prefs.h: cvs removed. * Makefile.am: Removed mail-font-prefs.[ch], hasn't been built for ages. * em-*.c: killed a bunch of printfs. * em-format-html-display.c (efhd_html_button_press_event): update for html object api chagnes. ** Merge in mail-refactor-2 branch. 2003-09-17 Jeffrey Stedfast * evolution-mbox-upgrade.c: New source file to migrate from the old mbox structure to the new mbox structure. 2003-09-08 Ettore Perazzoli * mail-folder-cache.c (mail_note_store): Allow NULL storage in precondition. * mail-component.c (mail_component_init): Remove debugging message. 2003-08-22 Not Zed * mail-format.c (write_date): translate the local time format. 2003-08-20 David Woodhouse * mail-format.c (write_date): Use e_utf8_strftime() to generate localised time; avoid gratuitous extra translation and array of day names, and the autoconf magic which made Not Zed dislike the inclusion of the timezone name. 2003-08-18 Ettore Perazzoli * GNOME_Evolution_Mail.server.in.in: Rename GNOME_Evolution_Mail_Component2 to GNOME_Evolution_Mail_Component_2 and GNOME_Evolution_Mail_Factory2 to GNOME_Evolution_Mail_Factory_2. * mail-component-factory.c: Update accordingly. 2003-08-18 Jeffrey Stedfast * mail-session.c (main_get_filter_driver): Removed the new-mail-notification mess. * mail-folder-cache.c (notify_idle_cb): New idle callback to alert the user about new mail. (notify_type_changed): New function to intercept user changes to his/her notification settings changes. (real_flush_updates): Initialise new mail notification if not yet initialised and setup an idle callback if none is already set. (update_1folder): Now takes an additional argument `new' which states whether or not the fodler got any new mail so that we may handle notify the user (if needed). (folder_changed): Pass in the number of new messages received. 2003-08-19 Not Zed * mail-callbacks.c (mail_generate_reply): Added a comment for translators. 2003-08-19 David Woodhouse * mail-callbacks.c (mail_generate_reply): Add a timezone offset to the attribution string. 2003-08-19 Not Zed * mail-format.c (write_date): Added translation for day and localtime strings. Also removed the tz_zone stuff, and just use 'localtime' always. 2003-08-15 David Woodhouse * mail-format.c (write_date): Show date in localtime too. 2003-08-19 Harry Lu ** For #45348 * mail-display.c (mail_display_render): Change "%P" to "%p" so that strftime() can work under solaris. 2003-08-14 Jeffrey Stedfast * mail-ops.c (mail_send_message): Don't abort at the first failure after sending (filtering, appending to Sent, syncing). Instead, keep a running tab of exceptions and then set a culmulative exception at the end to report to our caller. Also, if we fail to append to the account Sent folder, try again with the local Sent folder. Fixes bug #46512. 2003-08-13 Suresh Chandrasekharan * e-searching-tokenizer.c (searcher_next_token): Fix for 45818 ( i18n mail messages search only produces '[?]'). Now multibyte character selection works correctly. But due to associated gtkhtml bug, the find button functionallity for multibyte characters is broken. 2003-08-12 Jeffrey Stedfast * mail-tools.h: Removed unused function prototype. 2003-08-11 Jeffrey Stedfast * mail-session.c (remove_timeout): Removed. (register_timeout): Removed. 2003-08-09 Ettore Perazzoli * mail-component.c (storage_go_online): Pass NULL for the operation pointer to mail_note_store(), to sync with Michael's changes. 2003-08-05 Jeffrey Stedfast * mail-format.c (handle_multipart_encrypted): Updated for CamelMimePart::content_type changes. * mail-ops.c (save_part_save): Use camel_data_wrapper_decode_to_stream() here. * mail-display.c (drag_data_get_cb): Updated for CamelMimePart::content_type changes. (do_attachment_header): Same. 2003-07-31 Jeffrey Stedfast * mail-format.c (mail_format_raw_message): Updated to pass FALSE as the 'decode' param to mail_format_data_wrapper_write_to_stream(). (mail_format_data_wrapper_write_to_stream): Now takes a boolean arg telling whether to decode or not. Also reworked the charset logic now that camel doesn't handle this for us any longer. (mail_format_get_data_wrapper_text): Updated. (handle_text_plain): Same. (handle_text_enriched): Here too. * mail-display.c (do_attachment_header): Call decode_to_stream here instead of write_to_stream. (do_external_viewer): Same. (on_url_requested): Same. Also updated for mail_format_data_wrapper_write_to_stream(). (try_part_urls): Call decode_to_stream. (drag_data_get_cb): Same. 2003-08-05 Not Zed ** See bug #32732 * message-list.c (mail_regen_list): use thread_new. * mail-local.c (reconfigure_response): use thread_new. * mail-display.c (stream_write_or_redisplay_when_loaded): use thread_new. * mail-config.c (mail_config_check_service): use thread_new rather than queue. * mail-callbacks.c (view_msg): change to use mail_get_messages(), fixes FIXME. (do_view_messages): handle get_messages callback. (do_view_message): removed. * mail-ops.c (mail_get_folderinfo): Use a new thread thread semantic. (mail_save_part): " (mail_store_set_offline): " (mail_sync_folder): use queued_slow thread queue. (mail_expunge_folder): " (mail_empty_trash): " ** See bug #47224. Hook onto clicked rather than button_pressed, so that dnd works. * mail-display.c (inline_toggle): toggle a part inline. (button_press): change back to only handle button clicked events, renamed to inline_button_clicked. (do_attachment_header): hook onto clicked rather than button_press_event, and move key_press_event to inline_button_pressed. (do_signature): Same. (inline_button_pressed): handle inline button key press event explicitly. 2003-07-29 Not Zed * mail-folder-cache.c (mail_note_store): add a CamelOperation for overriding status handler. * mail-send-recv.c (receive_update_got_store): Pass our own cancel handle to get_folderinfo and mail_note_store. (mail_send_receive, mail_receive_uri): Same for get_store. * mail-ops.c (mail_get_store, mail_get_folderinfo): Add a CamelOperation argument, for overriding the status handler. Fixed most calles to pass NULL to use the default. 2003-09-15 Not Zed * em-folder-browser.c (emfb_activate): remove warning about folder not being loaded yet - it basically never is. * em-popup.c (emp_standard_menu_factory): dont setup any global select menu's yet. they're all handled by folderview atm. 2003-09-11 Not Zed * em-format-html.c (efh_finalise, efh_format_timeout): Use a proper hash free func, otherwise it dont work. 2003-09-11 Not Zed * em-inline-filter.[ch]: A new class which implements an inline snooper via a mime filter, so it is fully streamable. contents merely passes through the filter. * em-format-html.c (efh_finalise): free text substitute parts table. (efh_text_plain): transform a text part into a multipart, scanning for inline data. Keep the multipart around for redraws. (efh_format_timeout): clear the text substitute parts table. 2003-09-10 Not Zed * em-format-html-display.c (efhd_init): hook onto realise so we get the real theme-applied style. (efhd_gtkhtml_realise): get the theme data for colour defaults. Tweak the colour selection to make it work better with dark themes. * em-format-quote.c (emfq_format_source): we need to implement this. (emfq_format_error): we need not to call parent, it doesn't implement it. * message-list.c (message_list_select_uid): don't emit changedhere, let it go through the table cursor change. * em-folder-browser.c (em_folder_browser_show_preview): use folderview.preview_active for this state. (em_folder_browser_show_preview): clear the current message when we turn off the message view, and load the current one when turn it on. * em-folder-view.c (emfv_destroy): zero out preview + list. (emfv_list_message_selected): check preview_active before doing anything. (emfv_edit_cut): (emfv_edit_copy): only run if preview active. * em-format-html.c (efh_format_do): output the proper html headers, etc. 2003-09-10 Jeffrey Stedfast * mail-account-gui.c (mail_account_gui_save): Allow the user to select any fodler for his/her Drafts and Sent folders. Fixes bug #45412. 2003-09-09 Not Zed * em-utils.c (forward_non_attached): implement forward quoted. * em-format-quote.[ch]: New class, em-format-html-quote wont cut it. Sigh. * em-format-html-quote.c (efhq_base_init): move type init stuff here. (efhq_complete): remove, this is a signal. (efhq_multipart_related): we need to override the base class, we don't want to output any attachment html. * em-format-html-print.c (efhp_base_init): move builtin type init to here. * em-format-html.c (efh_init): get xmailer mask from gconf (sigh). (efh_format_header): inmplement most of xmailer mask thing. rupert icon not done yet, probably needs to be done as part of em-format-html-display, sigh. (type_builtin_table[]): add image/svg to supported image formats. (efhd_base_init): move type init to here. (efh_text_enriched): write to the filtered_stream, not stream. * em-format.c (em_format_format_text): oops, actually use any supplied charset. (emf_base_init): move hashtable init into base_init, so we get a new copy for each derived class too. * mail-send-recv.c (build_dialogue): use an eclippedlabel for status. Fixed all uses. 2003-09-08 Not Zed * em-format-html.h (EMFormatHTML): added a simple_headers option, only output headers in basic format. Added hide_headers option, to disable all header output. * em-format-html-quote.c (efhq_format_message): blockquote the contnet, thats how you cite it! (efhq_init): turn on simple headers for html output. (efhq_format_message): output headers and part directly, bypassing parent format_message. (efhq_format_message): implement hide_headers. * em-format-html.c (efh_busy): implement busy. (efh_format_message): implement simple_headers option. (efh_format_text_header): implement simple_headers option. (efh_format_message): move the header formatting stuff into exported em_format_html_format_headers. (efh_format_message): only output headers if not hidden. * em-format.c (emf_busy): base implementation of a new virtual method, returns TRUE if the object is still busy rendering/downloading stuff. * em-utils.c (em_utils_message_to_html): renamed from em_utils_quote_message. Also make sure the html conversion is complete before getting the data. (em_utils_part_to_html): similar, but for parts. (composer_set_body): put in David Woodhouse's timezone in attribution patch. (composer_set_body): we want to quote the part (content), we don't want message headers. (em_utils_message_to_html): add a 'show headers' argument. * folder-browser-factory.c (control_activate): removed. (control_deactivate): removed. * mail-identify.c: * folder-browser.[ch], folder-browser-ui.[ch]: * mail-callbacks.[ch], mail-search.[ch]: * mail-display.[ch], mail-format.[ch], mail-display-stream.[ch]: * message-browser.[ch]: Removed, fixed all users. * component-factory.c (factory): change callbacks to em_utils ones. (configure_folder_popup): comment out some of the reconfigure stuff. Wont have it in 1.6? (handle_external_uri_cb): use em_utils stuff. (user_create_new_item_cb): " (owner_unset_cb): " * em-composer-utils.c (composer_send_cb): rename to em_utils_composer_send_cb, and export, sigh, needed for factory. (composer_save_draft_cb): Same. 2003-09-05 Not Zed * em-format.c (type_builtin_table[]): Add a fallback multipart/* for other types (e.g. multipart/report) (em_format_fallback_handler): fix some bad logic. * em-folder-browser.c: track the pane size if the user changes it. (emfb_set_folder): Added a bit of a mess that will select the first unread message the first time you visit a folder. (emfb_destroy): impelment. clear up outstanding signal handlers. (emfb_list_built): Select the first unread message. this isn't entirely reliable as yet, and not configurable at all. * em-format-html-display.c (em_format_html_display_set_animate) (em_format_html_display_set_caret_mode): guess? :) (efhd_attachment_button): dont desensitise the button, just dont hook onto it, otherwise it looks fugly. * em-folder-view.c (emfv_list_done_message_selected): dont lookup gconf values every time. use g_timeout_add rather than gtk_timeout, remove fixme's. (emfv_setting_notify): listner for gconf changes, reflect internally. (emfv_setting_setup): setup listner for gconf, and read initial settings. (emfv_activate): use local copy of settings rather than snooping gconf. (emfv_caret_mode): propagate caret-mode to display * em-format-html-quote.c (efhq_format_message): remove gconf stuff, our parent already has citation colour. * em-format-html.c (efh_format_timeout): remove gconf stuff. (em_format_html_set_load_http, em_format_html_set_mark_citations): set options on formatter, re-renders if required. (type_builtin_table[]): text/* should go to text/plain, not text/enriched. 2003-09-04 Not Zed * em-utils.c (confirm_expunge): rename it to emu_confirm_expunge and remove leading whitespace before function. (em_utils_expunge_folder): we want to expunge the folder, not empty the trash. Jeff didn't even run this once ... * em-popup.c: Lots of new features, 'global' popup menu's on a per-selection type, via factories, popup selections (targets), a standard factory for many menu items. (emp_apps_open_in): duh, fix uri using logic (emp_standard_menu_factory): only add apps to app list if !requires_terminal. * em-format-html-display.c (efhd_open_in, efhd_popup_free_items): moved to em-popup.c (efhd_popup_save_attachment, efhd_popup_save_message) (efhd_popup_reply_sender, efhd_popup_reply_list) (efhd_popup_reply_all, efhd_popup_forward): (re)moved to em-popup.c (efhd_attachment_popup): use enew popu stuff. (efhd_attachment_button): Scale the icons for mime-type icons. * em-folder-view.c (em_folder_view_disable_mask): removed ... moved to em-popup. (em_folder_view_get_popup_target): new method, get the selection target for the folder view. (emfv_html_popup_saveas, emfv_html_popup_link_open) (emfv_html_popup_link_copy, emfv_html_popup_address_send) (emfv_html_popup_address_add, emfv_format_popup_free_items): moved to em-popup.c (emfv_format_popup_event): use new popup stuff. (emfv_popup): use new popup stuff, but still just use all local menu's. 2003-09-03 Not Zed * em-folder-view.c (emfv_format_popup_event): implement, a popup menu for right-clicking on links and images. (emfv_html_popup_link_copy): implement. (emfv_init): setup an invisible for selection stuff. (emfv_destroy): free invisible * em-utils.c (em_utils_get_proxy_uri): utility to get the current system proxy setting. (emu_set_proxy): implementation. * em-camel-stream.[ch]: removed. * em-format-html.c (efh_url_requested, efh_format_timeout): use em_html_stream rather than em_camel_stream. (emfh_gethttp): set the system proxy on the new stream. (emfh_multipart_related_check): use puri rather than purin inside the loop - duh. (emfh_multipart_related_check): removed 'unrelated part' warning, they can be (and normally are) added by the callbacks. * em-format-html.h (EMFormatHTMLJob): s/estream/stream/ * em-html-stream.[ch]: New subclass of emsyncstream, replacement for em-camel-stream. 2003-09-04 Jeffrey Stedfast * em-folder-browser.c (emfb_folder_expunge): Call em_utils_expunge_folder instead. * em-utils.c (em_utils_expunge_folder): New function. (confirm_expunge): Make private. 2003-09-04 Jeffrey Stedfast * em-folder-browser.c (emfb_folder_expunge): Confirm hat the user wants to expunge. (emfb_empty_trash): Implemented. * em-utils.c (em_utils_prompt_user): Make public (used to be e_question). (em_utils_confirm_expunge): New function to confirm that the user wants to expunge. (em_utils_empty_trash): New function to empty all Trash folders. * em-composer-utils.c: Get rid of e_question and use em-utils' em_utils_prompt_user() function instead. * em-format-html-quote.[c,h]: New formatter for quoting replies/forwards/etc. * em-utils.c (em_utils_quote_message): New function. (composer_set_body): Use the new em_utils_quote_message() function. (em_utils_temp_save_part): Only g_free mfilename if it was malloc'd. * mail-tools.c (mail_tool_quote_message): Removed. (mail_tool_forward_message): Removed. 2003-09-03 Jeffrey Stedfast * em-format.c (em_format_class_remove_handler): New function to remove a mime-type handler from a class. * em-format-html.c (efh_init): Set the CITATION bit for the default html flags. * em-format-html-display.c: Fixed some compiler warnings by adding appropriate includes. (efhd_multipart_signed): Don't write "inlined signature...". 2003-09-03 Not Zed * em-icon-stream.[ch]: New subclass of emsyncstream, write camel stream one side, creates an icon on the other. * em-sync-stream.[ch]: New file, an abstract class for creating write-any-thread-act-gui-thread stuff. 'em-camel-stream' will subclass this. * em-format-html-display.c (efhd_attachment_button): setup a job to write out an icon if the type is an image type, otherwise try and get the icon directly. no caching yet. the system icons aren't scaled properly either. (efhd_write_icon_job): async job to write out image content. 2003-09-02 Not Zed * em-format-html.c (emfh_new_job): renamed to em_format_html_job_new and made public. (emfh_queue_job): renamed to em_format_html_job_queue, and made public. * em-format-html.h: Made EMFormatHTMLJob a public structure. 2003-09-02 Not Zed * em-folder-view.h (struct _EMFolderView): track the uicomponent while we're activated. * em-message-browser.c (em_message_browser_window_new): kill warning. (emmb_init, emmb_finalise): kill printf * em-format-html.c (efh_format_header): Converted code from head from David Woodhouse 's timezone display patch. (efh_format_text_header): support new flag, HEADER_HTML - header alredy in html format. * em-format-html-print.c (em_format_html_print_print): only ref print_config if != NULL. * em-folder-browser.c (emfb_tree_key_press): handle space/backspace in messagelist to scroll the message view. (emfb_create_view_menus): setup view menu's, this should probably live in message-list. (emfb_init): setup the folderbrowser enable map into the list. (emfb_enable_map): folder browser enable map * em-utils.c (em_utils_adjustment_page): new helper to scroll an adjustment up/down 1 page. * em-folder-view.c (emfv_list_double_click): implement, open window. (emfv_list_key_press): implement keybinding overrides. Enhance delete key to undelete if everything is already deleted. (emfv_build_enable_mask): separate out enable mask creation. (emfv_popup): use above to get mask. (emfv_enable_menus): enable/sensitize menus, use the same disable mask system as used for the popups. (emfv_destroy): change to use g_source_remove on seen_id. (emfv_finalise): free up folders, clean up async event thing. (emfv_init): setup an async event handler (emfv_set_folder): handle hook/unhook of folder_changed events. (emfv_folder_changed): proxy folder changed to main thread, ignore the details of what changed. (emfv_gui_folder_changed): update the menu's to reflect any folder changes. (emfv_build_disable_mask): added CAN_THREADED. (em_folder_view_disable_mask): make public (rename from emfv_build_disable_mask). (emfv_enable_menus): changed to work on a list of arrays of enablers, so they can be subclassed. (emfv_init): add our enable map to the ui. (em_folder_view_disable_mask): added support for can hidden (there are hidden messages). 2003-09-01 Not Zed * em-popup.c: New, simple menu-merging popup menu implementation. NOTE: should be temporary, but needs something that has similar merging facilities. * em-folder-view.c (emfv_popup*): added popup callbacks, implement a popup menu, using em_popup. (emfv_message_*): replaced a whole bunch of one-line, or simple functions with macro's to map to the popup implementation. (emfv_tools_vfolder*, emfv_tools_filter*): map to popup equivalents. (emfv_init): drop printf * em-format-html-display.c (efhd_attachment_popup): use the em_popup stuff to build a dynamic menu. * em-utils.c (em_utils_temp_save_part): change assignment order ot kill warning. (emu_get_save_filesel): handle null/empty name by appending / to the filename. 2003-08-30 Not Zed * mail-search.glade: forgot to add this yesterday. * em-utils.h: don't include stuff we dont need to. * em-folder-view.c (emfv_message_forward): just call em_utils_forward_messages. * em-format-html-display.c (em_format_html_display_search): removed unused. (efhd_drag_data_get): cleanup, use em_utils_temp_save_part. (efhd_attachment_popup): quick hack, setup a bunch more menu items, for forwarding inline messages, hook up saving parts, and messages, and hook up the 'open in' menu. (efhd_open_in): implement. * em-utils.c (em_utils_save_message): Renamed to em_utils_save_part. (em_utils_filesel_prompt): removed, it just makes things more complex than having a single response handler. (em_utils_save_part): move dialog stuff here, it also creates a name based on the type of part its given. (emu_get_save_filesel): new method to create a fileselector with standard options. (emu_save_part_response): handle file selector response for save part. (can_save): renamed to emu_can_save (em_utils_save_messages): use get_save_filesel (emu_can_save): handle the path="" case (em_utils_save_part): Add a prompt argument. (filesel_ok_cb): removed. (emu_update_save_path): update the gconf save_dir setting. (em_utils_forward_messages): helper to forward using default style. (forward_non_attached): remove uids argument. (em_utils_forward_message): helper to forward a message using the default forward style. (forward_non_attached): removed folder argument. (em_utils_temp_save_part): helper to save a part to a temporary file, e.g. for dnd, app launch, etc. 2003-08-29 Not Zed * em-folder-view.c: set 'outgoing' properly. * em-folder-browser.c (emfb_tools_subscriptions): enforce a single instance of the subscribe editor. (emfb_subscribe_editor_destroy): clear subscribe editor handle. 2003-08-29 Not Zed * em-camel-stream.c (em_camel_stream_new): Added some optional logging code. (stream_close): and here. (stream_write): and here. * em-folder-browser.c (emfb_init): remove fixme about search bar, its there now. also fixme's about dnd/selection, they are handled in lower-level widgets. (em_folder_browser_show_preview): dont exit if show preview set, but only if it hasn't changed. (emfb_view_hide_selected, emfb_view_show_all) (emfb_view_hide_read): removed some spurious printfs. * Makefile.am (glade_DATA): Added mail-search.glade. FIXME: should all glade files be merged into 1? * em-format-html-display.c (efhd_format_clone): remove search match count code from here - wont be finished rendering at this point anyway. (em_format_html_display_search): new api for running an interactive search popup. (efhd_update_matches, efhd_update_search) (efhd_search_entry_activate, efhd_search_case_toggled) (efhd_search_response): helpers/callbacks for search popup. (efhd_class_init): hook into complete signal on EMFormat. (efhd_complete): complete rendering handler, update match count. * em-folder-view.c: removed fixme about api's - yes, do need two set_folder api's. (emfv_edit_cut, emfv_edit_copy): removed printfs (emfv_edit_paste): removed commented call to html_paste, we never want to do that. 2003-08-29 Jeffrey Stedfast * em-folder-view.c (emfv_message_mark_unread): If there is a mark-as-read timeout handler registered, unregister it here. (emfv_tools_filter_mlist): Implemented. (emfv_tools_filter_recipient): Implemented. (emfv_tools_filter_sender): Implemented. (emfv_tools_filter_subject): Implemented. (emfv_tools_vfolder_mlist): Implemented. (emfv_tools_vfolder_recipient): Implemented. (emfv_tools_vfolder_sender): Implemented. (emfv_tools_vfolder_subject): Implemented. 2003-08-28 Not Zed * em-folder-browser.c (emfb_search_menu_activated) (emfb_search_config_search, emfb_search_search_activated) (emfb_search__query_changed): Implement search-bar callbacks. (emfb_init): setup search bar. 2003-08-28 Not Zed * em-folder-view.c (emfv_message_reply): common reply code entry point, also implement simple reply-to-highlighted text (currently disabled). (emfv_activate): disable resend message on non-sent folders. (emfv_message_reply_all, emfv_message_reply_list) (emfv_message_reply_sender): use message_reply for common code. (em_folder_view_open_selected): in drafts or outbox, edit the message instead. (emfv_activate): force a sync on deactivate. * em-utils.c (em_utils_selection_get_mailbox): get mailbox (message/rfc822?) selection data. (em_utils_read_messages_from_stream): helper to move stuff from a mbox stream to a folder. (em_utils_folder_is_drafts, em_utils_folder_is_sent) (em_utils_folder_is_outbox): from folder browser helpers for customising the user experience. * message-list.c (message_list_construct): hook onto dnd stufd. (ml_tree_drag_data_get): implement drag sending. (ml_tree_drag_data_received): implement drag recieving. * em-format-html-display.c (efhd_drag_data_get): implemented. (efhd_drag_data_delete): implemented. (efhd_attachment_button): setup dnd callbacks. 2003-08-28 Jeffrey Stedfast * em-folder-view.c (emfv_destroy): override the destroy method for GtkObject - unregister the mark-as-seen timeout if one is currently registered. (emfv_list_done_message_selected): Add the mark-as-seen timeout functionality here. (emfv_format_link_clicked): Implemented. 2003-08-27 Jeffrey Stedfast * em-utils.c (get_reply_list): Implemented. 2003-08-27 Not Zed * em-message-browser.c (emmb_activate): disable Edit->Paste menu always. * em-folder-browser.c (emfb_edit_paste): do a message-list paste, not a html one. (emfb_edit_cut, emfb_edit_copy, emfb_edit_paste): Moved to folder-view. * message-list.c (message_list_paste): trigger a paste action. (message_list_set_folder): added a uri argument, and save it internally, fixed all callers. (message_list_finalise): free the folder uri. * em-utils.c (em_utils_selection_set_mailbox): New helper to set the current selection as text in a berkely mailbox format. (em_utils_write_messages): helper to write stuff to a stream in mbox format. 2003-08-27 Not Zed * message-list.c (on_selection_changed_cmd): own/deown the primary selection when it changes. (message_list_init): init private data and invisible for selection. (message_list_destroy): free invisible. (message_list_finalise): free private data. (get_selected_cb): removed. (message_list_copy): new method to do copy and cut. cut/copy to the clipboard. (ml_selection_clear_event): clear the right selection when requested. (message_list_has_primary_selection): helper to find out if the message-list has the selection. is there a gtk way for this? 2003-08-26 Not Zed * mail-local.c (mlf_meta_set, mlf_meta_get): proxy meta-data stuff to subservient folder. 2003-08-23 Not Zed * em-folder-view.c (emfv_init): init preview here always. 2003-08-25 Jeffrey Stedfast * em-folder-view.c (em_folder_view_print): Use e_dialog_set_transient_for(). (emfv_message_delete): Fixed a FIXME. * em-folder-browser.c (emfb_edit_cut): Implemented. (emfb_edit_copy): Implemented. (emfb_edit_paste): Implemented. * em-format-html-display.c (em_format_html_display_cut): New function. (em_format_html_display_copy): New. (em_format_html_display_paste): New. 2003-08-25 Jeffrey Stedfast * em-utils.c (em_utils_flag_for_followup): Use e_dialog_set_transient_for(). (em_utils_filesel_prompt): Same. (post_reply_to_message): Here too. (em_utils_edit_filters): Same. (create_new_composer): And here. (em_utils_compose_new_message_with_mailto): Here too. (em_utils_post_to_url): " (redirect_get_composer): Same. (reply_get_composer): Again... * em-folder-browser.c (emfb_tools_filters): Implemented. * em-utils.c (em_utils_edit_filters): New function to open the filter editor dialog. 2003-08-22 Jeffrey Stedfast * em-utils.c (em_utils_flag_for_followup): Implemented. (em_utils_flag_for_followup_clear): Implemented. (em_utils_flag_for_followup_completed): Implemented. * em-folder-view.c (emfv_message_followup_flag): Implemented. (emfv_message_followup_clear): Implemented. (emfv_message_followup_completed): Implemented. 2003-08-22 Not Zed * em-camel-stream.c (em_camel_stream_new): now take the gtkhtml too, and hook onto it's destroy so we don't try writing anymore after its gone. (stream_write, stream_flush, stream_close, emcs_gui_received): NOOP if the gtkhtml has been destroyed. (emcs_gtkhtml_destroy): null out the stream when the gtkhtml gets destroyed, it is no longer valid. (emcs_gui_received): dont try to soak all outstanding events, it always runs synchronous anyway, just get one and exit. * em-format-html.c (efh_gtkhtml_destroy): if the gtkhtml gets destroyed, abort any pending timeouts/processing. (efh_format_source): fixed implementation to write out all headers. (efh_multipart_related, emfh_multipart_related_check): separate checking for unused parts into a separate job, which is run after previous ones are executed. keep track of visibility tree level in job, etc. 2003-08-22 Jeffrey Stedfast * em-folder-browser.c (emfb_mail_compose): Implemented. (emfb_mail_post): Implemented. * em-utils.c (em_utils_compose_new_message): New function. (em_utils_compose_new_message_with_mailto): New. (em_utils_post_to_url): New. 2003-08-21 Not Zed * subscribe-dialog.glade: removed the text in the progress thing. It never showed up anyway and caused weird resizing stuff when the progress bar was active. * em-subscribe-editor.c: Found the correct version of the new subscribe code (on branch, duh!), and integrated it. (sub_selection_changed): Sensitise buttons based on selection. * em-format-html.c (efh_text_plain, efh_text_enriched) (efh_write_text_html): Use format_text for text output. (efh_write_image): use explicit image writer. (emfh_gethttp): added some progress stuff. (efh_format_do): maintain the accessible uri tree during jobs. (efh_url_requested): store the current uri accessibility tree node in the job, so it can be properly set for sub-jobs. (emh_multipart_related): moved here, can't use super-class version as it doesn't know about async jobs. (type_buildin_table[]): Added image/jpg and image/jpeg for the brokenmailers out there and to reduce the whinge. * em-format.c (em_format_format_content): For text parts, perform default charset/charset snooping/decoding. No longer closes the stream once complete. (emf_write_related): close stream ourselves. 2003-08-21 Jeffrey Stedfast * em-folder-view.c (emfv_message_forward): Implemented. (emfv_message_forward_attached): Implemented. (emfv_message_forward_inline): Implemented. (emfv_message_forward_quoted): Implemented. (emfv_message_redirect): Implemented. (emfv_message_post_reply): Implemented. (emfv_message_reply_all): Implemented. (emfv_message_reply_list): Implemented. (emfv_message_reply_sender): Implemented. (emfv_message_resend): Implemented. (emfv_message_saveas): Implemented. * em-composer-utils.c: New source file containing all the composer send/draft callback mess. * em-utils.c (em_utils_uids_copy): New convenience function to copy a list of uids. (em_utils_uids_free): New convenience function to free a list of uids. (em_utils_save_message): New function to save a CamelMimeMessage (prompts the user for a location to save). (em_utils_save_messages): New function to save a list of messages (given a folder and list of uids). (em_utils_configure_account): Configure a new account... (em_utils_check_user_can_send_mail): Make sure the user has a transport setup. (em_utils_edit_message): New function to edit a message object. (em_utils_edit_messages): New function to open a composer to edit each message. (em_utils_forward_attached): New function to forward messages as an attachment, (em_utils_forward_inline): Forward a bunch of messages inline. (em_utils_forward_quoted): Forward a bunch of messages quoted. (em_utils_redirect_message): Redirect a message object. (em_utils_redirect_message_by_uid): Redirect a message given a folder and uid. (em_utils_reply_to_message): Reply to a message object. (em_utils_reply_to_message_by_uid): Reply to a message given a folder and uid. (em_utils_post_reply_to_message_by_uid): Post a reply to a message given a folder and uid. * mail-ops.c (filter_folder_free): Use em_utils_uids_free(). (transfer_messages_free): Same. (get_messages_free): Here too. (save_messages_free): Same. 2003-08-20 Not Zed * em-subscribe-editor.[ch]: new widget, a dialog for editing subscriptions. * em-format-html.c (efh_format_done): emit a complete when done. * em-format.c (emf_class_init): Added a 'complete' signal, so that printing knows when to print. * em-format-html-print.c (em_format_html_print_print): Changed to take the message and source formatter too. Runs an async render then prints. 2003-08-19 Not Zed * em-*.c: stacks more changes, added some bonobo menu setup, and implemented the trivial functions. * em-message-browser.[ch]: New message browser, inherits from em-folder-view. Basically works. * message-list.c (message_list_select_uid): if we're selecting while still loading, setup a pending select. (regen_list_free): Check for a pending select, and select the message if we're now idle. * em-folder-view.c (em_folder_view_set_message, em_folder_view_set_folder): Make virtual macro's. (emfv_control_activate): added hook to enable bonobo state when setup. * em-format.c (emf_format_clone): base implementation, just clears state data. * em-format.h: change ::format to ::format_clone. Make em_format_format_clone a macro/virtual method. * mail-mt.c (em_channel_setup): new function to setup i/o channels, so we can control the recursive flag. leave off for now. (mail_msg_init): setup MsgPort channels using above. * em-format-html.c (efh_format): serialise/de-recursify formatting via a timeout function. (efh_format_timeout): keep polling to find out if cancellation is complete, then kick off a new render. 2003-08-18 Not Zed * em-*.c: more updates, incl threaded formatting queue. 2003-08-18 Jeffrey Stedfast * em-format-html-display.c (em_format_html_display_zoom_in): New method to zoom-in on the gtkhtml contents. (em_format_html_display_zoom_out): Same but for zoom-out (em_format_html_display_zoom_reset): You get the idea. 2003-08-12 Jeffrey Stedfast * mail-callbacks.c (invert_selection): Use message_list_invert_selection(). (select_thread): Use message_list_select_thread(). (select_all): Use message_list_select_all(). * message-list.c (message_list_select_all): New function. (message_list_select_thread): New function. (message_list_invert_selection): New function. 2003-08-12 Jeffrey Stedfast * mail-session.c: Synced up with HEAD. * component-factory.c: * mail-folder-cache.[c,h]: * mail-tools.h: * mail-ops.[c,h]: * mail-send-recv.c: * mail-format.[c,h]: * mail-display.c: * mail-account-gui.c: * mail-local.c: * mail-offline-handler.c: * subscribe-dialog.c: 2003-08-12 Jeffrey Stedfast * em-format-html-display.c: Fixed some compiler warnings. * em-format.c: Updated for new mime-parser changes made to HEAD. * em-folder-view.c: Fixed some compiler warnings. * em-format-html.c: Fixed some compiler warnings. 2003-08-06 Not Zed * em-format-html-display.c (efhd_format_attachment): Added bonobo embeddables. 2003-08-01 Harry Lu *Fix for bug #6951 * mail-display.c (launch_cb): Bypass the new added menu item. (save_all_parts_cb): New function. Do the real save-all work. (save_all_parts): New function. Get the directory to save to. (save_all_cb): New function. The call-back function for the new added menu item. (pixmap_press): Add the new menu item "Save All Attachment...". (ptr_array_free_notify): A simple wrapper function to free the pointer array. (do_attachment_header): Save attachment pointer in an array for "Save All Attachment" use. 2003-08-01 Yuedong Du * message-browser.c (on_key_press): close mail message window using 'ESC' key, fix bug #47087 2003-07-28 Jeffrey Stedfast * mail-crypto.c: Removed smime functions as they were stale. 2003-07-25 Jeffrey Stedfast * message-browser.c (message_browser_new): Handle our own Delete key presses. Fixes bug #45597. 2003-07-25 Ettore Perazzoli * mail-callbacks.c (do_view_message): No need to pass a shell argument to message_browser_new() anymore. * message-browser.c (message_browser_new): Removed arg shell. No need to pass it to folder_browser_new() either. * mail-component.c (create_view_callback): No need to pass a shell arg to folder_browser_factory_new_control() anymore. * folder-browser-factory.c (folder_browser_factory_new_control): Removed arg shell; folder_browser_browser_new() doesn't need it anymore. * folder-browser.c (folder_browser_destroy): No need to unref ->shell anymore. (folder_browser_new): Removed shell arg. (folder_browser_gui_init): Removed a const qualifier that was not supposed to be there. * folder-browser.h: Removed member shell from struct FolderBrowser. 2003-07-25 Ettore Perazzoli * folder-browser.c (folder_browser_gui_init): Get the search context through mail_component_peek_search_context(), since it's no longer a global variable. (folder_browser_gui_init): Cleaned up an extra unneeded if() statement. * mail-component.c: New member search_context in struct MailComponentPrivate. (mail_component_peek_search_context): New. (setup_search_context): New function to initialize the search_context, based on the old code in component-factory.c. (mail_component_init): Call it here. (impl_dispose): Unref the rule_context. * mail-component-factory.c: Removed global variable search_context. 2003-07-25 Ettore Perazzoli * mail-component.c (browser_page_switched_callback): New callback for the "page_switched" signal on EStorageBrowser; deactivate the previous page, activate the new one. (impl_createControls): Connect. 2003-07-24 Ettore Perazzoli * mail-mt.c (do_op_status): Pass "evolution-mail" as the ID to evolution_activity_client_new(). [This is just a temporary thing to avoid the fact that we don't have component-factory.h anymore. Eventually we'll just get rid of the activity client stuff.] * mail-component-factory.c: Added to the build. Also, finished implementing and moving the factory over from component-factory.c. * component-factory.c: Removed from the build. * component-factory.h: Removed from the build. * mail-component.c: Removed some debugging messages. 2003-07-23 Ettore Perazzoli * subscribe-dialog.c: Converted to use EStorages instead of EvolutionStorages and the new MailComponent object. * mail.h: Nuked a bunch of stuff. This will go away when I am done refactoring. * mail-offline-handler.c: Use the new MailComponent object. * mail-folder-cache.c, mail-folder-cache.h: Converted to use EStorages instead of EvolutionStorages. * mail-display.c: Use g_timeout and g_source functions instead of gtk_timeout functions. * mail-send-recv.c: Use g_timeout and g_source functions instead of gtk_timeout functions. (receive_update_got_store): Updated for the new mail_note_store(). * mail-session.c: Use g_timeout and g_source functions instead of gtk_timeout functions. * mail-config-factory.c (factory): Removed. * folder-browser.c (folder_browser_destroy): Use GLib timeout/source functions instead of the deprecated GTK ones. (done_message_selected): Likewise. (folder_browser_gui_init): Protect against fb->search being NULL. * mail-account-gui.c (add_new_store): Use new MailComponent object and EStorages instead of EvolutionStorages. (mail_account_gui_save): Likewise. * mail-accounts.c (account_delete_clicked): Use new MailComponent object and EStorages instead of EvolutionStorages. (account_able_clicked): Likewise. (account_able_toggled): Likewise. * mail-autofilter.c: Use mail_component_peek_base_directory() instead of the evolution_dir global. * mail-callbacks.c: Likewise. * mail-config.c (uri_to_evname): Likewise. (mail_config_get_signature_list): Likewise. (delete_unused_signature_file): Likewise. * mail-display.c (mail_display_class_init): Likewise. * mail-importer.c (mail_importer_make_local_folder): Likewise. * mail-local.c (mlf_getv): Likewise. * mail-ops.c (uid_cachename_hack): Likewise. * mail-summary.c (generate_folder_summaries): Likewise. * mail-tools.c (mail_tool_get_local_inbox): Likewise. (mail_tools_folder_to_url): Likewise. * mail-vfolder.c (mail_vfolder_delete_uri): Likewise. (mail_vfolder_rename_uri): Likewise. (context_rule_removed): Likewise. (store_folder_deleted): Likewise. (store_folder_renamed): Likewise. (vfolder_load_storage): Likewise. (vfolder_editor_response): Likewise. (edit_rule_response): Likewise. (new_rule_clicked): Likewise. (vfolder_gui_add_rule): Likewise. * mail-session.c (main_get_filter_driver): Likewise. (mail_session_forget_password): Likewise. (mail_session_init): Get a base_directory arg. * component-factory.c, component-factory.h: Disabled a bunch of stuff to get it to compile in the new configuration. These files will eventually go away when I am done refactoring this. * Makefile.am: Do not build importers, compile generate skels/stubs for Evolution. * GNOME_Evolution_Mail.server.in.in: Rename control factory to OAFIID:GNOME_Evolution_Mail_Factory2. Add new component GNOME_Evolution_Mail_Component2. * mail-component-factory.c: New file implementing the Bonobo factory. * mail-component.c, mail-component.h: New files implementing the new mail component, using the new Evolution::Component IDL. 2003-07-23 Jeffrey Stedfast * mail-format.c (mail_format_data_wrapper_write_to_stream): Revert prior changes. 2003-07-23 Dan Winship * folder-browser.c (message_list_drag_data_get): Fix type warnings (folder_browser_toggle_caret_mode): Remove unused variable. * folder-browser-ui.c (basename): remove unused function * mail-account-gui.c (mail_account_gui_build_extra_conf): Fix warnings * mail-callbacks.c (empty_trash): Remove unused variable. * mail-display.c: #include gal/widgets/e-gui-utils.h for e_auto_kill_popup_menu_on_selection_done * mail-importer.c: #include e-util/e-path.h for e_path_to_physical * mail-session.c (main_play_sound): don't declare filename to be const and then free it. * mail-vfolder.c (vfolder_edit_rule, vfolder_gui_add_rule): Fix casts * message-list.c (build_flat_diff): Fix a typo in the non-BROKEN_ETREE code 2003-07-16 Jeffrey Stedfast * mail-format.c (handle_multipart_encrypted): We don't have camel_pgp_mime_is_rfc2015_encrypted() anymore so just look at the protocol for now. (mail_format_data_wrapper_write_to_stream): Updated for the new way camel handles content objects. 2003-07-15 Federico Mena Quintero * folder-browser.c (message_list_drag_data_received): Handle invalid URIs, or more likely, the last empty element in a URI list --- g_strsplit() will yield { "uri1", "", NULL }. Fixes #46398. * component-factory.c (destination_folder_handle_drop): Likewise. 2003-07-15 Yuedong Du * mail-config.c: (config_write_style), (mail_config_init): remove the use of caret mode widget style. * mail-display.c: (display_notify), (mail_display_new): use new gtkhtml api to set caret mode. 2003-07-11 Antonio Xu * folder-browser-ui.c: Change the EditPaste mask to IS_0MESSAGE so that it is always activatable. Fixes bug #46018. 2003-07-04 Maxx Cao ** For bug #41839 * mail-display.c (do_attachment_header): Attachment buttons made accessable with keyboard (focusable). "Inline" button is disabled when attachment can't be viewed inline. (do_signature): Signature button made accessable with keyboard (focusable). (button_press): Function changed to an event callback (originally gtkbutton signal callback). (popup_menu_placement_callback): Function added to place popup menu (of attachment) beside button when activated by keyboard. 2003-07-10 Yuedong Du * evolution-mail.schemas: add a gconf key corresponding to newly introduced caret mode of gtkhtml widget. * folder-browser-ui.c: new verb handling, corresponding the new menu entry for the caret mode flag. * folder-browser.h: declaration of new verb handler to the menu entry that turn caret mode on/off. The function just set the new introduced gconf key. * folder-browser.c: ditto * mail-config.c: lstione to the new gconf key, and when caret mode flag is set/unset,change the style of gtkhtml widget. see bug #44607. 2003-07-09 Jeffrey Stedfast * mail-crypto.h: Removed camel-pgp-mime.h, it no longer exists. * mail-format.c: Remove camel-pgp-mime.h 2003-07-07 Jeffrey Stedfast * mail-callbacks.c (mail_generate_reply): Use camel_strcase_hash/equal. * upgrade-mailer.c: Updated to use the camel-file-utils version of mkdir. 2003-07-02 Jeffrey Stedfast * mail-tools.c (mail_tool_forward_message): Strip the signature from the body text. Fixes bug #45523. While we're here, also fix the code to quote exactly the same way as the mail_tool_quote_message() function. (mail_tool_quote_message): The last arg should not be 'want_plain', because that arg is for whether or not the body should be quoted. * folder-browser.c (message_list_drag_data_get): Apply a From-filter when dragging as a test/uri-list and message/rfc822. Fixes bug #45617. Also free the uids ptrarray for the text/uri-list case. 2003-07-01 Dan Winship * mail-display.c (pixbuf_for_mime_type): Gone (pixbuf_gen_idle): Use e_icon_for_mime_type instead. 2003-06-27 Jeffrey Stedfast * message-list.c (filter_date): Use the newer utf8 versions of the e_strftime*() functions since our format strings are all now in UTF-8. * mail-display.c (mail_display_render): Use the newer e_utf8_strftime_fix_am_pm(). * mail-callbacks.c (mail_generate_reply): Use e_utf8_strftime(), otherwise we can end up with invalid utf-8. 2003-06-25 Radek Doulik * mail-config.c (config_write_style): provide hardcoded default (red) spell error color 2003-06-24 Jeffrey Stedfast Might fix bug #45368 but I wouldn't bet on it. * message-browser.c (message_browser_new): Record the signal id for folder_loaded. (message_browser_folder_loaded): disconnect by id rather than searching for the handler. Save the id of the message_list_built signal handler. (message_browser_message_list_built): Disconnect the handler by id. (message_browser_destroy): Disconnect the signal handlers by id. 2003-06-20 Not Zed ** See bug #43887 * mail-format.c (mail_get_message_body): handle text/enriched and text/richtext explictly, and dont treat them as text/plain. 2003-06-23 Radek Doulik * mail-config.c (config_write_style): add EvolutionMailPrintHTMLWidget style assignment * mail-callbacks.c (do_mail_print): set printing widget name 2003-06-23 Dan Winship * message-list.c (on_selection_changed_cmd): Save the idle_id 2003-06-23 Larry Ewing * folder-browser.c (do_message_selected): make sure not to strcmp a possibly NULL string. 2003-06-19 Not Zed ** See bug #45063 * folder-browser.c (do_message_selected): dont re-load if the same message gets selected again as one we've already shown. Etree sends out selection changed events even when when it hasn't. 2003-06-18 Jeffrey Stedfast * message-list.c (hide_save_state): Only save state if we have a folder reference. Fixes some warnings about casting a NULL object to a CamelFolder. 2003-06-16 Jeffrey Stedfast * message-list.c (ml_tree_value_at): Don't display an unread icon for a parent message status if it has unread children but has been read itself. Instead, show that we have unread children by just making the message test bold (which it was already doing, so yay... this was easy). Fixes bug #42630. 2003-06-16 Not Zed ** See bug #44609 * mail-vfolder.c (vfolder_edit_rule): put the ok/cancel buttons in the stupid gnome 2 order. ** See bug #33593 * message-list.c (on_selection_changed_cmd): also listedn to selection changed events, since the etable api has changed. (get_selected_cb): helper for above. (message_list_construct): hook to selection change signal. * mail-callbacks.c (composer_send_queued_cb): Unref the composer to match the ref composer_send_cb(); ** See bug #44519 * message-browser.c (message_browser_message_list_built): We want to disconnect from the messagelist, not folderbrowser signal. 2003-06-11 Jeffrey Stedfast * mail-format.c (format_mime_part): We only really want to use mail_identify_mime_part() if the content-type is application/octet-stream - any other type (if it doesn't have a handler) should just force the user to save to disk. (handle_text_plain): Only pay attention to format=flowed if the mime-type is text/plain (handle_text_plain is the generic text handler, so we might be processing parts that are not really text/plain, thus the format param may have different meaning for those other textual types). 2003-06-11 Larry Ewing * mail-format.c (mail_lookup_handler): free the application list if we are bailing. * mail-send-recv.c (free_folder_info): free the info structure as well. 2003-06-06 Jeffrey Stedfast * 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 * 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. 2003-06-11 Not Zed ** 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 ** 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 ** 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. 2003-06-03 Federico Mena Quintero * mail-search.c (mail_search_construct): Put the buttons in HIG order; don't replace the label of the stock Find button. Also, add Escape as a keybinding for the Close button (see why GTK+ is on crack on b.g.o #74221 and #101293).