2004-02-05 Jeffrey Stedfast * em-folder-view.c (emfv_mail_next_flagged): Pass TRUE as wraparound (to both be consistant with prev_flagged and to fix bug #48681. 2004-02-05 Not Zed * em-folder-tree.c (emft_copy_folders__copy): sync the from folder if we're going to delete it, otherwise we can't because its not empty. See #53815. 2004-02-05 Not Zed * em-folder-tree-model.c (em_folder_tree_model_drag_data_received): hmm, another well tested bit of code ... if you launch another thread you gotta copy the selection since it wont hang around until we're done with it. So copy/parse the selection data into appropriate structures. (drop_folder): just take the async message as an argument, rather than copying half of it to the stack. (drop_text_uri_list, drop_uid_list): replace most args with the thread message. (drop_message_rfc822): removed, now trivial. (emftm_drag_data_received_async__drop): change for changed args, and fix a memleak. (emftm_drag_data_received_async__free): fixed for changed structure. * em-folder-tree.c (em_folder_tree_create_folder): call abort before we unref, aid debugging if we hit it. * mail-vfolder.c (uri_is_spethal): check for vfolder/vtrash folders. Based on name check and store options. 2004-02-04 Jeffrey Stedfast * em-folder-tree-model.c (em_folder_tree_model_row_drop_target): Don't allow dropping into a vfolder (store). Fixes bug #53757. 2004-02-04 Not Zed ** See bug #53683. * mail-ops.c (mail_sync_store): new async op to call CamelStore::sync. * mail-component.c (impl_requestQuit): implement, check to see if we can quit, or have open or unsent messages (and are in online mode). (impl_quit): implement. Trigger off a sync of all open stores, and return FALSE until its done. (impl_upgradeFromVersion): fixed the signature to match the idl, killed that warning at last. ** See bug #53832. * em-folder-browser.c (emfb_folder_properties): only show this if we have a uri set. Strictly, the menu item shouldn't be activated. ** See bug #53131. * em-folder-browser.c (em_folder_browser_show_preview): copy the message list's cursor_uid before calling set_message, since it can get freed during setting the message. 2004-02-03 Jeffrey Stedfast * em-folder-tree.c (tree_drag_data_received): Modified slightly. The model now calls gtk_drag_finish() for us when it is done. * em-folder-tree-model.c (em_folder_tree_model_drag_data_received): Make this perform camel operations in another thread so we don't block. (em_folder_tree_model_drag_data_get): Updated args to be consistant with drag_data_received. 2004-02-03 Radek Doulik * em-junk-filter.c: handle the sa prefs here, have own gconf client with sa dir added * mail-session.c: removed sa prefs 2004-02-02 Jeffrey Stedfast Fix for bug #52941 * em-message-browser.c (em_message_browser_window_new): Set window size based on previous size; load from gconf if necessary. (window_size_allocate): Save window size changes. 2004-02-02 Not Zed ** See bug #53549. * em-folder-selector.c: Fix handling a parent path of "/". * mail-ops.c (mark_junk_mark): removed the really innacurate cut and paste comment. This has nothing to do with filter_folder. ** See bug #52994. * em-folder-properties.c (em_folder_properties_show): redirect vFolder uri's to the vFolder editor. ** See bug #53502. * em-folder-browser.c (emfb_folder_properties): implement. * em-folder-tree.c (emft_popup_properties): fixed for change below. * em-folder-properties.[ch]: Moved the folder properties window from em-folder-tree.c to its own file. 2004-02-02 Not Zed ** See bug #53559. * em-folder-tree.c (folder_tree_new): set CAN_FOCUS flag on the folder tree content widget. * em-folder-selector.c (em_folder_selector_construct): Don't wrap the folder tree in a scrolled window. Its already in one ????. (em_folder_selector_construct): dont set can_focus on the folder tree. 2004-02-01 Bill Zhu Fixes for bug #53530 * em-utils.c (em_utils_redirect_message): Removed the duplicate adding of attachments 2004-01-30 Jeffrey Stedfast Fixes for bug #53348 * mail-account-gui.c (mail_account_gui_save): Only add the new store to the mail-component if the mail-component doesn't already know about it (ie. only if we are adding a new account). * em-folder-tree-model.c (em_folder_tree_model_add_store): Hash our store-info based on account here. (em_folder_tree_model_init): Listen for account_changed/account_removed signals. (em_folder_tree_model_finalize): Disconnect above handlers. (account_changed): Tear down the account store node and replace it with the new store (assuming it belongs in the tree after the changes). (account_removed): Remove the account store from the tree. 2004-01-30 Jeffrey Stedfast * em-folder-tree.c (emft_tree_row_expanded): Get recursive folder listing (needed or folders that have as-of-yet-unloaded-subfolders that contain unread mail will not be bolded). Fixes bug #51045. Fix for bug #53195. * em-folder-browser.c (emfb_set_folder): Restore search_state. (emfb_search_search_activated): Save search_state. 2004-01-30 Not Zed ** See bug #53549, partial fix. * em-folder-selector.c (emfs_create_name_activate): only emit the ok response if the ok button would be active (i.e. entered a valid path). ** See bug #52992. * message-list.c (message_list_hide_clear): save the hide state after its been cleared, so any popup windows inherit it. (message_list_hide_uids): same. ** See bug #53123. * em-folder-tree-model.c (drop_folder): changed to take store and dest folder as arg, to handle the case of the parent folder being "" properly. (em_folder_tree_model_drag_data_received): special case dropping a folder, and don't allow dropping to "" for any other types. 2004-01-30 Not Zed ** See bug #53558 (plus other fixes/cleanups) * em-format.c (emf_format_secure): default implementation, handle output of inner part, but dont output any sign/encrypt info. (emf_multipart_signed, emf_multipart_encrypted): replaced with implementations from em-format-html.c, which now call em_format_format_secure to output guts. (emf_class_init): hook-up virtual method format_secure. * em-format.[ch]: add a virtual method for outputing secured parts. Moved all validity stuff from em-format-html.[ch] to here. * mail-component.c (impl_createControls): set the session interactive too. * em-format-html-display.c: make smime stuff dependent on HAVE_NSS. (efhd_multipart_signed, efhd_application_xpkcs7mime): removed, now handled by root class. (efhd_output_secure): renamed to efhd_format_secure, and use EMFormat::format_secure to kick off. (efhd_class_init): setup format_secure virtual method. * em-format-html.c (efh_multipart_encrypted): We need to handle this here so we can properly keep track of the ciphervalidity stuff. Also do it directly using the context, not multipartencrypted part. (efh_multipart_signed): with unsupported signature format, format as multipart/mixed, not as an attachment. (efh_multipart_signed): make the smime stuff optional. (efh_multipart_signed, efh_multipart_encrypted): Moved to em-format.c. (efh_application_xpkcs7mime): moved to em-format.c (efh_output_secure): renamed to efh_format_secure, linked into virtual method. call parent class to do the validation foo then output the info if needed. (efh_format_message): fixed access to validity stuff to parent object. (efh_class_init): hook up format_secure virtual method. (*): removed some now-unused headers. 2004-01-29 Nicel KM * mail-component.c: removed CAMEL_PROVIDER_IS_EXTERNAL check * mail-account-gui.c: likewise * mail-offline-handler.c: likewise 2004-01-29 Not Zed * em-format-html-display.c (efhd_attachment_button): check the snooped type for the icon/etc. (efhd_format_attachment): save the snooped type in the attach_puri. * em-format-html.c (efh_text_plain): If we had a snooped type, use that as the base type, rather than octet-stream, which will cause an attachment in attachment loop. * em-format.c (em_format_part_as): save the current snooped mime type in a stack if we had any. 2004-01-29 Not Zed ** See bug #53320 and probably others * message-list.c (message_list_set_folder): NULL out message_list->folder when we clear it so it isn't left for another free when we switch again. 2004-01-29 Not Zed ** See bug #52190. * message-list.c: Added folder/folder uri to the data stored for primary/secondary selection, uses a struct to store the data now. This is needed so when you cut/copy messages, and paste them, it doesn't end up 'pasting' the messages from the current folder, but from the one where the copy/cut took place. (clear_selection): helper to free data inside selection struct. 2004-01-29 Not Zed ** See bug #53506. * mail-tools.c (mail_tools_folder_to_url): use a camelurl to do this properly, and handle fragment folder-paths. * em-composer-utils.c (em_utils_composer_send_cb): removed outbox_folder local, not necessary. 2004-01-28 Jeffrey Stedfast * em-folder-tree-model.c (em_folder_tree_model_add_store): If the store is already in the model, remove it and then re-add it. Fixes bug #53422. 2004-01-28 Jeffrey Stedfast And thus completes the fixes for bug #52766. * em-folder-tree.c (tree_drag_drop): Don't call gtk_drag_get_data() manually here or we end up getting 2 drag-data-received callbacks which is Not Good (tm). * em-folder-tree-model.c (drop_folder): Now takes a moved argument to specify whether or not the contents were moved (the move argument is just a hint). (drop_uid_list): Same. (em_folder_tree_model_drag_data_received): Updated for the above api changes. 2004-01-28 Not Zed ** See bug #53179 * mail-tools.c (mail_tool_get_local_movemail_path): Fix the movemail path. * mail-component.c (load_accounts): hack alert! * mail-send-recv.c (get_receive_type): hack alert! hardcode mbox: to be a movemail source. 2004-01-28 Not Zed * mail-send-recv.c (setup_send_data): ref folder from mail_component_get_folder. * mail-ops.c (fetch_mail_fetch): ref the folder we get from mail_component_get_folder since it doesn't ref it. 2004-01-27 Jeffrey Stedfast * em-migrate.c (cp): Removed unneeded debug printfs. * em-folder-tree.c (tree_drag_data_received): Use gtk_tree_view_get_dest_row_at_pos() instead of gtk_tree_view_get_path_at_pos() since this is what Nautilus uses. Unfortunately, it still gives us back the wrong GtkTreePath so it looks to me like Gtk+ is borked. Apparently you need the latest and greatest gtk+-2.3.x cvs snapshot for this to work. * em-migrate.c (em_migrate_imap_caches_1_4): Copy the imap cache into the right place. Duh. 2004-01-27 Not Zed ** See bug #53084 and others. * em-migrate.c (em_migrate): remove the vfolder_revert hack. * em-composer-utils.c (ask_confirm_for_only_bcc): removed unused vars. * mail-tools.c (mail_tool_get_local_inbox): removed, handled by mail_component_get_folder now. * mail-component.c (mail_component_*): Changed the api slightly. Using NULL as the component argument automatically implies you want the default component. (em_uri_from_camel, em_uri_to_camel): moved to em-utils.[ch]. Ok so it isn't namespaced right ... *shrug*. (mail_component_get_local_inbox): removed. (mail_component_get_folder): single entry point for getting standard folders. This is MT-Safe. (mail_component_get_folder_uri): single entry point for getting standard folder uri's. This is MT-Safe. (add_store): removed, moved to mail_component_add_store. (mail_component_load_store_by_uri): call mail_component_add_store directly rather than copying its code. (default_*_folder*): Removed, use accessor methods instead, fixed all callers. (setup_local_store): renamed to mc_setup_local_store, use proper url encoding too. make run-once and thread-safe. (MailComponentPrivate): Added a lock. (mail_control_new): exported properly to kill warnings. (mail_component_init): dont setup_local_store or add accounts here. (impl_createControls): setup local store/accounts here. (mail_component_peek): dont setup vfolder storage here. (mc_startup): internal function to startup stuff needed for gui operation. (setup_search_context): make run-once. (mail_component_peek_search_context): call setup_search_context incase it isn't setup yet. (impl_upgradeFromVersion): remove the local store setup hack. 2004-01-27 Not Zed * em-folder-tree-model.c (folder_renamed): fix the parent-finding logic. 2004-01-23 Not Zed * mail-component.c (mail_component_init): add the offline handler interface to the component. (store_go_online, go_online): removed, handled by the offline handler. * mail-offline-handler.c (store_go_online): add the store to the tree model when we go online. 2004-01-26 Jeffrey Stedfast Fixes for bug #53251. * mail-account-gui.c (mail_account_gui_new): Convert the account drafts/sent folder uris to camel uris. (mail_account_gui_save): Convert drafts/sent camel uris into mailer uris when setting them on the account. Also, don't compare against file: anymore since those uris don't exist anymore. * em-migrate.c (em_upgrade_accounts_1_4): Update the drafts/sent folder uris. 2004-01-26 Jeffrey Stedfast * em-folder-tree.c (tree_drag_begin): Set priv->drag_row. 2004-01-26 Aaron Weber * mail/default/C/Inbox: edited default message 2004-01-26 Jeffrey Stedfast * em-folder-tree.c (emft_copy_folders__copy): Use FOLDER_INFO_FAST bitflag here, since we don't care about unread counts when copying folders around. (emft_popup_delete_folders): Same. (emft_tree_row_expanded): Don't use FOLDER_INFO_FAST here. 2004-01-26 Radek Doulik * mail-session.c (main_get_filter_driver): translate DEMAND to INCOMING to get the right rules * mail-ops.c (mail_filter_on_demand): use FILTER_SOURCE_DEMAND Fixes #53266 2004-01-25 Rodney Dawes * em-folder-selector.c (em_folder_selector_create_new): Cast the name entry to a GtkWidget to avoid a compiler warning * em-folder-tree.c (emft_popup_new_folder): Grab focus on the name entry when we show the dialog (#53089) Fixes #53089 2004-01-23 Jeffrey Stedfast * em-folder-tree-model.c (em_folder_tree_model_get_type): Removed the drag & drop interfaces, apparently these aren't good enough for what we need. Gotta implement this all the Hard Way (tm). (em_folder_tree_model_drag_data_received): Helper function called by the drag_data_received signal callback in em-folder-tree.c (em_folder_tree_model_row_drop_possible): Same idea. (em_folder_tree_model_row_drop_target): Again. (em_folder_tree_model_row_draggable): You get the idea... (em_folder_tree_model_drag_data_get): And again. (em_folder_tree_model_drag_data_delete): Same. (em_folder_tree_model_set_drag_drop_types): Setup the drag & drop types on the widget (since the target drag & drop types are now internal to the model code rathr than the tree code). * em-folder-tree.c (em_folder_tree_enable_drag_and_drop): Rewritten. Connect to all the drag & drop signals and implemnent them. 2004-01-23 Larry Ewing * mail-component-factory.c (factory): add the control id to the factory. 2004-01-23 Jeffrey Stedfast * em-migrate.c (upgrade_xml_uris_1_4): Handle where the file: url is roken (ie, points to a location out of the evolution namespace). 2004-01-23 Rodney Dawes * em-folder-selector.c: Set the mnemonic widget for "Folder _name:" Fixes #53088 2004-01-23 Radek Doulik * em-junk-filter.c: use mail_session_get_sa_daemon_port * em-mailer-prefs.c (em_mailer_prefs_construct): added check_incoming_imap (em_mailer_prefs_apply): ditto (settings_changed): set check_incoming_imap sensitivity by check_incoming state * mail-session.c: add sa_daemon_port (mail_session_init): init sa_daemon_port and check_junk_for_imap (mail_session_check_junk_notify): watch for sa_daemon_port and check_junk_for_imap (mail_session_get_sa_daemon_port): new wrapper (mail_session_set_sa_daemon_port): ditto 2004-01-22 Jeffrey Stedfast * em-junk-filter.c (em_junk_sa_test_spamd): Oops, when calling spamassassin rather than spamc, we need to invoke /bin/sh -c since spamassassin is a shell script. (em_junk_sa_check_junk): Same. Fixes bug #53175. * em-junk-filter.c (pipe_to_sa): Don't need an argc (we don't even seem to use it??). (em_junk_sa_test_spamd_running): Don't invoke /bin/sh. (em_junk_sa_test_spamd): Simplified, also don't invoke /bin/sh. (em_junk_sa_check_junk): Cleaned up/simplified. Also don't invoke /bin/sh. (em_junk_sa_report_junk): Same. (em_junk_sa_report_notjunk): Same. (em_junk_sa_commit_reports): Same. 2004-01-22 Gary Ekker ** See bug #53051 * em-subscribe-editor.c (subscribe_set_store): fix typo in label 2004-01-22 Radek Doulik * em-junk-filter.c (em_junk_sa_test_spamd): uncomment system wide spamd test 2004-01-20 Radek Doulik * em-junk-filter.c: lock report calls by em_junk_sa_report_lock mutex 2004-01-21 Jeffrey Stedfast * em-migrate.c (em_migrate_1_4): Migrate the ETree expanded state files as well as the GalView files. * message-list.c: s/hide_save_state/save_hide_state/g and s/hide_load_state/load_hide_state/g to be more consistant with the other state saving function names. 2004-01-21 Not Zed * em-migrate.c (cp_r): use camel_mkdir(0777) rather than 0777 & st.st_mode which isn't set anyway. (cp): use simple 0666 for the mode open, and then chmod after. (cp): check the return code of close, not just fsync. (cp): dont use fd[0] and fd[1] when we really just want simple variables, rename to readfd and writefd. ** See bug #53159. * em-format.c (emf_message_rfc822): removed incorrect comment, this is not a fallback. * em-format-html.c (efh_text_plain): check the content-type of the containee object, not the holder. ** See bug #52979. * em-format-html.c: take out text/x-patch and put in text/* for a text/plain fallback handler instead. * em-format-html-display.c (efhd_find_handler): allow the bonobo handlers to override the builtin ones. 2004-01-20 Jeffrey Stedfast * em-migrate.c (em_migrate_imap_caches_1_4): New function to migrate the imap cache. (em_migrate_1_4): Migrate the IMAP cache. Fixes bug #52985. (em_migrate_1_4): Copy over the searches.xml file. Fixes bug #52980. * mail-session.c (request_password): Changed the logic of the visibility of the passwd text so that we hid ethe passwd if the flags have the SECRET bit set. 2004-01-20 Not Zed ** See Bug #52817. * mail-session.c (request_password, do_get_pass, get_password): Fix for api changes to camel_session_get_password. (request_password): if we have a STATIC password, don't show any 'remember' checkbox. 2004-01-20 Not Zed * em-folder-view.c (EMFolderView): Make displayed_uid public. * em-folder-browser.c (em_folder_browser_show_preview): use em_folder_view_set_message rather than message_list_select_uid. When clearing, clear view->displayed_uid too. 2004-01-20 Not Zed ** See bug #52965. * mail-component.c (mail_component_init): removed an epfixme, it already is an object. (impl_upgradeFromVersion): call mail_note_store after running the upgrade for local folders. * em-migrate.c (em_migrate): revert the vfolders.xml after we've imported them. * mail-vfolder.c (vfolder_revert): new api to re-load the vfolders file. ** See bug #52885. * em-folder-browser.c (emfb_create_view_menus): unref the view instance/menu's rather than asserting, if they exist. (emfb_set_folder): call create_view_menu's rather than create_view_instance, so the view menu's are properly setup. (emfb_set_folder): call superclass first. ** See bug #53028. * message-list.c (on_selection_changed_cmd): emit the cursor_activated if more than 1 item is selected also. 2004-01-20 Not Zed ** See bug #52990. * mail-component.c (mail_component_init): re-enable auto-send-recv setup. ** See bug #52989. * message-list.c (hide_load_state): clear the hidden table if setup, before loading. 2004-01-19 Radek Doulik * mail-config.c (MAIL_CONFIG_RC_DIR): path to gtkhtml's rc file (config_write_style): use MAIL_CONFIG_RC_DIR (mail_config_init): ditto * see http://bugzilla.ximian.com/show_bug.cgi?id=52969 2004-01-19 Not Zed * mail-ops.c (add_vjunk_info, add_vtrash_info): removed this like i asked radek to ages ago, just call the parent directly. (add_vtrash_or_vjunk_info): renamed to something saner. add_special_info. (add_special_info): removed the 'unread count' parameter & return the added info. ** See bug #52854. * em-folder-tree.c (emft_tree_button_press): setup a FOLDER target for the popup menu. * em-popup.c (em_popup_target_free): implement free for TARGET_FOLDER, changed the target options somewhat. (em_popup_target_new_folder): implement folder selection target. Total Hack(tm) alert. (emp_standard_menu_factory): removed the stupid g_assert_if_not_reached() call. * message-list.c (message_list_destroy): NULL out the uid_nodemap when we destroy it. 2004-01-19 Not Zed * em-folder-browser.c (emfb_folder_expunge): get the toplevel widget here too, similar to bug 52161. ** See bug #52956 * em-composer-prefs.c (sig_edit_cb): The fileentry_add_script_script widget is a GnomeFileEntry not a GtkEntry. (sig_add_script_response): use get_full_path rather than snooping the gtkentry. Also, don't close/quit the script dialogue on a bad name. 2004-01-19 Not Zed * em-migrate.c (em_upgrade_pop_uid_caches_1_4): if we can't open the pop3 cache dir, because it doesn't exist, it is not an error. ** See bug #52983. * mail-component.c (em_uri_from_camel, em_uri_to_camel): Handle vfolder: uri's properly. And make sure local uri's are properly encoded. (mail_component_get_folder_from_evomail_uri) (mail_component_evomail_uri_from_folder): removed, no longer used. (em_uri_from_camel): don't leak the camelurl. (d): disable debug * mail-vfolder.c (vfolder_load_storage): move the vfolder storage location to ~/.evolution/mail/vfolder rather than ~/.evolution/mail (this is currently unused anyway). (uri_is_ignore): short-circuit exit if we find a match. (mail_vfolder_add_uri): dont exit immediately if we have a vfolder uri, but don't add it to local/remove either. (mail_vfolder_delete_uri): remove any uri from the local/remote source list while we're at it. 2004-01-19 Not Zed * em-folder-view.c (emfv_on_url_cb): properly decode the mailto url rather than treating it as a simple string. * em-format-html.c (efh_format_address): if we have a name part, add it to the mailto part. As per rfc2368. So it isn't lost for clicking/etc. 2004-01-16 JP Rosevear * em-format-html-display.c (efhd_bonobo_object): pass in an exception to use 2004-01-16 Jeffrey Stedfast * em-format-html.c (efh_format_address): Dump a struct _camel_header_address to an html string. (efh_format_header): Use efh_format_address() and set the EM_FORMAT_HTML_HEADER_HTML bit on the flags so we don't re-convert our html string into html. * mail-vfolder.c (mail_vfolder_rename_uri): s/g_fre/g_free/ * em-utils.c (guess_account): Change 'tmp' to not be const - fixes a compile warning. (em_utils_expunge_folder): Cast parent to a GtkWindow. (em_utils_empty_trash): Same. * em-migrate.c (cp): Oops, still need to stat() the src file so we can report what percentage of the file has been completed so far and also so we don't quit copying until we've copied the whole file. * message-list.c (message_list_set_folder): Move 'message_list->folder = folder;' out of the uri compare if-block and move it into the if-block that tests that folder != NULL. (regen_list_regen): Abort if the regen folder is not the same as the ml->folder. 2004-01-16 Not Zed * mail-folder-cache.c (storeinfo_find_folder_info): change this to check the store using the provider url_cmp and just lookup the folder name directly. folder_compare can't be used for uri's, this stuff was so broken, my fault :( ** See bug #52467. * em-folder-tree-model.c (sort_cb): handle null path (root?). * mail-vfolder.c (mail_vfolder_add_uri): map uri to euri before processing. (rule_changed): map uri to camel uri before looking up. (mail_vfolder_delete_uri): handle as euri internally. (mail_vfolder_rename_uri): " * mail-autofilter.c (vfolder_rule_from_message): map camel uri to euri before setting as vfolder source. 2004-01-16 Not Zed * default/C/Inbox: * default/C/Makefile.am: * default/Makefile.am: Startup files/folders. * em-migrate.c (emm_setup_initial): initial implementation of startup setup. ** See bug #52896. * em-format-html-display.c (efhd_html_button_press_event): do this based on get_object_at rather than get_point_at, so we get the offset properly. 2004-01-15 Jeffrey Stedfast * mail-vfolder.c: Make vfolder_store 'global'. * em-folder-tree-model.c (sort_cb): Fix bug #12600 by not sorting VFolders (ie. show them in the same order they appear in the editor). Fixes bug #52888 * em-folder-tree-model.c (sort_cb): New sort function for the folder-tree. (em_folder_tree_model_init): Set the default sort func. (em_folder_tree_model_new): Set the default sort column. * em-folder-browser.c (emfb_list_built): Don't select the first unread mesg in the case where no mesg was previously selected. Fixes bug #52887 until we are able to add a user preference (for 2.2?). * em-migrate.c (cp): Only abort the copy if the dest folder both exists and contains data. Fixes bug #52880. (em_migrate): Abort if config.xmldb cannot be loaded. Fixes bug #52886. 2004-01-15 Rodrigo Moya * em-folder-browser.c: removed ForgetPasswords verb. (emfb_forget_passwords): removed. 2004-01-15 Not Zed ** See bug #52891. * em-format-html.c (em_format_html_get_type): protect against http cache not being able to be created. ** See bug #52878. * em-folder-view.c (emfv_finalise): unhook message_changed too. (emfv_set_folder): hook/unhook message_changed too. (emfv_message_changed): implement, proxy to folder_changed. 2004-01-15 Not Zed ** See bugs #51609 and #43515. * em-format-html-display.c (efhd_format_prefix): output flag for followup details above the message. (efhd_write_image): added to output icon data. * em-format-html.c (efh_format_do): call format_prefix before outputting the message in normal display mode. * em-format.c (emf_format_prefix): method called to format data before the first message output. Default impl == noop. 2004-01-14 Jeremy Katz * evolution-mail.schemas.in.in: Add a description for /apps/evolution/mail/junk/sa/local_only. 2004-01-14 Jeffrey Stedfast * em-migrate.c: Split out the remapping code into e-util/e-bconf-map.[c,h] to be shared among components. 2004-01-13 Ross Burton * em-folder-browser.c (emfb_empty_trash): Pass the parent window, fixing a crasher. Bug #52161. 2004-01-14 Not Zed ** See bug 51660. * em-format-html-quote.c (efhq_multipart_related): setup part_id appropriately. * em-format-html-display.c (efhd_output_secure): use part_id in classid, and add .signed to part_id for subpart. (efhd_bonobo_unknown): use part_id in classid. (efhd_format_attachment): use part_id in classid's. * em-format-html.c (efh_multipart_related) (emfh_multipart_related_check): setup part_id for each subpart. (efh_output_secure): as above, and use the part_id for the classid. (em_format_html_add_pobject): use part_id for a generated classid. (efh_text_plain): setup pseudo-parts into part_id. * em-format.c (emf_format_clone): setup the part_id base, folder + uid. (emf_finalise): free the part_id gstring. (emf_init): allocate the part_id gstring. (em_format_add_puri): build the cid from the part_id rather than an arbitrary number, so it is more persistent. Also save the part_id in the puri for multipart/related use. (emf_multipart_mixed, emf_multipart_alternative) (emf_multipart_appledouble, emf_multipart_encrypted) (emf_multipart_related, emf_multipart_signed): Set the part_id for each subpart. (emf_clear_puri_node): free part_id. 2004-01-13 Not Zed ** See bug 51660. * em-format-html-print.c (em_format_html_print_print): dont take message, get the message from the source formatter. * em-format.c (emf_format_clone): Added folder and uid parameters, changed camelmedium to a mimemessage. * em-format-html-display.c (efhd_attachment_button): check the icon image cache and if the image is there use it. * em-icon-stream.c (em_icon_stream_get_image): api to lookup finished images in cache. (em_icon_stream_new): add a cache key arg. (emis_sync_close): store the image in the cache once its completed. 2004-01-13 Jeffrey Stedfast * em-migrate.c (em_migrate): Handle upgrading from 1.0.x and 1.2.x (code basically moved verbatim from e_config_upgrade). * mail-component.c (impl_upgradeFromVersion): Move all the major/minor/revision logic into em_migrate(). 2004-01-12 Meilof Veeningen * em-composer-utils.c: support for posting both to mail and to (multiple) folders * em-folder-browser.c: use em_utils_post_to_folder (works with NNTP) * em-folder-selection-button.[ch]: added multiple selection mode * em-folder-selector.[ch]: idem * em-folder-tree.[ch]: added multiple selection mode, no longer show disabled accounts * em-utils.c: various changes to allow posting to (multiple) folders * em-subscribe-editor.c: double-clicking a node in the editor updates it directly * mail-ops.c: for appending messages, set the "X-Mailer" header 2004-01-12 Radek Doulik * em-junk-filter.c (em_junk_sa_check_junk): use mail_session_get_sa_use_daemon * mail-session.c: added SA prefs (mail_session_get_sa_local_only): new helper method (mail_session_set_sa_local_only): ditto (mail_session_get_sa_use_daemon): ditto (mail_session_set_sa_use_daemon): ditto (mail_session_check_junk_notify): fix the key comparison (mail_session_init): add gconf dir so that we get notified * mail-config.glade: added SA preferences * em-mailer-prefs.c (em_mailer_prefs_construct): added more junk prefs (em_mailer_prefs_apply): ditto * em-junk-filter.c: use preferences 2004-01-12 Larry Ewing * GNOME_Evolution_Mail.server.in.in: fix up the controls factory location. * mail-component.c (mail_control_new): add new interface for getting a mail control with a folder_uri property bag. (get_prop): pbag get method. (set_prop): pbag set method. 2004-01-11 Jeffrey Stedfast * em-migrate.c (cp): Don't O_TRUNC the dest file, instead use O_EXCL and don't do anything if the dest file already exists (this way we don't re-migrate an mbox or corrupt any summary/ibex/meta files). 2004-01-12 Not Zed ** See bug 52737. * em-format-html.c (efh_text_plain): treat text/* as inline content from the made-up multipart. 2004-01-09 Not Zed ** See bug 52696. * mail-component.c (setup_search_context): move the searches to ~/.evolution/mail/searches.xml (migration?). (setup_search_context): fix a merge error, vfoldertypes.xml->searchtypes.xml since it includes the system searches now. 2004-01-09 Not Zed * em-folder-tree.c (emft_popup_properties_got_folder): add total + unread counts to properties page. * em-utils.c (filter_editor_response): * mail-vfolder.c (vfolder_editor_response): change for rule editor changes, ACCEPT->OK. 2004-01-09 Not Zed * em-format.c (em_format_format_text): keep the windows charset filter around until we're done since if we set it up we reference its memory. Causes warnings and breaks message display. ** See bug #52637. * em-inline-filter.c (em_inline_filter_new): added a content-type paramter for the base content type. (em_inline_filter_finalize): free base content type. (emif_types[]): Added 'plain' parameter, indicates type needs plain parameters set on content type. (emif_add_part): inherit the full base type if it is set, for plain parts. * em-format-html.c (efh_text_plain): pass the part's content-type to the inline filter. 2004-01-08 Not Zed ** See bug #50786 * GNOME_Evolution_Mail.server.in.in: Remove :: from startup wizard iid, and put the mail wizard into the right factory. * mail-component.c (impl_requestCreateItem, impl_handleURI): * em-folder-browser.c (emfb_mail_compose): check we have an account before trying to send mail. 2004-01-07 Jeffrey Stedfast * mail-component.c (mail_component_init): Don't migrate stuff here anymore. * mail-ops.c (uid_cachename_hack): Removed a hack that checked for the really old uid cache location and make the uid cache live in a better location (why have mail/pop/ and mail/pop3/cache-? simply put the cache file in mail/pop//uid-cache). * em-migrate.c (em_migrate_dir): When copying over mbox folders, don't abort if we fail to copy over a summary file (big whoop). Also, if indexing was turned on in the evolution 1.4 version of the folder, turn on indexing for that folder in the migrated mbox folder as well. (em_migrate_pop_uid_caches): Migrate the pop3 uid-cache files. Fixes bug #52464. (em_migrate): Call em_migrate_pop_uid_caches(). * em-format-html.c (efh_format_address): Removed. (efh_format_header): Handle address formatting a little differently to address dwmw's complaints. Also now handles other headers such as Resent-* and Sender as well. 2004-01-07 Radek Doulik * em-message-browser.c (emmb_init): as below * em-folder-browser.c (emfb_init): always show vertical scrollbar, we do the same for message list and it avoids ugly flicker 2004-01-06 Jeffrey Stedfast * em-message-browser.c (emmb_set_message): Protect against a NULL message-info. Afaik, this can only happen if the message has since been removed? Might be a larger problem here... Anyways, fixes the crash in bug #52297. 2004-01-05 Jeffrey Stedfast * em-folder-tree-model.c (folder_renamed_cb): Clone the CamelRenameInfo and ref the store before emitting the async event. (folder_deleted_cb): Same idea but for CamelFolderInfo's. (folder_created_cb): Here too. (folder_subscribed_cb): Same. (folder_unsubscribed_cb): And here. (folder_renamed): Split out from folder_rename_cb(), free the CamelRenameInfo and unref the store when done. (folder_unsubscribed): Same idea. (folder_subscribed): Same. 2004-01-05 Radek Doulik * em-junk-filter.c: add NULL at the end of argv for execvp (poited out by Frank Solensky, thanks) 2004-01-05 Jeffrey Stedfast * em-folder-browser.c (emfb_list_message_selected): Check that the folder isn't NULL (ie. no folder is selected). Fixes bug #52207. * message-list.c (message_list_set_folder): Remove the cursor-activated idle callback. * mail-send-recv.c (build_dialog): Set the send/recv dialog to non-modal. Fixes bug #50127. * em-folder-tree-model.c (folder_subscribed_cb): If we aren't in the main thread, proxy it over to the main thread. (folder_unsubscribed_cb): Same. (folder_created_cb): Here too. (folder_deleted_cb): And here. (folder_renamed_cb): Again here. * em-folder-view.c (emfv_set_folder_uri): Pass mail_thread_queued to mail_get_folder() instead of mail_thread_new so that we eliminate a race when switching folders in the UI. 2004-01-05 Not Zed ** See bug #50996. * em-format-html-display.c (efhd_find_handler): implement override for unknown types, try bonobo handlers. (efhd_bonobo_unknown): formathandler for bonobo objects. * em-format.c (em_format_find_handler): make virtual, rename to emf_find_handler. 2004-01-04 ERDI Gergo * em-folder-view.c (emfv_on_url_cb): Emit a hover-url signal when the user mouses over a URL, ... (emfv_hover_url_impl): ... and use BonoboUI to change the status bar message... (em_folder_view_set_statusbar): ... unless we are asked not to, ... * mail-component.c (impl_createControls): ... like in the case of the mail component, ... (view_hover_url_cb): ... that uses the ActivityHandler to do the same Add these together, and #127536 is neatly solved. 2004-01-04 David Woodhouse * em-format-html-display.c: Mail warning grammar typo fix. 2003-12-22 David Moore * em-popup.c (emp_part_popup_set_background): Implemented; sets an image attachment as the GNOME wallpaper. * em-utils.c (emu_save_part_done): Created a prototype at the top of the file. (em_utils_save_part_to_file): Added; save a message part to a specified file on disk. 2003-12-18 Rodney Dawes * em-message-browser.c (emmb_init): Merge in evolution-mail-message-display.xml first, since it is the parent UI XML, really fixes bug #49949 2003-12-16 JP Rosevear * em-format-html-display.c: #ifdef out certain code pieces if s/mime isn't supported 2003-12-14 JP Rosevear * em-folder-tree.c (emft_tree_row_collapsed): Fix erroneous function call Fixes #52120 2003-12-12 Not Zed * mail-config.c (config_write_style): put the style in .evolution. ** See bug #52023. * message-list.c (message_list_select_uid): noop if we've been destroyed (foldre == NULL). ** See bug #52108. * em-format.c (em_format_is_attachment): also recognise application/pkcs7-mime for mailers who like to make up their own standards. * em-format-html.c (type_builtin_table[]): * em-format-html-display.c (type_builtin_table[]): make recognise application/pkcs7-mime too. 2003-12-11 Chris Toshok * Makefile.am (INCLUDES): get the build moving again. add CERT_UI_CFLAGS here for the time being. 2003-12-11 Jeffrey Stedfast Fixes bug #1717. * em-folder-browser.c (emfb_list_built): If we have a uid to select, select that instead of selecting the first unread. (emfb_set_folder): CamelObject::meta_get() actually returns a strdup'd buffer, so we need to free it. Get the last selected uid and set that up as the uid to select when the message-list finishes building. (emfb_list_message_selected): Save the selected uid. (emfb_init): Connect to the message-list's message_selected signal so that we can save selected state (don't want to do this in EMFolderView or MessageList because we don't want the state to be saved for the EMMessageBrowser). 2003-12-11 Jeffrey Stedfast * em-folder-tree.c: Shorten the namespace of some internal functions to just emft. (emft_popup_delete_rec): Don't delete the contents of a folder if it is a vFolder. Fixes bug #52029. * em-mailer-prefs.c (em_mailer_prefs_construct): Use newv() here and pass an array of GTypes - makes it simpler to change the order of columns later and/or add new columns if we need to. Also makes the line shorter :-) 2003-12-11 Grahame Bowland * em-format-html.c (efh_format_header): display x-evolution-mailer pseudo header irrespective of xmailer_mask. This is now handled by a header configuration dialog. * mail-config.glade: add tab to mail configuration dialog to allow custom headers to be specified for display. * em-mailer-prefs.h: modify struct _EMMailerPrefs to add widgets for custom header tab. Add defines for custom header flags. Add struct EMMailerCustomHeader to describe custom headers, and add function em_mailer_custom_headers_from_xml to allow XML from gconf key to be parsed into this structure. * em-folder-view.c (emfv_setting_notify): catch changes to custom header gconf key and update mail view to correspond * em-mailer-prefs.c (em_mailer_prefs_apply): save custom headers to gconf (header_list_enabled_toggled): toggle clicked toggle column (add_header): add header to custom header list if valid (remove_header): remove selected custom header (is_valid_header): return true if passed header is valid, otherwise false (entry_header_changed): call add_header_update_sensitivity (em_mailer_prefs_construct): initialise header selection tab. Load gconf data for header selection dialog. (em_mailer_custom_header_to_xml): load a header structure from XML document structure (em_mailer_custom_header_from_xml): load a header structure from a string containing valid XML. if any failure, the header.name is set to NULL. (header_list_row_selected): call remove_header_update_sensitivity (remove_header_update_sensitivity): set the sensitivity of the remove button to FALSE if the list is empty or nothing is selected. Otherwise, set it to TRUE. (add_header_update_sensitivity): set the sensitivity of the the add button to FALSE if the entry box is empty, contains a duplicate header, or contains an invalid header. Otherwise, set it to TRUE. * evolution-mail.schemas.in.in: add mail/display/headers 2003-12-10 Larry Ewing * em-format-html.c: add text/x-patch as a plain type. (efh_text_enriched): add table around the enriched part so it matches html and text modes. 2003-12-10 Jeffrey Stedfast * em-migrate.c (em_migrate_dir): Modified to simply copy mbox files from one place to another (and the summary files) rather than going thru camel so as to bypass the need for parsing MIME. 2003-12-10 Jeffrey Stedfast * em-migrate.c (get_local_store): Fixed a leak. * mail-component.c (impl_upgradeFromVersion): Implemented. * em-folder-tree.c (em_folder_tree_set_selected): Add INFO_FAST here as we don't need it to get unread counts. (tree_row_expanded): Here too. * em-folder-tree-model.c (em_folder_tree_model_set_folder_info): Check CAMEL_FOLDER_NOCHILDREN. 2003-12-10 Jeffrey Stedfast Fixes bug #51045 * mail-folder-cache.c (real_flush_updates): Update the unread count in the model if the folder got new mail. * em-folder-selection.c (em_select_folder): Updated. * em-folder-selection-button.c (em_folder_selection_button_clicked): Updated. * em-folder-tree-model.c (em_folder_tree_model_set_unread_count): New function to update the unread count for a folder. * mail-component.c (mail_component_peek_tree_model): Don't ref the model. Also renamed s/get/peek/ 2003-12-10 Not Zed * em-folder-tree.c (em_folder_tree_get_folder_info__got): check m->fi != NULL before dereferencing it. 2003-12-10 Not Zed * em-format-html-display.c (efhd_multipart_signed): * em-format-html.c (efh_multipart_signed): * em-format.c (emf_multipart_signed): treat application/pkcs7-signature as application/x-pkcs-signature. Stupud non-rfc-compliant mailers from apple. Bug #51750. * em-folder-selection.c (em_select_folder): rewritten to get rid of hte old crap that should've been gotten rid of before. Bug #51602. (em_folder_selection_run_dialog_uri): removed. (em_folder_selection_run_dialog): removed. this file is gutted and should probably be removed. * em-folder-selector.h: use a POSITIVE value for the response value, gtk uses -ative ones. Bug #51752. * Makefile.am (INCLUDES): added smime/lib and smime/gui to includes. * em-folder-tree.c (emft_popup_rename_folder): removed unused 'why', why not? * em-format-html-display.c (efhd_xpkcs7mime_validity_clicked): setup a table of buttons to view any certs we have. * em-folder-browser.c (emfb_activate): separeate view_menu unreffing from view_instance. fixes a runtime warning. ** See bug #51718. * mail-component.c (em_uri_to_camel): handle an e-uri which has an account uid which isn't in user@host format. 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).