diff options
Diffstat (limited to 'mail/ChangeLog.pre-1-4')
-rw-r--r-- | mail/ChangeLog.pre-1-4 | 24750 |
1 files changed, 24750 insertions, 0 deletions
diff --git a/mail/ChangeLog.pre-1-4 b/mail/ChangeLog.pre-1-4 new file mode 100644 index 0000000000..5933f09baa --- /dev/null +++ b/mail/ChangeLog.pre-1-4 @@ -0,0 +1,24750 @@ +2003-06-02 Not Zed <NotZed@Ximian.com> + + ** This and jeffs patch for #43862. + + * mail-folder-cache.c (store_online_cb): If the store is still + around, then flow on to a get folderinfo update, otherwise just + clear up. + + * mail-ops.c (mail_store_set_offline): return the msgid of this so + it can be cancelled. + +2003-05-30 Jeffrey Stedfast <fejj@ximian.com> + + * mail-folder-cache.c (mail_note_store): If the session is + 'online' and we are noting a CamelDiscoStore, make sure that it is + changed to online status and call mail_get_folderinfo(). + +2003-05-30 Jeffrey Stedfast <fejj@ximian.com> + + * mail-local.c (load_metainfo): Stat the XML file before trying to + parse it to make sure it exists. + +2003-05-29 Not Zed <NotZed@Ximian.com> + + * Makefile.am (BUILT_SOURCES): added server_DATA (*.server) so + make clean works. For #42691. + +2003-05-30 Radek Doulik <rodo@ximian.com> + + * mail-config.c (config_write_style): use %02x instead of %2x when + formatting color for rc file + +2003-05-29 Jeffrey Stedfast <fejj@ximian.com> + + Fixes bug #43805. + + * mail-session.c (session_system_beep): Proxy the gdk_beep() call + to the main thread. + (session_play_sound): Proxy the gnome_sound_play() call to the + main thread. + +2003-05-27 Not Zed <NotZed@Ximian.com> + + * message-tag-editor.c (message_tag_editor_init): set the default + open size to something reasonable. For #43410. + + * mail-signature-editor.c (d): turn off debugging. + + * mail-config.c (mail_config_signature_add): save new signature in + signature list. For #43688. + +2003-05-21 Radek Doulik <rodo@ximian.com> + + * mail-signature-editor.c (menu_file_save_cb): set signature html + flag even if it's newly signature, we don't set it in + format_html_cb as sig could be "live" (when it's not new one) + +2003-05-20 Jeffrey Stedfast <fejj@ximian.com> + + * mail-importer.c: Updated copyright years. + + * mail-callbacks.c (ask_confirm_for_empty_subject): Fixed the + logic a bit - if the gconf key *isn't* set, we want to return + TRUE. + + * mail-search.c (mail_search_finalise): We need to weak_unref() + the mail-display here. Fixes bug #43392. + +2003-05-21 Larry Ewing <lewing@ximian.com> + + * mail-config.glade: remove link hilighting option that isn't + attached to anything. + +2003-05-20 Larry Ewing <lewing@ximian.com> + + * mail-display.c: filter notification events to keep the redisplay + count down. + + * mail-composer-prefs.c: remove references to gtkhtml property + manager. Connect to missing settings. + + * mail-preferences.c: remove references to gtkhtml property + manager. Connect to missing settings. + + * mail-config.glade: remove keybinding setting. + + * mail-display.c (mail_display_destroy): remove notification. + (display_notify): set animate and redisplay. We have to redisplay + because the citation color may have changed. + + * evolution-mail.schemas: add composer and display gconf entries. + +2003-05-19 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-gui.c (mail_account_gui_save): Only re-add the + store to the folder-tree if the account is enabled. Oops. Fixes + bug #43214. + +2003-05-20 Larry Ewing <lewing@ximian.com> + + * mail-config-factory.c: remove references to font prefs. + + * component-factory.c: Remove stale refernces the the font prefs. + (make_factory): remove unused variables. + + * mail-config.c (mail_config_init): add a notify callback to the + spelling color. + (config_write_style): rename and write out the spell color as + well. + +2003-05-20 Not Zed <notzed@lostzed.mmc.com.au> + + ** See bug #43234 + + * mail-display.c (mail_display_set_message): if we've been + destroyed, noop. + +2003-05-16 Dan Winship <danw@ximian.com> + + * mail-ops.c (mail_empty_trash): New async "empty trash" op. + + * mail-callbacks.c (empty_trash): Use it rather than requiring + that mail_tool_get_vtrash() work without blocking. #43091 + +2003-05-16 Radek Doulik <rodo@ximian.com> + + * mail-callbacks.c (footer_info_new): gnome_font_get_descender + returns negative value + +2003-05-17 Larry Ewing <lewing@ximian.com> + + * GNOME_Evolution_Mail.server.in.in: remove font prefs server from + the list. + +2003-05-17 Jeremy Katz <katzj@redhat.com> + + * mail-offline-handler.c: Add #include to fix warning. + + * mail-mt.c (mail_msg_new): Use glib macros for pointer/int + conversions. + (mail_msg_free): Likewise. + (mail_msg_cancel): Likewise. + (mail_msg_wait): Likewise. + (mail_msg_active): Likewise. + * mail-session.c (main_register_timeout): Likewise. + (register_timeout): Likewise. + (main_remove_timeout): Likewise. + (remove_timeout): Likewise. + * message-list.c (ml_value_to_string): Likewise. + + * mail-identify.c: Add #include to fix warning. + + * mail-config.c (config_write_fonts): Don't pass extra arguments + to g_warning. + + * mail-callbacks.c: Add #include to fix warning. + +2003-05-15 Not Zed <NotZed@Ximian.com> + + ** See bug #42838. + + * mail-account-gui.c (mail_account_gui_build_extra_conf): always + add the extra entry to the hash table, most paths wouldn't. + +2003-05-14 Jeffrey Stedfast <fejj@ximian.com> + + * component-factory.c: Disabled some debugging messages. + +2003-05-14 JP Rosevear <jpr@ximian.com> + + * mail-local.h: add proto + + * mail-local.c (storage_listener_startup): don't listen for + destruction, because we have a ref and it'll never happen + (mail_local_storage_shutdown): release and unref the local storage + + * mail-display.c (retrieve_shell_view_interface_from_control): + return a new copy every time + (set_status_message): release and unref the shell view + + * folder-browser.c (folder_browser_destroy): guard for multiple + destroys + + * folder-browser-factory.c (control_activate): release and unref + the shell view + (control_destroy_cb): just remove the control from the list + (folder_browser_factory_new_control): don't weak ref the folder + browser + + * component-factory.c (owner_unset_cb): shutdown local storage + +2003-05-13 Ettore Perazzoli <ettore@ximian.com> + + * component-factory.c (segv_redirect): Removed. + (make_factory): No need to set up the SIGSEGV redirect handler + here, since it's already done in the shell now, and it's in-proc. + + * folder-browser-ui.c (folder_browser_ui_rm_all): Only do the + bonobo_ui_component() stuff if the component does have a + container. + +2003-05-08 Ettore Perazzoli <ettore@ximian.com> + + * mail-session.c (mail_session_set_interactive): Set the + password_dialog pointer to NULL. Prevents a crash that could + happen if the shell would quit with the password dialog still up. + +2003-05-07 Jeffrey Stedfast <fejj@ximian.com> + + * mail-display.c (mail_display_render): Make sure that we haven't + been destroyed before we start writing to the html engine. Fixes + bug #42333. + +2003-05-07 Not Zed <NotZed@Ximian.com> + + ** See bug #42456 + + * mail-composer-prefs.c (spell_language_button_press): set the + enable/disable button to the right text when we toggle a column. + Added a fixme about the weird code in the whole routine. + +2003-05-07 Jeremy Katz <katzj@redhat.com> + + * evolution-mail.schemas + (/schemas/apps/evolution/mail/display/mime_types): Correct + default for list. + +2003-05-06 Not Zed <NotZed@Ximian.com> + + ** See bug #42400 + + * mail-tools.c (meta_data_key): protect against getting an + unparsable uri. + +2003-05-05 Not Zed <NotZed@Ximian.com> + + ** See bug #42294. + + * mail-config.c (config_write_fonts): Also set the custom font + style for *BonoboPlug*GtkHTML. + +2003-05-05 Ettore Perazzoli <ettore@ximian.com> + + * mail-session.c (request_password): Set OK as the default + response for the password_dialog. + +2003-04-30 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (mark_as_unseen): To be consistant with the + message-list envelope toggle, undelete the message when we unmark + the Seen flag here as well. Fixes bug #42118. + +2003-04-30 Jeffrey Stedfast <fejj@ximian.com> + + * message-list.c (ml_tree_value_at): Fixed to return the correct + values (swapped) in order to fix bug #42120. + +2003-04-30 Jeffrey Stedfast <fejj@ximian.com> + + * message-list.c (regen_list_regened): Save the tree state before + we tear down the tree and then load it back again. yay. Fixes bug + #42170 and #40074. + +2003-04-30 Not Zed <NotZed@Ximian.com> + + ** See bug #41748 + + * mail-send-recv.c (build_dialogue): make sure we dont add any + SEND_SEND types to the receive table. When we add the SEND_SEND + type, key it on a fixed string SEND_URI_KEY. + (receive_done): if it is a SEND_SEND type, use SEND_URI_KEY to + remove it from the active list. + (mail_receive_uri): make sure we never add a SEND_SEND type to the + receive list. + (mail_send): key the send info on SEND_URI_KEY not transport url. + +2003-04-29 Jeremy Katz <katzj@redhat.com> + + * folder-browser-ui.c (fbui_sensitise_item): Don't just blindly + cast an int to gpointer, use the proper glib magic instead. + +2003-04-29 Jeffrey Stedfast <fejj@ximian.com> + + * importers/netscape-importer.c + (netscape_add_priority_workaround_filters): Updated for API change + in the filter code. + +2003-04-29 Not Zed <NotZed@Ximian.com> + + ** See bug #41972 + + * message-list.c (ml_tree_value_at): fix (void *) casts on trinary + ops. + + * folder-browser.c (on_right_click): Store the label tag in the + label callback data, not the translated name. + + * mail-config.c (label_defaults[]): Initialise with the tag + values. + (config_clear_labels): free tag field. + (config_cache_labels): setup the tag field based on the position + of the label name. + (mail_config_get_label_color_by_name): Lookup colour by the + untranslated TAG, not the translated/customisable tag. + + * mail-config.h (MailConfigLabel): Add a tag field, we were using + the translated name as the label(!). + +2003-04-29 Dan Winship <danw@ximian.com> + + * mail-format.c (write_xmailer_header): Remove preceding whitespace + +2003-04-28 Ettore Perazzoli <ettore@ximian.com> + + * mail-session.c (mail_session_forget_passwords): Forget all + passwords again. [#41817] + +2003-04-25 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config.glade: Made toplevel container widgets set a + border-width (including toplevel widgets within frames), set the + table/hbox/vbox spacings, set the spacing between an image and the + description text in hboxes to 12pts (as suggested by the HIG), + Changed Add/Delete buttons to the stock Add/Remove buttons, etc + +2003-04-24 Jeffrey Stedfast <fejj@ximian.com> + + Fix for bug #41789 + + * mail-config.c (mail_config_init): Cache the allowable + mime-types. + (mail_config_get_allowable_mime_types): New public function to get + an array of allowable mime-types. + + * mail-format.c (mail_lookup_handler): Only allow a + bonobo-component handler if the mime-type is something handled by + evolution or the user has specifically chosen that type as + available for viewing with a bonobo component in the gconf + database. + (mime_type_uses_evolution_component): New convenience function. + (mime_type_can_use_component): Checks gconf to see if the user has + allowed the mime-type to be viewed by a component. + +2003-04-24 Radek Doulik <rodo@ximian.com> + + * mail-display.c (html_button_press_event): as below + (update_active): as below + + * folder-browser.c (html_button_press_event): update for changed + coordinates in gtk-2 + +2003-04-23 Not Zed <NotZed@Ximian.com> + + * mail-send-recv.c (get_receive_type): pass an exception to + get_provider, to silence some warnings/get a valid result. + +2003-04-22 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (composer_get_message): Only add the + Organization: header if it is non-empty. Fixes bug #41730. + +2003-04-18 Jeffrey Stedfast <fejj@ximian.com> + + * mail-composer-prefs.c (spell_set_ui): Protect against a NULL + strv result from parsing the language list string. + +2003-04-17 Jeffrey Stedfast <fejj@ximian.com> + + Fixes for bug #41142. + + * mail-search.c (dialog_response_cb): Handle a GTK_RESPONSE_CLOSE + response. + (mail_search_construct): Changed the Cancel button into a Close + button. + +2003-04-18 Rodney Dawes <dobey@ximian.com> + + * Makefile.am: + * folder-browser-ui.c: + * mail-signature-editor.c: + * message-browser.c: + Use PREFIX instead of EVOLUTION_DATADIR for bonobo_ui_util_set_ui (). + Fixes bug #21499. + +2003-04-17 Not Zed <NotZed@Ximian.com> + + * mail-signature-editor.c (menu_help): remove the help menu item + handling, as the help menu is removed. Clean up of #38927. + +2003-04-16 Not Zed <NotZed@Ximian.com> + + * importers/Makefile.am (%.server.in): Remove COMPONENTDIR and set + BINDIR and VERSION instead. + + * (importers/GNOME_Evolution_Mail_Pine_Intelligent_Importer.server.in.in, + importers/GNOME_Evolution_Mail_Mbox_Importer.server.in.in, + importers/GNOME_Evolution_Mail_Outlook_Importer.server.in.in, + importers/GNOME_Evolution_Mail_Netscape_Intelligent_Importer.server.in.in, + importers/GNOME_Evolution_Mail_Elm_Intelligent_Importer.server.in.in:) : + Convert the type back to exe, and point to the main evolution + executable. Fixes #41164. + +2003-04-16 Jeremy Katz <katzj@redhat.com> + + * evolution-mail.schemas: schema keys can't be directories (#41419) + +2003-04-15 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config-druid.c (config_wizard_set_page): Fixed a logic + error that was the cause of bug #41389. + +2003-04-15 Not Zed <NotZed@Ximian.com> + + * For bug #41199. + + * subscribe-dialog.glade: New interface from Anna. Setup the + wigdet names and add a progress bar, and set the default opening + size to something reasonable. + + * subscribe-dialog.c (subscribe_dialog_construct): changes to + match the glade file chagnes. remove the search stuff. hide the + progress bar by default. + (sc_activity_cb): show the progress bar when we're active, hide + it when inactive. dont set any status. + (struct _SubscribeDialogPrivate): Remove the appbar. + +2003-04-15 Hans Petter Jansson <hpj@ximian.com> + + * mail-mt.c (mail_msg_check_error): Free the temporary error text. + +2003-04-14 Jeffrey Stedfast <fejj@ximian.com> + + * mail-vfolder.c (vfolder_gui_add_rule): Set the correct border + width and vbox spacing to be HIG compliant. Fixes bug #41209. + (vfolder_edit_rule): Same here. + + * local-config.glade: Updated to comply with the HIG. Fixes bug + #41244. + +2003-04-14 Not Zed <NotZed@Ximian.com> + + * mail-send-recv.c (build_dialogue): create a stock cancel button + with a cancel all text. + (build_dialogue): Create stock-like cancel buttons with no + accelerators. A workaround for #41043. + + * message-list.c (ml_tree_value_at): if the node is the root node, + do nothing. etable shouldn' really be searching the root node if + it isn't visible ...? For #41190. + +2003-04-14 Larry Ewing <lewing@ximian.com> + + * evolution-mail.schemas: add proper defaults for the fonts + settings. + +2003-04-11 Jeffrey Stedfast <fejj@ximian.com> + + Fixes bug #41243. + + * message-tag-followup.c (construct): Change the window border + width and packing to comply with the HIG. + + * message-tags.glade: Updated to comply with the HIG. + +2003-04-11 Jeffrey Stedfast <fejj@ximian.com> + + * mail-session.c (request_password): Add padding around the + entry/checkbox and change the border width of the dialog window to + comply with the HIG. Fixes bug #41004. + +2003-04-10 Jeffrey Stedfast <fejj@ximian.com> + + * mail-search.c (mail_search_construct): Change the action button + ordering and also change the padding to comply with the HIG. Fixes + bug #41046 and at least part of bug #41142 (except for the + s/Search/OK/ thing, which has not been agreed upon yet). + + * mail-send-recv.c (build_dialogue): Change the padding to comply + with the GNOME HIG. Fixes bug #41001. + +2003-04-09 Not Zed <NotZed@Ximian.com> + + ** See bug #40921 + + * subscribe-dialog.c (subscribe_dialog_finalise): add a finalise + funciton which actually free's resources. + (get_short_folderinfo_got): dont call activity callback implicitly + here, do it from the callers callback. + (subscribe_get_short_folderinfo): dont call activity callback + here. + (fe_got_children): check implicitly if we were cancelled. also + add back the node sort, and also call the activity callback from + here instead of breaking layers of abstraction as above. + (folder_etree_cancel_all): new method, force a cancel of all ops, + but dont free anything. + (store_data_free): dont unref the widget anymore, not needed. + call cancel all on the ftree if its still active. + (sc_close_pressed): destroy the subscribe dialogue as well as the + app, it doesn't seem to get destroyed otherwise. + (sc_activity_cb): do nothing if we have been cancelled. + (subscribe_dialog_destroy): trigger a cancel of all outstanding + ops. only free most data in the finalise method. + (subscribe_dialog_class_init): hook onto finalise. + (store_data_get_widget): dont ref the widget. + + * mail-callbacks.c (manage_subscriptions): sink the dialog. + +2003-04-09 Larry Ewing <lewing@ximian.com> + + * mail-preferences.c (font_share_changed): set sensitivity of + font pickers based on share setting. + (mail_preferences_construct): initialize font prefs. + (mail_preferences_apply): set the font prefs. + (font_changed): add gnome-font-picker changed function. + + * mail-preferences.h: add font pref widgets. + + * mail-config.c (mail_config_init): add notify to on fonts dir. + (config_write_fonts): write out a gtkrc that overrides the gtkhtml + fonts settings based on the gconf keys. + + * mail-config.glade: move display font setttings to mail prefs. + + * evolution-mail.schemas: add font settings. + +2003-04-08 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (do_view_message): Add a check for a NULL uid + here. Don't see how it can happen, but it seems to have for + Aaron. Anyways, this should fix bug #40904. + +2003-04-08 Dan Winship <danw@ximian.com> + + * mail-config.glade: Remove color specs from the druid so it will + use the theme colors + + * importers/GNOME_Evolution_Mail_Elm_Intelligent_Importer.server.in.in: + * importers/GNOME_Evolution_Mail_Netscape_Intelligent_Importer.server.in.in: + * importers/GNOME_Evolution_Mail_Pine_Intelligent_Importer.server.in.in: + Fix bad XML noticed by Not Zed + +2003-04-08 Not Zed <NotZed@Ximian.com> + + * mail-vfolder.c (vfolder_gui_add_rule): swap button order. For + #40900. + +2003-04-07 Jeffrey Stedfast <fejj@ximian.com> + + * message-list.c (ml_tree_value_at): For string columns, never + return NULL - always return "" if the value is empty. Fixes bug + #40728. + + * mail-composer-prefs.c (sig_add_script_cb): Set the "script" data + on the GtkEntry to NULL. + (sig_add_script_response): If the "script" data on the GtkEntry + object is non-NULL, then we are editing an existing signature, so + just change the values in place and don't add it to the signature + db. + (sig_edit_cb): If sig->script is non-NULL, then we are editing a + script signature, so pop up the script dialog instead. Fixes bug + #38929. + +2003-04-07 Radek Doulik <rodo@ximian.com> + + * mail-composer-prefs.c (spell_load_values): use e_iconv_locale_language + +2003-04-07 Dan Winship <danw@ximian.com> + + * GNOME_Evolution_Mail.server.in.in: Clean up server names + + * importers/GNOME_Evolution_Mail_Elm_Intelligent_Importer.server.in.in: + Likewise, and fix evolution-mail location + + * importers/GNOME_Evolution_Mail_Mbox_Importer.server.in.in: + Likewise + + * importers/GNOME_Evolution_Mail_Netscape_Intelligent_Importer.server.in.in: + Likewise + + * importers/GNOME_Evolution_Mail_Outlook_Importer.server.in.in: + Likewise + + * importers/GNOME_Evolution_Mail_Pine_Intelligent_Importer.server.in.in: + Likewise + + * importers/Makefile.am (%.server.in): Fix this for evolution-mail + being a shlib. + +2003-04-03 Not Zed <NotZed@Ximian.com> + + ** Bug 40536 + + * component-factory.c (send_receive_cb): run the warning dialogue + asynchronously. Also, set the mail send/receive dialogue to + transient for parent. + + * mail-send-recv.c (mail_send_receive): return the dialogue for + send/receive. + +2003-04-02 Rodrigo Moya <rodrigo@ximian.com> + + * importers/evolution-mbox-importer.c (load_file_fn): + * importers/evolution-outlook-importer.c (load_file_fn): added + "folder_type" parameter to EvolutionImporterLoadFileFn. + + * importers/elm-importer.c (elm_import_file): pass empty string for + "folder_type" argument to GNOME_Evolution_Importer_loadFile. + * importers/pine-importer.c (pine_import_file): ditto. + * importers/netscape-importer.c (netscape_import_file): ditto. + +2003-04-01 Jeffrey Stedfast <fejj@ximian.com> + + * mail-display.c (save_part): Don't allow the 'prefix' argument to + make_safe_filename() be NULL. If we don't yet have a save_dir in + gconf, use $HOME, etc. Fixes bug #40608. + +2003-04-02 Not Zed <NotZed@Ximian.com> + + * mail-session.c (mail_session_forget_passwords): Only clear the + Mail passwords. + + * component-factory.c (interactive_cb): Call + composer_check_autosave if we're going interactive, to check for + unsaved files. Fixes #40300. + +2003-04-01 Not Zed <NotZed@Ximian.com> + + * mail-display.c (mail_display_redisplay): if we're called and the + idle handler is set, remove it, so we dont go and redisplay it + again. Fixes #40522. + +2003-03-31 Jeffrey Stedfast <fejj@ximian.com> + + * message-list.c (regen_list_regened): Save tree state and then + after building the new tree, re-load the tree state. Finishes the + fix for bug #40074. + + * mail-session.c: Properly init message_list. Fixed a type-o that + initialized it to the password_list. + +2003-03-31 Not Zed <NotZed@Ximian.com> + + * mail-session.c (pass_response): need to check for config_service + != NULL, not service != NULL before calling set_save_password. + Fix for #40472. + +2003-03-28 Not Zed <NotZed@Ximian.com> + + * folder-browser-ui.c: include e-meta.h + + * folder-browser.c (on_right_click): remove unused var. + +2003-03-28 Jeffrey Stedfast <fejj@ximian.com> + + * subscribe-dialog.c (fe_check_for_children): Declare a prototype + for this function prior to fe_got_children() so that + fe_got_children() can call us. + +2003-03-26 Dan Winship <danw@ximian.com> + + * mail-format.c (write_address): remove extra arg to + camel_url_encode + +2003-03-27 Not Zed <NotZed@Ximian.com> + + * folder-browser.c (folder_browser_gui_init): dont set the paned + initial size here, but hook onto the realize signal. + (paned_realised): set the paned size once we're realised. Fixes + #37084, its a bit of a hack, but it seems to work. + +2003-03-26 Jeffrey Stedfast <fejj@ximian.com> + + Fixes bug #40074. + + * folder-browser-factory.c (control_deactivate): Save message-list + state. + + * message-list.c (message_list_save_state): Save the various + states. + +2003-03-26 Jeffrey Stedfast <fejj@ximian.com> + + Fixes for bug #39870 + + * message-browser.c (transfer_msg_done): Close the + message-browser. Since the message doesn't exist anymore, we + should close it. + (message_browser_delete): New callback to handle deletion in the + message-browser window. + +2003-03-26 Jeffrey Stedfast <fejj@ximian.com> + + * subscribe-dialog.c (fe_got_children): If the CamelFolderInfo + node doesn't have \NoInferriors set, then check for + subfolders. Fixes bug #40314. + +2003-03-26 Not Zed <NotZed@Ximian.com> + + * mail-display.c (popup_window_destroy_cb): Undo jeff's patch + below for #40275, the destroy timeout is already removed in + popup_info_free. Unref the widget 'w' when we're done with it. + (popup_info_free): Move everything in here to popup_window_destroy + and remove, since nothing else uses it. + (make_popup_window): Ref the widget so it doesn't go away before + we're finished with it. Really fixes bug #40275/40188. + +2003-03-25 Jeffrey Stedfast <fejj@ximian.com> + + * mail-display.c (popup_window_destroy_cb): Remove the + timeout. Should fix bug #40275. + + * subscribe-dialog.c: Remove search entry which never worked right + (and can't work as users expect anyway, since we don't do + namespace stripping). Fixes bug #40083. + (ftree_node_new): Ignore \NoSelect as far as marking it + "subscribable". Fixes bug #40124. + +2003-03-25 Dan Winship <danw@ximian.com> + + * mail-account-editor.c: Update for e_notice move + (apply_changes): Pass a parent_window to e_notice + + * mail-account-gui.c: Update for e_notice move. + (mail_account_gui_save): Pass a parent_window to e_notice + + * mail-callbacks.c: Update for e_notice move + * mail-local.c: Likewise + * mail-signature-editor.c: Likewise + * mail-vfolder.c: Likewise + + * component-factory.c (interactive_cb): Update prototype + +2003-03-25 Not Zed <NotZed@Ximian.com> + + * mail-tools.c (meta_data_key): strdup the key before freeing the + url as it is probably pointing there. + +2003-03-25 Not Zed <NotZed@Ximian.com> + + * component-factory.c (got_folder): remove a debug printf that + made it in a commit. + + * folder-browser-ui.c (folder_browser_ui_add_global): Load + per-folder setting of show_preview from meta data. + (folder_browser_ui_add_list): Same, for thread_list. + + * mail-tools.c (mail_tool_get_meta_data) + (mail_tool_delete_meta_data): helpers to lookup/delete meta data. + + * mail-config.c (mail_config_uri_deleted): delete the meta-data + for the folder. + + * folder-browser.c (folder_browser_reload): dont reload the uri if + we're in the process of loading it still. + (folder_browser_new): load the folder meta data before loading the + folder. + (folder_browser_toggle_preview): + (folder_browser_toggle_threads): save change to meta-data. + (got_folder): Load the metadata if we have a folder to set, and + the meta-data has changed from initislisation. + +2003-03-23 Chris Toshok <toshok@ximian.com> + + * mail-callbacks.c (ask_confirm_for_unwanted_html_mail): pass + FALSE for e_destination_get_textrep's include_email arg. + +2003-03-21 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (mail_format_data_wrapper_write_to_stream): + Default to the charset provied in the MimePart's Content-Type over + that of the user's mailer charset. Fixes bug #39204. + +2003-03-21 Jeffrey Stedfast <fejj@ximian.com> + + * mail-composer-prefs.c (spell_load_values): "en_us" should not be + translated. Fixes bug #40088. + +2003-03-21 Larry Ewing <lewing@ximian.com> + + * mail-display.c (pixbuf_gen_idle): remember to disconnect the + destroy handler if whenever the loader is shut down. + +2003-03-20 Jeffrey Stedfast <fejj@ximian.com> + + * component-factory.c (owner_set_cb): Change the message_destroy + callback to just gtk_widget_destroy. No need to have a callback + simply to call this function. + (warning_response): Removed (see above). + + * mail-composer-prefs.c (sig_add_script_response): Don't forget to + add the signature to the signature list if it is a valid script. + + * mail-config.c (mail_config_signature_unregister_client): Make + sure we can find the registered handler before trying to remove it + from the list. + + * mail-session.c (do_user_message): Make the 5th argument to + gtk_message_dialog_new() "%s" and move the m->prompt to arg 6 so + that we are safe if the prompt string contains any %'s. Also + connect to the response signal for the user_msg dialog and set the + callback to gtk_widget_destroy so that the user can actually close + the dialog. We also need to g_object_weak_ref() the dialog so that + we can set the global message_dialog pointer back to NULL when it + gets destroyed. Fixes bug #40043. + +2003-03-20 Dan Winship <danw@ximian.com> + + * mail-ops.c (build_from): Remove this since there's a function in + CamelMimeMessage to do it now. + (save_messages_save): Use camel_mime_message_build_mbox_from. + +2003-03-21 Not Zed <NotZed@Ximian.com> + + ** for mail part of bug #38461. + + * importers/evolution-outlook-importer.c (load_file_fn): dont pass + in create flag to uri_to_folder, the folder must already exist. + + * importers/evolution-mbox-importer.c (folder_created_cb): + Removed, we now force the caller to create the destination folder + first. + (load_file_fn): Dont try and create a folder if it doesn't exist. + Also, use the uri directly as the destination uri, so we can + import into any folder. + (process_item_fn): If we dont have a folder, thats just an error, + return BAD_FILE. + + * importers/netscape-importer.c (netscape_import_file): As below + for elm_import_file. + (import_next): similarly as for pine import_next. + (importer_cb): just record result. + (importer_timeout_fn): removed. + + * importers/pine-importer.c (import_next): Similar to below for + the elm import_next. + (pine_import_file): As below for elm_import_file. + (importer_timeout_fn): removed. + (importer_cb): just record the result, and exit. + (import_next): change around to behave more like the elm importer, + cleaning up when we're done. + + * importers/elm-importer.c (elm_import_file): Create the + destination folder ourselves, dont pass it onto the mbox importer. + Simplify logic, just do the import within a while loop, polling + the g main loop as necessary, remove need for idle callbacks and + other crap. + (import_next): If elm_import_file fails, then just go straight to + the next folder, stops it falling in a heap. + (import_item_idle): removed. + (importer_cb): just record result/exit. + + * mail-importer.c (mail_importer_create_folder): removed. + (mail_importer_make_local_folder): new function to create a + local-only folder from a path. It runs synchronously by using a + recursive main loop. + (folder_created_cb): callback for make_local_folder. + +2003-03-19 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config-druid.c (mail_config_druid_new): Revert ettore's + broken patch. + + * mail-search-dialogue.c: Removed - nothing uses this. + +2003-03-19 Ettore Perazzoli <ettore@ximian.com> + + * importers/GNOME_Evolution_Mail_Mbox_Importer.server.in.in: + Replace "evolution:menu-name" prop with "evolution:menu_name". + [#39692] + * importers/GNOME_Evolution_Mail_Outlook_Importer.server.in.in: + Likewise. + +2003-03-19 Ettore Perazzoli <ettore@ximian.com> + + * mail-config-druid.c (mail_config_druid_new): Give the druid the + DIALOG hint. [#39741 and friends.] + +2003-03-19 Radek Doulik <rodo@ximian.com> + + * mail-composer-prefs.c (spell_load_values): changed default + language to en_us instead of en + (spell_language_button_press): new handler, ported from 1.2 + (spell_setup): use spell_language_enable and + spell_language_button_press + +2003-03-18 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (composer_get_message): + e_msg_composer_get_subject() now returns a const char *, so update + appropriately. + +2003-03-18 Larry Ewing <lewing@ximian.com> + + * mail-callbacks.c (do_mail_print): fix leak, cleanup variable + name, and call gtk_window_set_transient_for with a parent that is + actually a GtkWindow. + (mark_as_unseen): use g_source_remove. + +2003-03-18 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config-druid.c (mail_config_druid_new): Set the type hint + to DIALOG so that Metacity shows this window on top. Fixes bug + #39914. + +2003-03-18 Not Zed <NotZed@Ximian.com> + + * mail-vfolder.c (new_rule_clicked): validate rule & rule is + unique. Workaround for #39464. Should this just use + rule_context_add_rule_gui?? + + * mail-search.c (mail_search_destroy): unhook from the html engine + signals here, before we redisplay the message. Also make sure + this processing only happens once. For #39759. + (mail_search_finalise): dont unhook from signals here. + +2003-03-12 Not Zed <NotZed@Ximian.com> + + * mail-callbacks.c (expunge_folder): use a hack to find out if the + message-list was focussed before we desensitise it. + (expunged_folder): If the message-list was focussed before, + re-grab the focus. For bug #29564. + +2003-03-17 Ettore Perazzoli <ettore@ximian.com> + + * mail-signature-editor.c (mail_signature_editor): Give the editor + the GDK_WINDOW_TYPE_HINT_DIALOG hint. [#38926] + +2003-03-17 Jeffrey Stedfast <fejj@ximian.com> + + * mail-display.c (pixbuf_gen_idle): If we fail to load the pixbuf, + don't use it (stops some g_warnings). + + Part of a fix for bug #39809 + + * mail-vfolder.c (vfolder_edit): Don't add the cancel button here. + + * mail-callbacks.c (filter_edit): Don't add the cancel button here. + +2003-03-17 Jeffrey Stedfast <fejj@ximian.com> + + * mail-display.c (do_external_viewer): Lookup the handler for the + type. If we don't have a registered handler or if the registered + handler is not meant to be handled via a bonobo component, don't + use a bonobo component. + + * mail-format.c (mail_lookup_handler): If we register a new + handler that is to be handled by a bonobo component, set + handler->is_bonobo to TRUE. + +2003-03-14 Dan Winship <danw@ximian.com> + + * component-factory.c (storage_connect, storage_connected): Update + for EvolutionStorage change + +2003-03-12 Jeffrey Stedfast <fejj@ximian.com> + + * mail-signature-editor.c (menu_file_save_cb): Rewritten to do the + same as the composer's build_message() code. + +2003-03-11 Jeffrey Stedfast <fejj@ximian.com> + + * mail-accounts.c (account_add_clicked): Use + gtk_window_set_transient_for() on the druid with the settings + dialog as the parent window. + +2003-03-10 Jeffrey Stedfast <fejj@ximian.com> + + * mail-signature-editor.c (do_exit): Remove the yes/no + buttons. Fixes bug #39382. + + * mail-accounts.c (account_able_toggled): New callback function to + handle the checkbox getting toggled. + (mail_accounts_treeview_new): Save the toggle renderer so we can + later connect to it's toggled signal. + (mail_accounts_tab_construct): Connect to the toggle-cell's + toggled signal. Fixes bug #39325. + +2003-03-11 Not Zed <NotZed@Ximian.com> + + * mail-vfolder.c (vfolder_editor_response): Fix the response code, + because some bastard changed the filter/* code and didn't fix the + callers. Partial fix for #39165. + +2003-03-10 Not Zed <NotZed@Ximian.com> + + * Makefile.am (libevolution_mail_la_SOURCES): removed main.c from + the build. + + * component-factory.c (component_factory_init): Remove, not used + anymore, causes linking problems some places. + (factory): Removed the debug printf. Added a case for the + composer. Part of fixing #39256. + +2003-03-07 Jeffrey Stedfast <fejj@ximian.com> + + All this snot just to fix bug #38925 and an attempt to fix bug + #38926 (but it seems no matter what I do, I can't work around the + bonoboness/modality/whatever of the shell's preferences dialog). + + * mail-account-gui.c (sig_add_new_signature): Get the toplevel + parent GtkWindow and pass that along to + mail_composer_prefs_new_signature() so that window layering can be + done correctly. + + * mail-composer-prefs.c (mail_composer_prefs_new_signature): + Simplify. We don't want to add the signature to the list until + after they have saved. + (sig_edit_cb): Pass FALSE as the is_new argument to + mail_signature_editor(). + (sig_event_client): Listen for signatures being added. + (mail_composer_prefs_new_signature): Now takes a GtkWindow arg as + the first arg rather than a MailComposerPrefs arg since we don't + really need it to be a MailComposerPrefs object. We'd rather use + the first arg as the parent GtkWindow so that we can set + transience for the editor window. + + * mail-signature-editor.c (mail_signature_editor): Now takes a + 'parent' argument (so we can set transient_for()) and a 'is_new' + argument specifying whether the editor is editing a new signature + or not. If it is, when the user saves, it will be added to the + signature list. otherwise it won't. + (sig_name_changed): Only use the mail_config_signature_set_name() + interface if it is *not* a new signature. + (menu_file_save_cb): If is_new, then save the signature to the + config - otherwise do what we did before and set the modifications + to it and emit the CHANGED event. + + * mail-config.c (mail_config_signature_new): Renamed from + mail_config_signature_add(). We no longer immediately add the + signature to the list of saved signatures. + (mail_config_signature_add): New function which adds the signature + and emits the SIG_ADDED event. + +2003-03-07 Jeffrey Stedfast <fejj@ximian.com> + + * mail-display.c (on_url_requested): If the part url is a text + part, use mail_format_data_wrapper_write_to_stream(). This should + fix bug #39204. + + * mail-format.c (mail_format_data_wrapper_write_to_stream): Make public. + +2003-03-06 Ettore Perazzoli <ettore@ximian.com> + + * mail-accounts.c (mail_accounts_treeview_new): Set the + shadow_type of the scrlled window to GTK_SHADOW_IN. + +2003-03-06 Ettore Perazzoli <ettore@ximian.com> + + * mail-config.glade: Add some spacing to the buttons. [#38227] + +2003-03-06 Ettore Perazzoli <ettore@ximian.com> + + * importers/evolution-mbox-importer.c (IN): Use G_GNUC_FUNCTION + instead of __FUNCTION__. + (OUT): Likewise. + * importers/netscape-importer.c (netscape_import_file): Likewise. + * mail-send-recv.c (receive_done): Likewise. + * mail-summary.c (SUMMARY_OUT): Likewise. + (SUMMARY_IN): Likewise. + (folder_changed_cb): Likewise. + (message_changed_cb): Likewise. + +2003-03-06 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser-factory.c: #include <string.h> + + * e-searching-tokenizer.c (camel_utf8_getc): Don't use __inline__ + as not all platforms/compilers support this keyword. + (g): Same. + +2003-03-06 Not Zed <NotZed@Ximian.com> + + * component-factory.c (owner_unset_cb): remove debug printf. + +2003-03-05 Not Zed <NotZed@Ximian.com> + + * component-factory.c (idle_quit): Removed old quit code. + (owner_unset_cb): Make this call synchronous. Wont cover all + cases but should be ok most of the time. + +2003-03-04 Jeffrey Stedfast <fejj@ximian.com> + + * mail-search.c: Prototype some functions to shut the compiler up. + + * mail-callbacks.c (composer_get_message): Go back to using + e_destination_get_address() but use the camel-address parser on + the strings to make sure they are non-empty. Fixes bug #37854. + +2003-03-03 Jeffrey Stedfast <fejj@ximian.com> + + * mail-signature-editor.c (menu_file_save_cb): Use 'filename' when + creating the uri rather than using the uninitialised 'uri' + variable to create itself. Fixes bug #38864. + +2003-03-03 Not Zed <NotZed@Ximian.com> + + * mail-session.c (do_user_message): Do the same as below for + request_password, so we dont leave a mainloop lying around. + +2003-03-03 Jeffrey Stedfast <fejj@ximian.com> + + * mail-session.c (request_password): Don't connect to the response + signal if we are in the main thread - instead just use the return + value from gtk_dialog_run and then call pass_response() with the + response value. + +2003-03-03 Not Zed <NotZed@Ximian.com> + + * subscribe-dialog.c (fe_got_children): Remove the + e_tree_memory_sort_node, currently it crashes inside gal, the root + node seems to get free'd under it. + +2003-02-26 Jeffrey Stedfast <fejj@ximian.com> + + * mail-preferences.c: Reverted back to using e-iconv + + * mail-composer-preferences.c: Same. + +2003-02-26 Dan Winship <danw@ximian.com> + + * GNOME_Evolution_Mail.server.in.in: add a repo_id and a priority + level to the startup wizard + +2003-02-25 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c: Reverted back to using e-iconv instead of + camel-iconv. + +2003-02-25 Dan Winship <danw@ximian.com> + + * mail-config-druid.c: Update for new EvolutionWizard interfaces. + +2003-02-25 Dan Winship <danw@ximian.com> + + * mail-config-druid.c: Redo this to not use the CORBA interfaces + in the local case (in preparation for redoing the CORBA + interfaces). + (mail_config_druid_new): Remove unused "shell" arg + + * mail-account-gui.c (mail_account_gui_transport_complete): Don't + crash if there's no transport selected at all. + (mail_account_gui_new): Don't try to set cc_addrs/bcc_addrs if + they're NULL. + + * mail-accounts.c (account_add_clicked): Don't need to pass shell + to mail_config_druid_new. + + * mail-callbacks.c (configure_mail): Don't need to pass shell to + mail_config_druid_new. + +2003-02-24 Jeffrey Stedfast <fejj@ximian.com> + + * mail-session.c (request_password): Make sure m->config_service + is non-NULL before using m->config_service->save_passwd since PGP + stuff will not have a config_service. Fixes bug #38149. + + * mail-account-gui.c (mail_account_gui_save): + s/e_account_list_changed/e_account_list_change - otherwise we get + an undefined symbol and we crash :-) + + * mail-composer-prefs.c (mail_composer_prefs_new_signature): Don't + always append "[script]" to the signature name. Also cleaned up + some memory leakage. + +2003-02-20 Not Zed <NotZed@Ximian.com> + + * mail-preferences.c (mail_preferences_apply): fix the g_snprintf + stuff. + + * mail-config.c (mail_config_add_account): Use new + e_account_list_add. + (mail_config_remove_account): Use new e_account_list_remove. + (mail_config_set_default_account): Similarly for + e_account_list_set_default. + (mail_config_get_default_account): Same for + e_account_list_get_default. + (mail_config_get_account_by_name): Use e_account_list_find. + + * mail-account-gui.c (mail_account_gui_save): use new + e_account_list_changed call instead of manual signalling. + +2003-02-23 Jeffrey Stedfast <fejj@ximian.com> + + * mail-local.c: Set the local provider description field to a + string rather than NULL to prevent a segfault on solaris. Fixes + bug #38418. + +2003-02-23 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (write_text_header): bitwise-or in + CAMEL_MIME_FILTER_TOHTML_CONVERT_SPACES to fix bug #38499. + + * mail-search.c (mail_search_destroy): New overloaded virtual + method, does what dialog_destroy_cb was trying to do. + (mail_search_construct): Connect to the "response" signal rather + than "clicked" to correspond to the GtkDialog API + (instead og the old GnomeDialog API). + (dialog_response_cb): Changed the function name and made it check + button == GTK_RESPONSE_ACCEPT to search, any other button + closes. Fixes bug #37947. + +2003-02-21 Hans Petter Jansson <hpj@ximian.com> + + * component-factory.c (factory): Don't try to get a FontPrefs control. + + * mail-config-factory.c (mail_config_control_factory_cb): Just return + NULL if a FontPrefs control was requested. + + * mail-config.c (mail_config_get_default_account): If no accounts + are defined, don't try to set the default account. + +2003-02-21 Dan Winship <danw@ximian.com> + + * Makefile.am (libevolution_mail_la_LIBADD): Remove libebook's + dependencies. + + * importers/Makefile.am (libevolution_pine_importer_la_LIBADD): + Likewise. + +2003-02-21 Dan Winship <danw@ximian.com> + + * mail-account-gui.c (mail_account_gui_build_extra_conf): Use + tables instead of vboxes, so that groups of label/entry pairs (as + in Connector's config page) can line up nicely. + + * mail-config.glade: Turn extra_vbox and extra_mailcheck_vbox into + tables. + + * mail-config-druid.c (get_fn): s/extra_vbox/extra_table/ + + * Makefile.am (libevolution_mail_la_LIBADD): + s/libcomposer.a/libcomposer.la/ + +2003-02-20 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (mark_all_as_seen): Use + camel_folder_free_uids(). + + * mail-format.c (write_headers): Use + camel_charset_canonical_name() here instead of + e_iconv_charset_name(). + + * mail-preferences.c (mail_preferences_construct): Same as below. + (mail_preferences_apply): Again here. + + * mail-composer-prefs.c (mail_composer_prefs_construct): Use + camel_charset_locale_name() here instead of + e_iconv_locale_charset(). + (mail_composer_prefs_apply): Same. + +2003-02-20 Dan Winship <danw@ximian.com> + + * Makefile.am (libevolution_mail_la_LIBADD): + s/libemiscwidgets.a/libemiscwidgets.la/ and likewise for + libefilterbar + +2003-02-18 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (mark_all_as_seen): Fixed a memory leak - make + sure to free all uids. + + * mail-config.c (uri_to_key): Removed. + (lookup_signature): Removed. + (xml_get_int): Removed. + (xml_get_bool): Removed. + (mail_config_get_time_24hour): Removed. + + * evolution-mail.schemas: s/long/int/g and change default_account + to be a string instead of an int. + + * mail-config.c (mail_config_get_default_account): default_account + now uses the account uid, so change the code a bit to match uid + strings rather than use an index. + (mail_config_remove_account): Same here. simplifies the code a + bunch. + (mail_config_set_default_account): Here too. + + * folder-browser-ui.c (folder_browser_ui_setup_view_menus): Update + the GalView path. + +2003-02-14 Jeffrey Stedfast <fejj@ximian.com> + + * mail-session.c (do_get_pass): Change the logic here + slightly. Instead of only reprompting the user if the cache is + empty, also reprompt the user if the backend is forcing a + reprompt. + (request_password): If we have a cached passwd string for the + account, fill-in the GtkEntry box with that value by + default. This, together with the camel changes, fixes the + "Evolution forgets my POP passwd if it gets a -ERR response during + the login phase" bug. + +2003-02-13 Jeffrey Stedfast <fejj@ximian.com> + + * e-searching-tokenizer.c: #include <stdio.h> + + * mail-config-factory.c: #include <string.h> + + * mail-config-druid.c (identity_prepare): Use + gtk_editable_select_region() since gtk_entry_select_region() has + been deprecated. + (construct): Use gtk_window_set_resizable() instead of + gtk_window_set_policy(). + (wizard_free): account_destroy() is no longer around, use + g_object_unref() instead. (how did this even compile before?) + + * mail-account-gui.c (mail_account_gui_build_extra_conf): Use + gtk_label_set_text_with_mnemonic() instead of + gtk_label_parse_uline() as the latter has been deprecated. + +2003-02-12 Jeffrey Stedfast <fejj@ximian.com> + + * importers/netscape-importer.c: Removed unused variables. + + * importers/pine-importer.c: Removed unused variables. + (parse_address): Removed - it's unused and we have CamelAddress + available to us anyway. + + * importers/elm-importer.c: Removed unused variables. + + * importers/evolution-mbox-importer.c (load_file_fn): Removed an + unused variable. + +2003-02-11 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-editor.c (construct): Use + gtk_window_set_resizable() instead of gtk_window_set_policy(). + + * mail-config.c: Fix a bunch of warnings. + (mail_config_signature_write): Removed. + + * mail-callbacks.c: Removed unused variables. + + * mail-accounts.c (mail_accounts_tab_class_init): Register a + destroy virtual method. + (mail_accounts_tab_destroy): Set mail_display->destroyed = TRUE. + + * message-list.c (message_list_destroy): Set + mail_display->destroyed = TRUE. This is a workaround for the + GTK_OBJECT_DESTROYED() macro that we used to use before. + + * mail-display.c (mail_display_destroy): Set + mail_display->destroyed = TRUE. This is a workaround for the + GTK_OBJECT_DESTROYED() macro that we used to use before. + +2003-02-10 Jeffrey Stedfast <fejj@ximian.com> + + * message-list.c (build_tree): Use g_signal_emit() rather than + gtk_signal_emit(). + (build_flat): Same here. + + * mail-signature-editor.c: #include <string.h> + + * mail-vfolder.c: #include <string.h> + + * mail-session.c: #include <string.h> + + * mail-search.c: #include <string.h> + + * mail-mt.c: #include <string.h> + + * mail-ops.c (save_part_save): Use strcasecmp() instead of + g_strcasecmp(). + + * mail-local.c: #include <string.h> + (reconfigure_folder_reconfigured): Use a GtkDialog instead of + gnome_error_dialog(). + + * mail-format.c (find_preferred_alternative): Use g_ascii_strdown + since g_strdown is deprecated. + (fake_mime_part_from_data): Removed, no longer used it seems. + (destroy_part): Also removed. + + * mail-display.c (make_popup_window): Replace call to + gtk_window_set_polociy() with gtk_window_set_resizable() instead. + (popup_size_allocate_cb): Use gtk_window_set_position() with + GTK_WIN_POS_MOUSE instead of calculating the position to put it + in. + +2003-02-10 Ettore Perazzoli <ettore@ximian.com> + + * importers/Makefile.am: Split the ORBit IDL compilation rules to + work properly with parallel makes. + (BUILT_SOURCES): Add this. + (CLEANFILES): Add this. + + * Makefile.am: Split the ORBit IDL compilation rules to work + properly with parallel makes. + (BUILT_SOURCES): Add $(IDL_GENERATED) here. + (CLEANFILES): Remove from here. + +2003-02-10 Rodney Dawes <dobey@ximian.com> + + * importers/Makefile.am: Add LDFLAGS to ported libs + +2003-02-10 Larry Ewing <lewing@ximian.com> + + * mail-display.c (save_url): look in the http cache for images + when saving + (image_save_as): remove random warning. + (do_external_viewer): remove unused variable. + (do_attachment_header): use g_ascii_strdown + +2003-02-07 Larry Ewing <lewing@ximian.com> + + * mail-display.c (save_data_cb): don't use random memory as a + gconf client. + +2003-02-06 Chris Toshok <toshok@ximian.com> + + * importers/pine-importer.c (import_addressbook): track change to + e_book_load_uri type. + +2003-02-06 Ettore Perazzoli <ettore@ximian.com> + + * folder-browser.c (on_right_click): Use + e_auto_kill_popup_menu_on_selection_done() instead of + e_auto_kill_popup_menu_on_hide(). + +2003-02-06 Dan Winship <danw@ximian.com> + + * Makefile.am (INCLUDES): add EVOLUTION_PRIVDATADIR. Fix + EVOLUTION_ICONSDIR + + * component-factory.c (owner_set_cb): Use EVOLUTION_PRIVDATADIR + * mail-autofilter.c (filter_gui_add_from_message): Likewise + (mail_filter_rename_uri): Likewise + (mail_filter_delete_uri): Likewise + * mail-callbacks.c (filter_edit): Likewise. + * mail-search-dialogue.c (mail_search_dialogue_construct): + Likewise + * mail-session.c (main_get_filter_driver): Likewise + * mail-summary.c (generate_folder_summaries): Likewise + * mail-vfolder.c (vfolder_load_storage): Likewise + +2003-02-06 Dan Winship <danw@ximian.com> + + * Makefile.am: Remove *dir defs that are in configure.in now + (INCLUDES): clean up using new *dir variables + (libevolution_mail_la_LDFLAGS): remove -export-dynamic, add + -module + + * main.c (main): s/PACKAGE/GETTEXT_PACKAGE/ in gettext init + + * importers/Makefile.am (INCLUDES): change EVOLUTION_DATADIR to + EVOLUTION_PRIVDATADIR + + * importers/netscape-importer.c (netscape_import_filters): use + EVOLUTION_PRIVDATADIR + +2003-02-06 Larry Ewing <lewing@ximian.com> + + * mail-session.c (pass_activate): add an activate handler to the + entry so that hitting return will return an OK response. + +2003-02-05 Dan Winship <danw@ximian.com> + + * main.c (main): s/glade_gnome_init/glade_init/ + +2003-02-05 Not Zed <NotZed@Ximian.com> + + * importers/netscape-importer.c: update from ../../importers/. + (main): Removed. + (mail_importer_module_init): Setup module init fn. + (factory_fn): api changes. + (is_dir_empty): deprecated changes, and clean up logic. + (importer_cb): pulse progress bar, use idle function for + processing next item. + (import_next): Remove link before recursing, also fix memleak, and + api changes. + (netscape_import_file): dont release importer. + (*): gconf'ify + + * importers/elm-importer.c (elm_factory_fn): Track the + evolution_intelligent_importer, so we can unref it when done. + (*): gconf'ify. + + * importers/pine-importer.c (parse_line): use gobject stuff rather + than gtkobject. + (import_addressfile): close down 'properly' when finished. + (importer_timeout_fn): Do most processing decisions here, either + from a timeout or idle function. This prevents us getting 1 stack + frame per message and per folder. Close down properly also. + (importer_cb): Add a timeout, ignore the callback, or add an idle + function to process the next item. + (pine_import_file): dont release the importer if we can't load it, + its released elsewhere, i think. + (import_addressfile): step the progress bar as we go. + (factory_fn): Track the evolution_intelligent_importer, so we can + unref when done. + (*): gconf'ify + +2003-01-31 Not Zed <NotZed@Ximian.com> + + * importers/elm-importer.c (elm_can_import): g_file_exists -> + lstat, and g_build_filename api changes. + + * importers/pine-importer.c: moved from + ../../importers/pine-importer.c + (factory_fn): oaf->bonobo_activation + (mail_importer_module_init): setup factory. + (main): Removed. + (*): REemove bonobo config stuff. + (factory_fn): destroy signal -> weak ref. + (pine_destroy_cb): Fix signature for weak ref notify. + (import_addressfile): use new glib filename stuff. + (import_addressbook): same. + (pine_can_import): and here. + (import_next): and here. + (scan_dir): and here + (pine_create_structure): And here. + (pine_can_import): g_file_exists -> lstat. + (importer_cb): If there are more items, use an idle handler to + drop back a few stack frames rather than recursing for each + message. + (import_next): unlink data from dir_list before recursing, and fix + leak. + +2003-01-30 Not Zed <NotZed@Ximian.com> + + * importers/elm-importer.c (elm_destroy_cb): Change for weak ref + setup. + (elm_factory_fn): destroy -> weak ref. + +2003-01-29 Not Zed <NotZed@Ximian.com> + + * importers/elm-importer.c (importer_cb): Pass processItem off to + an idle handler, so we dont blow our stacks. Also update to use + progress_bar_pulse(). + (import_item_idle): Get the next message here instead. + (import_next): Fix a glist leak. Unlink the file before we import + it too. And close the dialogue and clean up when we've run out of + folders to import. + +2003-01-17 Not Zed <NotZed@Ximian.com> + + * importers/elm-importer.c (elm_create_structure): use/free elmdir + rather than double-free maildir. + +2003-01-16 Not Zed <NotZed@Ximian.com> + + * importers/elm-importer.c: update from ../importers/elm-importer.c + +2003-02-03 Jeffrey Stedfast <fejj@ximian.com> + + * message-list.c (mail_regen_list): Get the thread_subject setting + here instead of in regen_list_regen since that function will be + called in another thread and we can't make corba calls in anything + but the main thread. + (regen_list_regen): Don't make CORBA calls here! (shame on me). + + * mail-identify.c (mail_identify_mime_part): Just use + gnome_vfs_get_mime_type_from_name() so we can forget all the crap + I implemented before. + +2003-02-01 Jeffrey Stedfast <fejj@ximian.com> + + * mail-display.c (on_link_clicked): Pass in the *address* of the + GError to gnome_url_show(), otherwise bad things happen :-) + +2003-01-31 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config.c (mail_config_get_labels): New function to return a + cached list of labels. + (mail_config_get_label_color_by_name): New convenience function to + search the cached labels. + (mail_config_get_label_color_by_index): Same. + (mail_config_init): Cache the labels and also listen for changes + to them in the gconf db. + (config_cache_labels): Internal function to cache the labels. + + * folder-browser.c (on_right_click): Fixed the label colours in + the menu by using the cached linked list of labels. + + * mail-preferences.c (colorpicker_set_color): Now takes a string + argument allowing us to get rid of converting a string into an rgb + guint32 all over the place when trying to set defaults, since we + now store colors in gconf as strings. + (mail_preferences_construct): Use the cached labels (they are + already parsed for us). + +2003-01-27 Jeffrey Stedfast <fejj@ximian.com> + + * component-factory.c (storage_remove_folder): Change + strcmp(fi->path, path) to strcmp(fi->name, name) and now the + execution takes the right path. My patch base on Callie's patch + for bug #33525. + + * mail-identify.c (mail_identify_mime_part): Fixed a #warning by + converting a local path into a file: uri before feeding it to + gnome-vfs. + + * message-list.c (message_list_set_folder): Removed a FIXME that + I've decided is no longer needed. + +2003-01-22 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config.c (mail_config_add_account): Emit the account-added + event. + (mail_config_remove_account): Emit the account-removed event. + + * mail-account-gui.c (mail_account_gui_save): Emit the changed + event on the account-list for the changed account. + +2003-01-24 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser-ui.c (folder_browser_ui_add_global): Set the + paned_size here. + + * folder-browser.c (folder_browser_gui_init): Don't bother + connecting to the hide-deleted, message-display-style, paned-size, + nor show-preview gconf notifications anymore, since we can just + set them when the view becomes active again in + folder-browser-ui.c. Cuts down on extra overhead. + (folder_browser_destroy): No need to disconnect from those + notifications anymore either. + +2003-01-24 Ettore Perazzoli <ettore@ximian.com> + + * Makefile.am (iconsdir): Remove, this is now defined in + configure.in. + +2002-12-07 leon.zhang <leon.zhang@sun.com> + + * component-factory.c (user_create_new_item_cb): transfer the + current acount info, which will be regarded as the sender of + new composer, to send_to_url(). + + * mail-callbacks.h (send_to_url): Add a new parameter for parent + folder uri. + + * mail-callbacks.c (send_to_url): Create composer base on source + account info from parent folder physical uri. + (post_to_url): create composer based on current account from + parent folder physical uri. + + * mail-display.c (on_link_clicked): Apply new format of function: + send_to_url. + + Fixes bug #35123 #35289 + +2003-01-24 Not Zed <NotZed@Ximian.com> + + * mail-local.c (non_equal): We do actually need to check they are + file url's, otherwise, all url's match. + +2003-01-23 Rodney Dawes <dobey@ximian.com> + + * folder-browser.c (fb_resize_cb): Use button_release instead of + size_allocate, and get the position from the Paned widget to prevent + calling CORBA all the time for GConf stuff + +2003-01-23 Ettore Perazzoli <ettore@ximian.com> + + * Makefile.am (componentdir): Removed definition; this is now + defined in configure.in. + +2003-01-22 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config.c (mail_config_get_thread_list): Removed. + (mail_config_set_thread_list): Removed. + (mail_config_uri_renamed): No longer needs to change threaded + state for each url either. + (mail_config_write_on_exit): Updated. + + * folder-browser-ui.c (folder_browser_ui_add_list): Get the + threaded state via gconf. + + * folder-browser.c (folder_browser_toggle_threads): Save the + threaded state. + +2003-01-22 Ettore Perazzoli <ettore@ximian.com> + + * folder-browser-ui.c (folder_browser_ui_setup_view_menus): Use + EVOLUTION_GALVIEWSDIR. + + * message-browser.c (set_bonobo_ui): Get + evolution-mail-messagedisplay.xml from EVOLUTION_UIDIR. + + * mail-signature-editor.c (mail_signature_editor): Get + evolution-signature-editor.xml from EVOLUTION_UIDIR. + + * folder-browser-ui.c (ui_add): Get the evoluiton-mail* XML files + from EVOLUTION_UIDIR. + + * Makefile.am (INCLUDES): Define EVOLUTION_GALVIEWSDIR; update + EVOLUTION_IMAGESDIR to include the $(BASE_VERSION). + (gladedir): Version using $(BASE_VERSION). + (etspecdir): Likewise. + (iconsdir): Likewise. + (buttonsdir): Likewise. + (etspecdir): Likewise. + + * component-factory.c (owner_set_cb): Look for vfoldertypes.xml in + the new version-aware location. + * mail-summary.c (generate_folder_summaries): Likewise. + * mail-search-dialogue.c (mail_search_dialogue_construct): Likewise. + * mail-vfolder.c (vfolder_load_storage): Likewise. + + * mail-autofilter.c (filter_gui_add_from_message): Look for + filtertypes.xml in the new version-aware location. + (mail_filter_rename_uri): Likewise. + (mail_filter_delete_uri): Likewise. + * mail-session.c (main_get_filter_driver): Likewise. + * mail-callbacks.c (filter_edit): Likewise. + +2003-01-22 Radek Doulik <rodo@ximian.com> + + * mail-callbacks.c (do_mail_print): put unrealized html widget + into top level widget (gtk window) before realizing it + destroy temporary widgets (w, html) + +2003-01-21 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config.c (mail_config_remove_account): Don't unref the + account object, e_list_remove() apparently handles this for us. + + * mail-accounts.c (account_delete_clicked): Don't unref the + confirm dialog, it was already destroyed. + +2003-01-20 Jeffrey Stedfast <fejj@ximian.com> + + * evolution-mail.schemas: Default to hiding deleted + messages. Fixes bug #35929. + + * mail-preferences.c (entry_changed): Removed. + (toggle_button_toggled): Removed. + (settings_changed): New callback that replaces the two above. No + need to have multiple callback functions when the signature is the + same. + + * folder-browser.c (folder_browser_toggle_hide_deleted): Don't + !atoi (state) for the message_list_set_hidedeleted() call. + +2003-01-18 Larry Ewing <lewing@ximian.com> + + * mail-callbacks.c (save_msg_ok): e_question returns a boolean, + don't test for a specific value. + + * mail-display.c (html_button_press_event): make the event + handlers return FALSE so that gtkhtml can process the events. + (on_link_clicked): call gnome_url_show with all its arguments so + that it actually does something. Also pass news and nntp urls to + gnome_url_show so that they can be handled properly. + +2003-01-17 Larry Ewing <lewing@ximian.com> + + * mail-format.c (handle_text_enriched): wrap eriched entries with + a table so that they get proper indentation. + +2003-01-17 Jeffrey Stedfast <fejj@ximian.com> + + * mail-session.c (do_get_pass): Updated. + (request_password): Same. + + * mail-send-recv.c (mail_send): Fixed to use EAccountService. + + * mail-config-druid.c (make_account): Updated to use EAccount and + friends. + + * mail-account-gui.c (service_check_supported): Updated to use + EAccountService. + (mail_account_gui_new): Ref the account passed in and also update + to use EAccount objects. + (save_service): Updated to use an EAccountService. + (add_new_store): Updated to use an EAccount. + (mail_account_gui_save): Updated to use EAccounts. + (setup_signatures): Updated because the new account->id->def_sig + is now an int and not a structure pointer. + + * mail-account-editor.c (construct): Updated. + (mail_account_editor_new): Now takes an EAccount object as an + argument instead of a MailConfigAccount. + + * mail-crypto.c (mail_crypto_get_pgp_cipher_context): Updated to + use EAccounts. + + * subscribe-dialog.c (populate_store_foreach): Removed. + (populate_store_list): Can't use populate_store_foreach here + because of the change to EAccountList so do it manually. + + * mail-vfolder.c (uri_is_ignore): Rewrote to use EAccountList and + EIterator and all that fun. + + * mail-send-recv.c (build_dialogue): Updated to use EAccountList + and EAccount object stuff. *ugh* + (mail_send_receive): Here too. + (mail_autoreceive_setup): Same. + + * mail-callbacks.c (check_send_configuration): Updated. + (composer_get_message): Updated. + (compose_msg): " + (list_add_addresses): " + (guess_me): " + (guess_me_from_accounts): Same. + (forward_get_composer): Here too. + (mail_generate_reply): Same. + (redirect_get_composer): " + (empty_trash): And finally here. + + * mail-accounts.c (account_edit_clicked): Updated. + (account_delete_clicked): Same. + (account_default_clicked): Here too. + (account_able_clicked): " + (account_cursor_change): " + (mail_accounts_load): Again here. + + * folder-browser.c (folder_browser_is_drafts): Updated to use + EAccountList and EAccount stuff. + (folder_browser_is_sent): Same. + + * component-factory.c (mail_load_storages): Updated to use + EAccount and EAccountList stuff. + (owner_set_cb): Same. + (send_receive_cb): Here too. + + * mail-config.c: Rewritten to use EAccount and EAccountList + objects. + +2003-01-16 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config-druid.c (get_fn): Connect to the toggled event on + the transport_needs_auth toggle button so if the user turns this + off after having deleted the username field, the Next button + becomes re-enabled. Fixes bug #36862. + +2003-01-16 Jeffrey Stedfast <fejj@ximian.com> + + * mail-composer-prefs.c (sig_fill_clist): Same as below. + + * mail-account-gui.c (sig_fill_options): + mail_config_get_signature_list() now returns a GSList instead of a + GList. + + * mail-config.c (signature_new_from_xml): New function to parse a + signature xml blob into a MailConfigSignature structure. + (config_read_signatures): Rewritten to use above function. + (signature_to_xml): New function to write a signature to xml. + (config_write_signatures_num): Removed. + (config_write_signature): Removed. + (config_write_signatures): Rewritten to use signature_to_xml and + gconf. + +2003-01-16 Dan Winship <danw@ximian.com> + + * mail-config.h (MailConfigAccount): Add a UID field (to match + EAccount), which never changes and can be used by gconf watchers + to distinguish an account rename from a deletion and creation. + + * mail-config.c (account_copy): Create a new UID on the new + account. + (account_new_from_xml): Read the UID. (If it doesn't have one, + make one.) + (account_to_xml): Write the UID. + + * mail-config-druid.c (make_account): add a UID to each account + +2003-01-15 Not Zed <NotZed@Ximian.com> + + * mail-accounts.c (account_able_clicked): Change the + enable/disable button when the state changes. + +2003-01-15 Jeffrey Stedfast <fejj@ximian.com> + + * mail-local.c (save_metainfo): Back to using e_xml_save_file(). + +2003-01-14 Ettore Perazzoli <ettore@ximian.com> + + * message-tag-editor.c (message_tag_editor_init): Make dialog + Cancel/OK to match HIG. + + * mail-signature-editor.c (do_exit): Make confirmation dialog + Discard/Cancel/Save to match the HIG. + + * mail-composer-prefs.c (mail_composer_prefs_construct): Make + dialog Cancel/OK to match HIG. + + * mail-account-editor.c (construct): Make the dialog + Apply/Close/OK to match HIG. + +2003-01-14 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-gui.c (mail_account_gui_save): Call + mail_config_save_accounts (). + + * mail-config.c (mail_config_save_accounts): New function to save + accounts without having to re-load them. + +2003-01-14 Radek Doulik <rodo@ximian.com> + + * folder-browser.c (etree_key): use gtk_scrolled_window_* + functions for mail_display->scroll + + * mail-display.c (mail_display_new): use gtk_scrolled_window_* + functions + + * mail-display.h: use GtkScrolledWindow instead of EScrollFrame + +2003-01-14 Jeffrey Stedfast <fejj@ximian.com> + + * mail-display.c (pixmap_press): Change the user_data argument to + be of type gpointer instead of EScrollFrame, since, well, it's not + an EScrollFrame anymore. + +2003-01-14 Ettore Perazzoli <ettore@ximian.com> + + * Makefile.am (libevolution_mail_la_SOURCES): Add mail-format.h. + (EXTRA_DIST): Add $(schema_DATA). + +2003-01-14 Rodney Dawes <dobey@ximian.com> + + * Makefile.am: Make the component be unversioned as a shlib + +2003-01-14 Rodney Dawes <dobey@ximian.com> + + * folder-browser.c: Use GtkPaned instead of EPaned + +2003-01-13 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config.c (account_new_from_xml): Perform some sanity + checking on the auto-check-timeout value. + + * folder-browser.c (folder_browser_copy): Correctly create the + clipboard buffer by using a nul to delimit the uri and the list of + uids. + + * folder-browser-ui.c (folder_browser_ui_add_message): Check the + state of message_style in gconf and set the menus accordingly. + + * folder-browser.c (folder_browser_destroy): Remove listener for + message_style change notification. + (folder_browser_gui_init): Connect a listener for changes to + message_style. + + * mail-config.c (account_to_xml): Save the auto-check timeout + value. + (account_new_from_xml): Load the auto-check-timeout value. + +2003-01-13 Dan Winship <danw@ximian.com> + + * folder-info.c: s/BonoboXObject/BonoboObject/ + + * mail-config.c: Likewise + + * mail-offline-handler.c: Likewise + +2003-01-13 Not Zed <NotZed@Ximian.com> + + * mail-mt.c (mail_msg_check_error): hook onto destroy to remove + dialogue from active table. + (error_response): Just destroy on any response, dont unref either. + +2003-01-11 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (mail_format_data_wrapper_write_to_stream): + g_strdup the md->charset otherwise we'll get memory corruption + later. This may be why non-usascii text is displaying incorrectly. + +2003-01-10 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser-ui.c (folder_browser_ui_add_list): We also need + to call message_list_set_hidedeleted() here so that any + deactivated folder controls will change to the currently set state + when re-activated. + (folder_browser_ui_add_global): Same for show_preview. + + * folder-browser.c (hide_deleted_changed): Don't call + message_list_set_hidedeleted() here. + (folder_browser_toggle_hide_deleted): Instead, call it here. This + way we get a faster "response time". Also, this will make it so + that not all folder controls will regen their message-list at the + same time. + (folder_browser_toggle_preview): Same idea as the hide-deleted + changes. + (show_preview_changed): See above. + + * mail-config-druid.c (make_account): Default the new account to + enabled. + (wizard_finish_cb): Don't set enabled here. + +2003-01-10 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser.c (hide_deleted_changed): New callback for when + the HideDeleted state changes. + (folder_browser_gui_init): Listen for changes to hide_deleted so + we can update the menu state. + (folder_browser_destroy): Remove the hide_deleted notify handler. + (folder_browser_toggle_hide_deleted): When saving the setting, + remember that it is !atoi (state) rather than atoi (state) because + show vs hide. yea. + + * mail-session.c (main_get_filter_driver): notify-type is a int, + not a bool. Duh. + +2003-01-10 Jeffrey Stedfast <fejj@ximian.com> + + * component-factory.c (factory): Updated for function rename. + + * mail-config-factory.c (mail_config_control_factory_cb): + Namespaced the function name. + + * folder-browser-ui.c (folder_browser_ui_add_global): Don't add + the listener for show_preview here, it was moved into + folder-browser.c so we could detach the listener when the + folder-browser is destroyed. Also prevents a listener being added + multiple times (which was possible? before). + + * folder-browser.c (folder_browser_destroy): Remove the gconf + notify handler for show_preview. + (show_preview_changed): Moved here from folder-browser-ui.c + + * component-factory.c (storage_remove_folder): Fixed a situation + in which we could notify the shell listener twice. + +2003-01-10 Not Zed <NotZed@Ximian.com> + + * folder-browser.c (folder_browser_gui_init): Save the paned_size + notify handle. + (folder_browser_destroy): Remove gconf notify handler. + +2003-01-09 Chris Toshok <toshok@ximian.com> + + * mail-config-druid.c (wizard_finish_cb): enable the account + before attempting to saving it. + + * mail-accounts.c (account_delete_clicked): need to show the + buttons added to the dialog. + +2003-01-10 Not Zed <NotZed@Ximian.com> + + * mail-config.glade: Remove info.png from a couple of images, the + image is set via code at runtime. Removes some annoying runtime + warnings. + + * mail-send-recv.c (dialogue_response): dont unref the dialogue. + (dialog_destroy_cb): null out the send_recv_dialogue after destroy. + (build_dialogue): show the stop button + +2003-01-09 Chris Toshok <toshok@ximian.com> + + * folder-info.c (evolution_folder_info_notify_ready): pass bag to + bonobo_pbclient_set_boolean. + +2003-01-09 Ettore Perazzoli <ettore@ximian.com> + + * component-factory.c (owner_set_cb): Don't call + mail_config_register_factory() or + evolution_mail_config_wizard_init(). + +2003-01-09 Not Zed <NotZed@Ximian.com> + + * mail-config-druid.c: Added druidpagestart1 to the pages list. + (construct): Change the limits on the page initialisation, and + widget_show_all on the page rather than the content. + + * GNOME_Evolution_Mail.server.in.in: Make Mail a shlib component. + + * folder-info.c (evolution_folder_info_factory_init): Removed. + (evolution_folder_info_factory_fn): renamed to evolution_folder_info_new(). + + * mail-config-druid.c (evolution_mail_config_wizard_factory_fn): + Renamed to evolution_mail_config_wizard_new(). + (evolution_mail_config_wizard_init): Removed. + + * mail-config-factory.c (mail_config_register_factory): Remove. + (config_control_factory_cb): make this public. + + * Makefile.am: setup evolution-mail as a shared library. + + * component-factory.c (make_factory): implement the bonobo-plugin + factory for shlib operation. Also, preliminary work to setup mailer-specific + (factory): Implement the factory which starts various components. + + * mail-config.c (xml_get_prop): g_free->xmlFree + (account_to_xml): copy xml memory to glib memory when adding the 0 + on the end of the string. + (accounts_save): Use slightly different logic with appending to + the tail of the list, we can't use the &node trick with gslists. + (accounts_changed): Same here. + +2003-01-08 Ettore Perazzoli <ettore@ximian.com> + + * Makefile.am: Images are now in $(datadir)/evolution/images + instead of $(datadir)/images/evolution. + +2003-01-08 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser-ui.c (folder_browser_ui_add_global): Call + folder_browser_set_message_preview(). + + * mail-config.c (mail_config_get_show_preview): Removed. + (mail_config_set_show_preview): Removed. + + * folder-browser.c (folder_browser_toggle_preview): Simply set the + gconf show_preview setting and let the code in folder-browser-ui.c + detect it and update the UI. + + * folder-browser-ui.c (folder_browser_ui_add_global): Listen for + changed events on the show_preview setting. + + * mail-config.c (mail_config_set_default_account): Save the + setting via gconf. + (mail_config_add_account): Immediately save the list of accounts. + (mail_config_remove_account): Same. + (mail_config_signature_run_script): g_free the charset value and + use the composer's charset rather than the display charset. + (mail_config_get_default_account_num): Removed. + +2003-01-07 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser.c (save_cursor_pos): Use gconf to get the paned + size. + (folder_browser_set_message_preview): Same. + (folder_browser_toggle_hide_deleted): Use gconf to set the + hide-deleted state. + (folder_browser_set_message_display_style): Same but for the + message_display_style. + (fb_resize_cb): Save the paned_size via gconf. + (paned_size_changed): Callback for when the paned_size gets + changed. Change the folder-browser's paned size to the new + setting. + (folder_browser_gui_init): Listen to changes to the paned_size and + also get the initial size from gconf. + + * message-list.c (message_list_set_folder): Use gconf. + (regen_list_regen): Use gconf. + + * message-browser.c (transfer_msg_done): Use gconf to get the + hide_deleted setting. + + * mail-account-gui.c (sig_add_new_signature): Use gconf. + + * folder-browser-ui.c (folder_browser_ui_add_list): Use gconf. + + * folder-browser.c (save_cursor_pos): Use gconf. + (folder_browser_set_message_preview): Same. + (folder_browser_toggle_hide_deleted): Here too. + (folder_browser_set_message_display_style): And here. + (folder_browser_gui_init): Here too. + (done_message_selected): And here. + + * mail-config.c (mail_config_get_thread_subject): Removed. + (mail_config_set_thread_subject): Removed. + (mail_config_get_empty_trash_on_exit): Removed. + (mail_config_set_empty_trash_on_exit): Removed. + (mail_config_get_last_filesel_dir): Removed. + (mail_config_set_last_filesel_dir): Removed. + (mail_config_get_hide_deleted): Removed. + (mail_config_set_hide_deleted): Removed. + (mail_config_get_paned_size): Removed. + (mail_config_set_paned_size): Removed. + (mail_config_get_send_html): Removed. + (mail_config_set_send_html): Removed. + (mail_config_get_confirm_unwanted_html): Removed. + (mail_config_set_confirm_unwanted_html): Removed. + (mail_config_get_citation_highlight): Removed. + (mail_config_set_citation_highlight): Removed. + (mail_config_get_citation_color): Removed. + (mail_config_set_citation_color): Removed. + (mail_config_get_do_seen_timeout): Removed. + (mail_config_set_do_seen_timeout): Removed. + (mail_config_get_mark_as_seen_timeout): Removed. + (mail_config_set_mark_as_seen_timeout): Removed. + (mail_config_get_prompt_empty_subject): Removed. + (mail_config_set_prompt_empty_subject): Removed. + (mail_config_get_prompt_only_bcc): Removed. + (mail_config_set_prompt_only_bcc): Removed. + (mail_config_get_confirm_expunge): Removed. + (mail_config_set_confirm_expunge): Removed. + (mail_config_get_confirm_goto_next_folder): Removed. + (mail_config_set_confirm_goto_next_folder): Removed. + (mail_config_get_goto_next_folder): Removed. + (mail_config_set_goto_next_folder): Removed. + (mail_config_get_http_mode): Removed. + (mail_config_set_http_mode): Removed. + (mail_config_get_default_forward_style): Removed. + (mail_config_set_default_forward_style): Removed. + (mail_config_get_default_reply_style): Removed. + (mail_config_set_default_reply_style): Removed. + (mail_config_get_message_display_style): Removed. + (mail_config_set_message_display_style): Removed. + (mail_config_get_default_charset): Removed. + (mail_config_set_default_charset): Removed. + (mail_config_get_x_mailer_display_style): Removed. + (mail_config_set_x_mailer_display_style): Removed. + + * subscribe-dialog.c (populate_store_list): Use the list of + accounts. We can't get the list of sources anymore. + (populate_store_foreach): Updated. + + * mail-callbacks.c (guess_me_from_accounts): Use account->enabled. + (mail_generate_reply): Same. + (empty_trash): Here too. + + * mail-accounts.c (account_delete_clicked): Use account->enabled + rather than source->enabled. + (account_able_clicked): Same. + (account_cursor_change): Here too. + (mail_accounts_load): And here. + + * component-factory.c (owner_unset_cb): Use gconf empty-on-exit + settings. + (mail_load_storages): Use account->enabled rather than + account->source->enabled. The struct changed. + + * mail-composer-prefs.c (sig_add): Get the send_html pref from gconf. + + * message-tag-followup.c (target_date_new): Use gconf. + + * mail-config.c (mail_config_get_week_start_day): Removed. + + * mail-tools.c (mail_tool_quote_message): Use gconf here too, but + we don't need to parse the colour - just use it as a raw string. + (mail_tool_forward_message): Use gconf. + + * mail-format.c (mail_format_data_wrapper_write_to_stream): Use gconf. + (write_headers): Use gconf. + (handle_text_plain): Same. + + * mail-display.c (mail_text_write): Updated to use gconf and parse + GdkColour strings. + (on_url_requested): Updated to use gconf. + + * mail-callbacks.c (ask_confirm_for_unwanted_html_mail): Use gconf + rather than the old mail-config APIs which will be removed. + (ask_confirm_for_empty_subject): Same. + (ask_confirm_for_only_bcc): Here too. + (composer_get_message): And here. + (create_msg_composer): Same. + (transfer_msg_done): Again here. + (delete_msg): Here too. + (confirm_expunge): And finally here. + + * mail-config.c (mail_config_write): Use gconf. + (mail_config_get_sources): Removed. + + * mail-account-gui.c (mail_account_gui_save): No need to save + enabled-state anymore for a source. + + * mail-config-druid.c (wizard_finish_cb): Instead of setting + account->source->enabled to TRUE, just set account->enabled to + TRUE. The structures changed a bit. + + * mail-send-recv.c (mail_send_receive): Get the list of accounts + instead of sources, and pass them along to build_dialogue. I'm + trying to get rid of the mail_config_get_sources() api. + (mail_autoreceive_setup): Here too. + + * mail-config.c (mail_config_get_filter_log): Removed. + (mail_config_set_filter_log): Removed. + (mail_config_get_filter_log_path): Removed. + (mail_config_set_filter_log_path): Removed. + (mail_config_get_new_mail_notify): Removed. + (mail_config_set_new_mail_notify): Removed. + (mail_config_get_new_mail_notify_sound_file): Removed. + (mail_config_set_new_mail_notify_sound_file): Removed. + + * mail-session.c (main_get_filter_driver): Updated to use the + gconf settings. + +2003-01-07 Dan Winship <danw@ximian.com> + + * mail-account-gui.c (mail_account_gui_auto_detect_extra_conf, + mail_account_gui_build_extra_conf): Don't translate the conf + strings. Camel already did it. + +2003-01-06 Dan Winship <danw@ximian.com> + + * Makefile.am: remove idldir definition. (It's defined in + configure.in now) + +2003-01-04 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (composer_get_message): Use + e_destination_get_email() instead of e_destination_get_address() + when checking that we have a list of valid recipients to send the + message to because get_email() returns the addr-spec portion of + the address, which is what we care about. if that doesn't exist, + then the address is useless. This does all we can do mailer-side + for the recent "SMTP Problem" thread. + +2003-01-03 Jeffrey Stedfast <fejj@ximian.com> + + * mail-display.c: Fixed some build issues. + + * mail-search.c: Same. + + * mail-callbacks.c (save_draft_done): Use + g_signal_handlers_disconnect_by_func(). + (manage_subscriptions): Use a weak_ref instead of connecting to + the destroy event. + +2002-12-17 Jeffrey Stedfast <fejj@ximian.com> + + ...And a whole bunch more build fixes. + + * mail-vfolder.c (mail_vfolder_delete_uri): Don't use + g_string_sprintfa() anymore since it is apparently deprecated. + + * mail-session.c (main_get_filter_driver): Don't use + g_string_sprintfa() anymore since it is apparently deprecated. + + * mail-ops.c (build_from): Don't use g_string_sprintfa() anymore + since it is apparently deprecated. + + * mail-callbacks.c (ask_confirm_for_unwanted_html_mail): Don't use + g_string_sprintfa() anymore since it is apparently deprecated. + + * mail-autofilter.c: Don't use g_string_sprintfa() anymore since + it is apparently deprecated. + + * folder-browser.c: Don't use g_string_sprintfa() anymore since it + is apparently deprecated. + + * mail-search.c (mail_search_set_subject): Remove the unnecessary + g_strdup()'age as well as fix a possible buffer overrun. + + * mail-local.c (mail_local_folder_construct): Use + g_path_get_basename(). + + * mail-config-druid.c (make_account): Don't use e_utf8_* + functions. + +2002-12-16 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c #define a STANDARD_ISSUE_TABLE_OPEN string used + for wrapping textual message parts to keep them being fully-left + justified. + (mail_format_raw_message): Wrap the content with a table so that + text isn't fully left-justified. + (write_hr): Use it here too. + (handle_text_plain): And finally here. + +2002-12-16 Jeffrey Stedfast <fejj@ximian.com> + + * mail-display.c (mail_error_printf): Use camel_text_to_html() + instead of e_text_to_html(). + (mail_text_write): Write the content directly to gtkhtml through + an html stream filter. + + * mail-format.c (attachment_header): Use camel_text_to_html() + instead of e_text_to_html(). + (write_text_header): Same. + (write_address): Here too. + (mail_get_message_rfc822): And here. + (mail_get_message_body): And finally here. + +2002-12-16 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (handle_text_plain): Re-implemented to use + streams. Also no need to check for html since + camel-mime-part-utils.c now does this for us and will re-tag the + mime-type as text/html thus the UI can be completely ignorant of + this process. + (handle_text_plain_flowed): Removed. + (write_one_text_plain_chunk): Removed. + (try_uudecoding): Removed. + (try_inline_binhex): Removed. + (handle_text_enriched): Re-implemented to use streams too. + +2002-12-15 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (write_text_header): Change the order of the args + to be consistant with other write functions. + (write_date): Same. + (write_field_row_begin): Here too. + (write_headers): Here too. + (write_one_text_plain_chunk): Don't strdup just to pass it to + mail_text_write() so that it can dup it yet again into html text + and dup it yet a 3rd time into a GByteArray. Instead just write it + to gtkhtml. + (handle_*): Fixed arguments to take a MailDisplayStream instead of + a GtkHTML widget and a GtkHMLStream. + + * mail-display.c (mail_display_render): Create a MailDisplayStream + to pass to mail_format_mime_message() and + mail_format_raw_message(). + + * mail-display-stream.[c,h]: New stream to replace + mail-stream-gtkhtml.c + + * mail-stream-gtkhtml.[c,h]: Removed. + +2002-12-13 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (check_send_configuration): Make sure the + folder-browser is not NULL or we'll crash. + + * mail-preferences.c (mail_preferences_construct): Fix the colour + code to get a guint32 rgb correctly (I think - can't test because + the shell keeps crashing, yay). + + * message-tag-followup.c (construct): Don't re-use cell renderers + - I'm not sure this is actually safe to do. + + * mail-session.c: Get rid of unneeded CamelObject casts. + (user_message_response): Don't unref the dialog object after we've + destroyed it. + + * mail-display.c (write_data_to_file): Don't unref the dialog + object after we've destroyed it. + + * mail-callbacks.c: Same here. + + * component-factory.c: Here too. + + * message-tag-editor.c: Added MESSAGE_TAG_EDITOR_GET_CLASS macros. + +2002-12-12 Jeffrey Stedfast <fejj@ximian.com> + + * mail-accounts.c (mail_accounts_tab_construct): Setup + double-click here. + +2002-12-12 Jeffrey Stedfast <fejj@ximian.com> + + * mail-accounts.c (account_delete_clicked): Get rid of the ETable + #ifdef's - we won't ever be using ETable. + (account_default_clicked): Same. + (account_able_clicked): Here too. + (mail_accounts_load): And here. + (mail_accounts_treeview_new): Renamed from etable_new since we + won't ever be using an etable. + (mail_accounts_tab_construct): And finally here. + +2002-12-12 Not Zed <NotZed@Ximian.com> + + * folder-browser.c (my_folder_browser_init): cast a-warning a-way. + + * mail-composer-prefs.c (spell_setup): Terminate list_store_set + with -1. + + * mail-accounts.c (mail_accounts_etable_new): clist -> gtktreeview + stuff. Yes, this is not an etable. + (mail_accounts_tab_construct): Same. + (mail_accounts_load): Same. + (account_cursor_change): Same. + (account_able_clicked): And this. + (account_default_clicked): Same. + (account_delete_clicked): Guess? + (account_edit_clicked): And here too. + +2002-12-11 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (mail_format_data_wrapper_write_to_stream): New + function to handle a lot of the filtering/etc that was done in + mail_format_get_data_wrapper_text(). This is the first step toward + getting rid of e-text-to-html crap and using my tohtml stream + filter instead. + (mail_format_get_data_wrapper_text): Use the new function. + (mail_format_raw_message): Use camel streams to write the content + to gtkhtml rather than using get_data_wrapper_text() and then + converting that to html and then writing it to the gtkhtml stream. + +2002-12-10 Not Zed <NotZed@Ximian.com> + + * mail-composer-prefs.c (mail_composer_prefs_construct): language + is a treeview now. Not sure what to do with it yet, but get rid + of one warning anyway. + (mail_composer_prefs_construct): Same for sig_clist, but setup + model. + (sig_fill_clist): Change to use a gtktreeview instead of a clist. + (sig_selection_changed): New method to handle signature selection + changes with the new widgets. + (sig_delete): clist -> treeview. + (mail_composer_prefs_new_signature): Same. + (sig_edit): ditto. + (sig_current_sig): removed. + (sig_row_unselect): Removed. + (sig_row_select): Removed, now redundant. + (spell_select_lang): Removed, redundant. + (spell_set_ui_language): New implementation using list model more + effectively. + (spell_get_language_str): Same here. + (spell_set_ui_language): Removed this too, merged into + spell_set_ui, it was just wasting stack space. + (spell_language_selection_changed): renemd from + spell_language_select_row, converted to gtktreeview, etc. + (spell_language_unselect_row): Removed. + (spell_language_enable): Redone to use tree model. + (spell_language_button_press): Removed, i dont think this is + needed anymore. + (spell_setup): dont hook onto redundant signals. + + * mail-config-factory.c (config_control_factory_cb): ignore + mail-font-prefs in a different way (so we dont assert) + +2002-12-09 Chris Toshok <toshok@ximian.com> + + * mail-session.c (pass_response): pass "Mail" to e_passwords_*. + (do_get_pass): same. + (main_forget_password): same. + (mail_session_get_password): same. + (mail_session_remember_password): same. + (mail_session_forget_password): same. + + * mail-config.c (mail_config_write_on_exit): pass "Mail" to + e_passwords_*. + + * main.c (main): e_passwords_init is gone. + +2002-12-03 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (guess_me_from_accounts): Use the same logic as + mail_generate_reply(). Fixes bug #34882 + + Fixes bug #34315 + + * component-factory.c (message_rfc822_dnd): Return TRUE if we + successfully handled all messages in the mbox stream, or FALSE + otherwise. + (destination_folder_handle_drop): For TEXT_URI_LIST, use the + retval from message_rfc822_dnd() rather than relying on an + exception, because one will not always necessarily be set. For + MESSAGE_RFC822, also use the retval from message_rfc822_dnd(). + +2002-12-03 Not Zed <NotZed@Ximian.com> + + * folder-browser.c (folder_browser_finalise/destroy): frobbed + around with these till it exits without crashing. + + * message-list.c (message_list_destroy): made a destroy + handler again (was dispose). Frobbed around with this and + finalise till it can destroy without crashing. + + * message-browser.c (message_browser_new): ref/sink the + folderbrowser. + +2002-11-25 Radek Doulik <rodo@ximian.com> + + * mail-preferences.c (mail_preferences_construct): magic_check --> + magic_links_check + +2002-11-27 Not Zed <NotZed@Ximian.com> + + * message-tag-followup.c (construct): gnome_pixmap -> gtkimage. + (construct): gtk_clist -> gtk_tree_view, setup columns. They dont + size well :-/ + (message_tag_followup_append_message): Append using model, remove + clist stuff. + (construct): Show date edit (glade bugs?) + + * folder-browser.c (folder_browser_class_init): gtk_marshal -> g_cclosure_marshal + (setup_popup_icons): gnome_pixmap -> gtk_image. + (on_right_click): gtk_pixmap -> gtk_image. + + * mail-accounts.c (account_delete_clicked): removed #if 0'd out code. + + * mail-send-recv.c (receive_done): remove FIXME and extra unref. + + * mail-session.c (request_password): Removed #if 0'd out stuff. + + * mail-vfolder.c (new_rule_clicked): proper cast for g_object_get_data. + + * mail-local.c (reconfigure_response): cast for g_object_get_data. + + * mail-account-editor.c (construct): GNOME_DIALOG -> GTK_DIALOG. + + * *.[ch]: re-ran fix.sh for e_notice change + + * mail-callbacks.c (save_msg_ok): g_object_get_data + + gtk_object_remove_no_notify -> g_object_steal_data. + (find_socket): gtk_container_children -> + gtk_container_get_children + (edit_msg): gnome_*_dialog -> gtk_message_dialog. + (resent_msg): " + (search_msg): " + (confirm_goto_next_folder): gtkmessagedialogised (even if not + used). + (confirm_expunge): gtkmessagedialogised + (filter_edit): " + (do_mail_print): e_notice -> gtk_message_dialog. + (are_you_sure): removed e_gnome_ok_cancel_dialog crap, replaced + with a gtk dialog. + (are_you_sure): gtkmessagedialogised. + (edit_msg_internal): Dont free uids array, are_you_sure() free's + it. + (resend_msg): Same. + (check_send_configuration): Use e_notice for stuff. Sigh, here we + go again ...! + (e_question): A utility function to ask a question, potentially + with 'dont ask again' as well. + (configure_mail): use e_question to save code. Here we go again, + again ... + (ask_confirm_for_unwanted_html_mail): " + (ask_confirm_for_only_bcc): " + (ask_confirm_for_only_bcc): " + (composer_get_message): Use e_notice. + (composer_save_draft_cb): Use e_question + (edit_msg): use e_notice, & change to an ERROR. + (resend_msg): same. + (save_msg_ok): Properly initialise ret to OK, and use e_question, + and use access() to determine existance/write access rather than + stat, display an error if we can't write to a file that exists, + and print the filename in all dialogues. + (confirm_goto_next_folder): Use e_question. + (confirm_expunge): use e_question. + (filter_edit): Use e_notice. + (do_mail_print): use e_notice. + +2002-11-26 Not Zed <NotZed@Ximian.com> + + * mail-vfolder.c (vfolder_gui_add_rule): clicked->response signal + for gtk dialogue. + (new_rule_clicked): Dont unref after destroy (duh, idiot again). + (edit_rule_response): Same here. + (mail_vfolder_delete_uri): Connect response signal to + gtk_widget_destroy directrly using g_signal_connect_swapped. + (close_dialogue): Removed, as no longer needed. + + * message-list.c (get_normalised_string): Duh idiot, "un-fixed" + the memleak i added. + + * mail-callbacks.c (composer_get_message): Set parent window in + message dialogue & DESTROY_WITH_PARENT flag. + (composer_save_draft_cb): + (configure_mail): + (check_send_configuration): Add DESTROY_WITH_PARENT flag to + gtk_message_dialog's + (local_configure_done): remove some unecessary/wrong casts. + (empty_trash_expunged_cb): " + (do_mail_print): use gtk_window_set_transient_for instead of + e_dialog_set_parent. + +2002-11-26 Not Zed <NotZed@Ximian.com> + + * mail-account-editor.c (mail_account_editor_new): + gtk_widget_set_parent_window -> gtk_window_set_transient_for. + + * mail-callbacks.c (composer_send_queued_cb): dont unref composer. + + * message-browser.c (message_browser_destroy): moved back from + finalise. + +2002-11-25 Not Zed <NotZed@Ximian.com> + + * message-list.c (message_list_dispose): move saving tree state + here. + (message_list_finalise): And take it from here. + + * mail-display.c (mail_display_destroy): @#$@# gtk. changed this + around a bit. + (mail_display_init): Fix prototype, its a gobject. + (mail_display_init): ref/sink the invisible gtkobject. + +2002-11-22 Not Zed <NotZed@Ximian.com> + + * mail-callbacks.c (ask_confirm_for_unwanted_html_mail): removed + e_messagebox, and use gtk_message_dialog directly. + (ask_confirm_for_empty_subject): and here. + (ask_confirm_for_only_bcc): And here too. + (msgbox_destroy_cb): Removed, since no longer needed. + +2002-11-15 Harry Lu <harry.lu@sun.com> + + * mail-display.c (write_data_to_file): Show file name when prompt + to user for overwrite. Fixes bug #34180. + +2002-11-21 Harry Lu <harry.lu@sun.com> + + * mail-display.c (do_attachment_header): Enable dragging of all + attachments. For bug #34327. + +2002-11-21 Jeffrey Stedfast <fejj@ximian.com> + + * mail-preferences.c (mail_preferences_construct): Since the + GSList returned from gconf needs to be free'd by us, we don't need + to strdup the values. Also make sure we don't leak the GSList + itself. + (mail_preferences_apply): Don't leak our GSList data. + +2002-08-30 Radek Doulik <rodo@ximian.com> + + * mail-display.c (mail_display_render): don't set margins for raw + message view + + * mail-format.c (mail_format_raw_message): as below + (handle_text_plain_flowed): as below + (mail_format_raw_message): don't use data_urls + + * mail-display.c (mail_text_write): put text in iframe, so it has + margins and should not be placed in table which changes wrapping + behavior + +2002-11-20 Jeffrey Stedfast <fejj@ximian.com> + + * mail-composer-prefs.c (mail_composer_prefs_construct): gconfify. + (mail_composer_prefs_apply): gconfify this also. + + * mail-preferences.c (mail_preferences_construct): + gconf_client_get_string() probably returns an allocated buffer. + +2002-11-20 Not Zed <NotZed@Ximian.com> + + * importers/Makefile.am (%.server.in): provide a proper implicit + rule for building .server.in from .server.in.in. The other one + just copied the first target to all destinations(!). + + * importers/evolution-outlook-importer.c (outlook_factory_fn): + destroy -> weak ref. + +2002-11-19 Jeffrey Stedfast <fejj@ximian.com> + + * mail-preferences.c (mail_preferences_apply): Save the settings + via gconf. + (mail_preferences_construct): Load the values from gconf. + +2002-11-19 Radek Doulik <rodo@ximian.com> + + * mail-composer-prefs.c (sig_load_preview): use + gtk_html_begin_content to specify utf-8 + +2002-11-19 Not Zed <NotZed@Ximian.com> + + * importers/evolution-mbox-importer.c (mail_importer_module_init): + fix warning message, outlook->mbox. + + * importers/Makefile.am: fix serverdir to point to + $libdir/bonobo/servers. + + * mail-callbacks.c (addrbook_sender): add type to + bonobo_widget_set_property. + + * mail-vfolder.c (vfolder_editor_response): dont unref after destroy. + + * mail-session.c (pass_response): dont unref aftrer destroy. + + * mail-local.c (reconfigure_response): dont unref after destroy. + + * mail-display.c (launch_cb): dont unref after destroy. + (launch_cb): " + (drag_data_get_cb): " + (html_button_press_event): add type to bonobo_widget::set_property + + * mail-config.c (mail_config_check_service): dont unref after + destroy. + + * component-factory.c (send_receive_cb): dont unref after destroy. + (request_quit): " + + * mail-signature-editor.c (mail_signature_editor): Use version 3.0 + of gtkhtml editor interfaces. + (do_exit): dont unref after destroy. + (format_html_cb): Add type to bonobo_widget::set_property. + +2002-11-18 Radek Doulik <rodo@ximian.com> + + * mail-composer-prefs.c (spell_setup_check_options): check + exception state and take care when exception raised + +2002-11-18 Jeffrey Stedfast <fejj@ximian.com> + + * mail-accounts.c (mail_accounts_load): Specify the default + account. Also, don't need to use e_utf8_to_gtk_string() here. + +2002-11-18 Not Zed <NotZed@Ximian.com> + + * Makefile.am (evolution_mail_LDADD): Added back + libevolution-importer stuff. + (SUBDIRS): Added back importers. + + * importers/evolution-mbox-importer.c (load_file_fn): build the + uri without deprecated funcs. + (load_file_fn): dont free/alloc a camel_exception for no obvious + purpose. + (mbox_factory_fn): use weak_ref rather than destroy. + (importer_destroy_cb): fix signature for weak ref notify. + (mbox_factory_fn): add cid param. + + * importers/*.[ch]: ran fix script over everything. + + * importers/*.server.in.in: Added bonobo activation files. Moved + evolution-mail to @LIBEXEC@ as below. + + * importers/Makefile.am: oaf->bonobo activation stuff. + + * importers/evolution-outlook-importer.c (outlook_factory_fn): Add + component id to callback. + +2002-11-15 Ettore Perazzoli <ettore@ximian.com> + + * Makefile.am: Add rules to substitute @LIBEXEC@ in + GNOME_Evolution_Mail.server.in.in and install evolution-mail in + $(libexecdir) instead of $(bindir). + + * GNOME_Evolution_Mail.server.in.in: Replaced evolution-mail with + @LIBEXECDIR@/evolution-mail. + +2002-11-15 Rodney Dawes <dobey@ximian.com> + + * component-factory.c: Use bonobo_main_quit instead of gtk + +2002-11-15 Jeffrey Stedfast <fejj@ximian.com> + + * mail-composer-prefs.c (sig_edit): Correctly spell Advanced. + +2002-11-15 Not Zed <NotZed@Ximian.com> + + * mail-summary.c (create_summary_view): weak notify -> ref. + + * mail-send-recv.c (build_dialogue): weak notify -> ref. + + * mail-accounts.c (account_edit_clicked): weak notify -> ref, i + presume this is what jeff meant, 'cause it dont compile otherwise. + +2002-11-14 Jeffrey Stedfast <fejj@ximian.com> + + * mail-accounts.c (account_edit_clicked): Use g_object_weak_ref + rather than connecting to destroy. + (account_add_clicked): Same. + + * mail-callbacks.c (addrbook_sender): Make this use + g_object_weak_notify also. + (subscribe_dialog_destroy): Add NULL guards here since I think we + really do want to connect to the "destroy" signal in the function + that connects us to that signal. + + * mail-config-factory.c (config_control_factory_cb): Same. + + * mail-display.c (save_part): Here too. + (make_popup_window): And here. + + * mail-send-recv.c (build_dialogue): Same here. + + * mail-summary.c (create_summary_view): Use g_object_weak_notify + instead of connecting to the destroy signal. + +2002-11-14 Ettore Perazzoli <ettore@ximian.com> + + * component-factory.c (owner_set_cb): Want a (GWeakNotify) cast + here, not (GWeakNotify *). + + * subscribe-dialog.c (fete_init): g_object_set() instead of + gtk_object_set(). + (populate_store_list): Likewise. + (menu_item_selected): g_object_get_data() instead of + gtk_object_get_data(). + + * message-list.c (message_list_create_extras): g_object_set() + instead of gtk_object_set(). + + * message-browser.c (message_browser_message_list_built): + g_object_get_data() instead of gtk_object_get_data(). + + * mail-vfolder.c (edit_rule_response): g_object_get_data() instead + of gtk_object_get_data(). + + * mail-summary.c (generate_folder_summaries): g_object_unref() the + context instead of gtk_object_destroy(). + + * mail-local.c (reconfigure_response): g_object_get_data() instead + of gtk_object_get_data(). + + * mail-display.c (pixbuf_gen_idle): g_object_unref() the GdkPixbuf + loader instead of gtk_object_destroy(). + (pixbuf_gen_idle): Likewise. + (embeddable_destroy_cb): Likewise. + + * mail-config-druid.c (mail_config_druid_destroy): No need to + gtk_object_destroy() the GladeXML object. + (construct): g_object_set() instead of gtk_object_set(). + + * folder-browser.c (folder_browser_gui_init): g_object_get_data() + instead of gtk_object_get_data(). + +2002-11-14 Not Zed <NotZed@Ximian.com> + + * component-factory.c (create_view): shell client objref. + (mail_add_storage): " + (mail_remove_storage): " + +2002-11-13 Joe Shaw <joe@ximian.com> + + * Makefile.am: Remove a couple backslashes that were causing + automake to complain, even though they were on lines that were + -commented out-. Sigh. + +2002-11-13 Ettore Perazzoli <ettore@ximian.com> + + * folder-info.c (evolution_folder_info_factory_fn): Use + g_object_new() instead of gtk_type_new(). + * folder-browser.c (folder_browser_new): Likewise. + * mail-account-gui.c + (mail_account_gui_folder_selector_button_new): Likewise. + * mail-font-prefs.c (mail_font_prefs_new): Likewise. + +2002-11-13 Ettore Perazzoli <ettore@ximian.com> + + * mail-format.c: Do not #include <libgnome/gnome-defs.h>. + * mail-importer.c: Likewise. + * mail-mt.c: Likewise. + * mail-ops.c: Likewise. + * mail-search-dialogue.c: Likewise. + * mail-session.c: Likewise. + * mail-vfolder.c: Likewise. + * message-tag-followup.c: Likewise. + * main.c: Likewise, and <libgnomeui/gnome-init.h>. + + * mail-callbacks.c: Do not #include <libgnome/gnome-paper.h>. + (do_mail_print): Remove the GnomePaper local variable. + +2002-11-13 Not Zed <NotZed@Ximian.com> + + * component-factory.c (owner_set_cb): destroy->weak ref. + (owner_set_cb): shell client changes. + + * mail-signature-editor.c (mail_signature_editor): bonobo api changes. + + * mail-local.c (save_metainfo): go back to using xmlSaveFile. + + * Makefile.am: Removed libevolution-importer from mail. + +2002-11-13 Not Zed <NotZed@Ximian.com> + + * GNOME_Evolution_Mail.server.in.in: Added to cvs. Currently + contains no configurable stuff, but maybe it will one day. + + * Makefile.am (server_DATA): change oaf stuff to server stuff for + bonobo activation. + + * mail-preferences.c (mail_preferences_apply): handle const entry text. + + * mail-composer-prefs.c (url_requested): Fixed typo. + (mail_composer_prefs_construct): gnomepixmap->gtkimage. + + * mail-callbacks.c (configure_mail): destroy dialogue before dealing + with response. + (mail_generate_reply): Fix a typo. + (popup_listener_cb): fix prototype. + (tag_editor_response): Handle gtk dialog response. + (flag_for_followup): Change gnome dialog to gtk dialog stuff. + (tag_editor_destroy_cb): + (tag_editor_cancel): + (tag_editor_ok): Removed, handled in _response(). + (filter_editor_response): renamed from _clicked, handle gtk + dialogue signal. + (filter_editor_destroy): Removed. + (footer_info_new): gnome font api changes. + (do_mail_print): port to gnome print 2. + + * mail-autofilter.c (mail_filter_delete_uri): message_dialog uses + a specific button enum, not the stock ones. + + * mail-accounts.c (mail_accounts_tab_get_type): gobjectify. + (account_delete_clicked): gdkdialogise. + + * mail-account-gui.c (mail_account_gui_setup): Hack around font + metric determination code. + + * mail-account-editor.c (mail_account_editor_get_type): + gobjectise. + (mail_account_editor_new): "" + + * folder-info.c (evolution_folder_info_notify_ready): use pbclient + interface. + + * folder-browser-factory.c (control_destroy_cb): fix a typo. + (folder_browser_factory_new_control): More typos. + + * folder-browser.c (on_right_click): cast around const warning. + (context_menu_position_func): fix for api change. + + * e-searching-tokenizer.c (e_searching_tokenizer_finalise): + Changed from destroy since it only frees memory. + (e_searching_tokenizer_get_type): glibify. + + * component-factory.c (request_quit): gtkdialogise. + (send_receive_cb): " + (create_component): gdk_pixbuf api. + (component_factory_init): bonobo activation stuff. + (warning_response): renamed from warning_clicked. + (owner_set_cb): gtkdialogise. + +2002-11-12 Jeffrey Stedfast <fejj@ximian.com> + + * Makefile.am: Added files I've ported. + + * mail-config.c: Remove gnome-defs.h, this header no longer exists + in GNOME2. + +2002-11-13 Not Zed <NotZed@Ximian.com> + + * Makefile.am: Commented out stuff that doesn't build yet. Also + fixed idl build rule. importers still not built. + + * main.c (main): bonobactivationise. remove push visual/colormap. + (main): no longer activate activation, let bonobo_init do it. + + * mail-signature-editor.c (menu_help): Change help api. + + * mail-session.c (user_message_destroy_noreply): removed. Not + used? + + * mail-local.c (load_metainfo): xml root->children. + + * mail-format.c (g_string_append_len): Removed, it exists now. + +2002-11-12 Not Zed <NotZed@Ximian.com> + + * subscribe-dialog.c: gnome2ised, use gtkdialog. + (subscribe_get_global_extras): use a weak ref rather than destroy + signal. + + * message-tag-followup.c: gnome2ised. + + * message-tag-editor.c: gnome2ised & converted to gtkdialog. + + * message-list.c: gnome2ised. + (message_list_finalise): From destroy method. maybe should be + destroy still. + + * message-browser.c: port to gnome2 + (message_browser_finalise): renamed from destroy method. + + * mail-stream-gtkhtml.c: removed redundant + camel_class_get_global_classfuncs() call. + + * mail-signature-editor.c: gtkdialogised, & bonobo api changes. + + + * mail-search-dialogue.c: gtkdialogised. + + * mail-folder-cache.c: cleaned up camel ref/hook casts. + + * mail-composer-prefs.c (mail_composer_prefs_get_type): convert to + gtype. + + * mail-font-prefs.c (mail_font_prefs_destroy): from finalise. + + * mail-config.c: s/bonobo_config/e_config_listener/ Added + /apps/Evolution prefix to the evolution keys. Changed to use + e_config_listener, etc. + (mail_config_init): remove bonobo_config stuff. + (mail_config_check_service): gtk dialogise. + (check_response): from check_cancelled. + + * mail-config-druid.c (mail_config_druid_destroy): renamed from + _finalize, turned into destroy handler. + (construct): set type to toplevel, GTK_WINDOW_DIALOG no longer + exists. + + * mail-config-factory.c (mail_config_register_factory): bonobo api + changes. + + * mail-crypto.c (mail_crypto_get_pgp_cipher_context): cleaned up + unref casts. + + * mail-display.c (write_data_to_file): gnome->gtkdialog. + (on_link_clicked): use ascii_str*cmp on url. + (save_part): g_path stuff. + (launch_cb): gtk dialog. + (pixmap_press): de-oafify. + (pixbuf_for_mime_type): gnome-vfs api changes. + (do_attachment_header): Change the pixmap to a gtkimage. + (do_signature): " + (pixbuf_gen_idle): " + (do_attachment_header): ascii_str*cmp + (do_attachment_header): gnome pixmap->gtkimage. + (mail_display_destroy): protect against gtk mentalness. + (html_button_press_event): ascii_str*cmp + (drag_data_get_cb): added comment for translators of filename. + + * mail-format.c (component_supports): de-oafise. + (is_anonymous): ascii_strncmp + (attachment_header): remove utf8<>locale stuff, and gnomevfs api + changes. + (format_mime_part): fix g_strdown call. + (write_field_row_begin): kill utf8->gtk stuff. + (write_address): " + (default_header_index): ascii_strcasecmp + (handle_text_plain): " + (handle_text_enriched): " + (handle_multipart_encrypted): remove utf/gtk stuff. + (handle_message_external_body): ascii_str*cmp + + * mail-identify.c (mail_identify_mime_part): + (identify_by_magic): gnome vfs api changes. + + * mail-importer.c: Converted. + + * mail-local.c (load_metainfo): xml childs -> children. + (mls_get_folder): g_strerror. + (mls_delete_folder): g_strerror. + (reconfigure_got_folder): Gnome->GtkDialog + (reconfigure_response): from reconfigure_clicked. + + * mail-mt.c (mail_msg_check_error): gnome -> gtk dialog + (error_response): renmae from error_gone. destroy widget on any + response. + + * mail-offline-handler.c (impl_finalise): renamed from + impl_destroy since thats what it should be anyway. + + * mail-ops.c: removed utf8 widget conversion & camel_object_un/ref + casts. + + * mail-preferences.c (mail_preferences_get_type): glib2'ised. + + * mail-search.c (mail_search_finalise): renmaed from destroy & + properly chain. + (mail_search_get_type): glib2 & make gtkdialog parent. + (entry_run_search): run search when entry activated. not sure if + gtkdialog has anohter way to do this on an arbitrary widget. + + * mail-send-recv.c (dialogue_response): renamed from clicked. Use + gtkdialog. + + * mail-session.c (request_password_deleted): removed, redundant. + (pass_response): rename from pass_got, changed for gtkdialog. + (user_message_destroy): Removed, redundant. + (user_message_response): Renamed from user_message_clicked. + +2002-11-11 Not Zed <NotZed@Ximian.com> + + * mail-stream-gtkhtml.c (mail_stream_gtkhtml_class_init): dont use + get_global_classfuncs, just get the type + + * mail-tools.c: converted gnome2 api's. + + * mail-vfolder.c (vfolder_editor_response): clicked->response. + (vfolder_editor_destroy): Removed. + (vfolder_edit): gtk dialog api + (edit_rule_response): clicked->response. + (vfolder_edit_rule): gnomedialog->gtkdialog. + (vfolder_gui_add_rule): " + (new_rule_clicked): clicked->response + +2002-11-11 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c: Half way ported. I'll finish the rest later. + + * mail-autofilter.c: Ported. + + * mail-account-gui.c: Ported. + + * mail-account-editor.c: Ported. + + * folder-browser-ui.c: Ported. + + * folder-browser-factory.c: Ported. + + * folder-browser.c: Ported. + + * e-searching-tokenizer.c: Roughly ported. + +2002-11-10 Jeffrey Stedfast <fejj@ximian.com> + + * *.glade: Converted to libglade-2's format. + +2002-11-08 Jeffrey Stedfast <fejj@ximian.com> + + * mail-composer-prefs.c: Ported. + +2002-10-28 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser.c (folder_browser_query_changed): No longer need + to check for a CLEAR_ID. + +2002-10-28 Larry Ewing <lewing@ximian.com> + + * mail-format.c (handle_multipart_mixed): instead of bailing with + an assertion dump the body. + +2002-10-27 Larry Ewing <lewing@ximian.com> + + * mail-display.c (fetch_next): don't queue the action until we've + added ourselves to the active list, because the fetch_done + callback can fire immediately and we'll end up queueing something + that has already been destroyed. + +2002-10-24 Jeffrey Stedfast <fejj@ximian.com> + + Update the upgrade script to handle the new url format introduced + with NotZed's most recent commits. + + * upgrade-mailer.c (mailer_upgrade): Save an encoded version of + the namespace too, for use later. + (si_free): Free the encoded namespace too. + (imap_url_upgrade): Use the encoded namespace when creating the + new url. + (shortcuts_upgrade_xml_file): Upgrade the default: urls. Fixes bug + #32127. + +2002-10-25 Not Zed <NotZed@Ximian.com> + + * mail-config.c (mail_config_uri_renamed): Always strdup the new + key in the threaded/preview hash/always free the working copy. + For #32799. + +2002-10-24 Jeffrey Stedfast <fejj@ximian.com> + + * mail-display.c (write_data_to_file): Use the mode 0666 when + creating a new file and let the user's umask handle permissions. + + * folder-browser.c (message_list_drag_data_get): When using open() + with the O_CREAT flag, we need to pass a mode argument. Also use + O_EXCL. + +2002-10-24 Not Zed <NotZed@Ximian.com> + + * subscribe-dialog.c (fe_got_children): Use a hashtable to only + insert nodes we dont have already, rather than relying on the + scanning logic. Also, only re-sort this tree level once done + rather than on each insert. + (folder_etree_init): Setup hash to track nodes setup. + (folder_etree_clear_tree): Reset hash. + (fe_destroy): Free hash. + +2002-10-23 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser.c (folder_browser_query_changed): Only perform + the search if it is either a clear or advanced search. + +2002-10-22 Mike Kestner <mkestner@ximian.com> + + * mail-callbacks.c (transfer_msg): pass fb->uri to the folder + selection dialog so the current folder is selected on display. + "fixes" 15966. + +2002-10-21 Dan Winship <danw@ximian.com> + + * upgrade-mailer.c (mailer_upgrade): Fix the transport URL on any + Exchange accounts. Fixes #30209, which is to say that it fixes + #28490 correctly. + +2002-10-17 Jeffrey Stedfast <fejj@ximian.com> + + * mail-tools.c (mail_tool_quote_message): Strip the signature from + the body-text. Fixes bug #5529. + +2002-10-16 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (handle_multipart_signed): Don't need to pass a + path to camel_gpg_context_new () anymore. + (mail_get_message_body): Same here. + (handle_multipart_encrypted): Use camel_gpg_context_new () instead + of mail_crypto_get_pgp_cipher_context (). + + * mail-preferences.c (mail_preferences_construct): There's no + security tab anymore. + (mail_preferences_apply): No need to save any pgp config data, + there's nothing to configure! + + * mail-crypto.c (mail_crypto_get_pgp_cipher_context): Updated to + not pass a pgp path into camel_gpg_context_new (). + + * mail-config.c (mail_config_clear): No need to free a pgp_path + variable anymore, we don't need one. + (config_read): Don't read in a pgp-path or pgp-type anymore. + (mail_config_write_on_exit): Don't save a pgp-path or pgp-type + anymore, we don't use them. + (pgpopen): Removed. + (pgpclose): Removed. + (mail_config_pgp_type_detect_from_path): Removed. + (auto_detect_pgp_variables): Removed. + (mail_config_get_pgp_type): Removed. + (mail_config_set_pgp_type): Removed. + (mail_config_get_pgp_path): Removed. + (mail_config_set_pgp_path): Removed. + +2002-10-16 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (mail_generate_reply): If mode == REPLY_LIST + and the mlist is "" (we only checked NULL before), change the mode + to REPLY_ALL so that we don't accidently reply to the user's + address. Fixes bug #28735 + +2002-10-12 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (mail_generate_reply): If we are trying to + reply to a list, first check that we can by getting the mlist + token (makes it easier to fix the mem leak). If not, then change + the mode to REPLY_ALL. If we can reply to list, the make sure we + free the CamelMessageInfo when we're done so we don't leak. + +2002-10-15 Jeffrey Stedfast <fejj@ximian.com> + + * mail-session.c (main_get_filter_driver): Add the new-mail-notify + rule to the filter driver before adding the user defined filter + rules so that we can be sure that the new-mail-notify rule gets + invoked. Fixes bug #32328. + + * mail-composer-prefs.c (mail_composer_prefs_new_signature): Make + sure that name[0] cannot ever be NULL. Should maybe fix bug + #32230. + +2002-10-15 Dan Winship <danw@ximian.com> + + * upgrade-mailer.c (shortcuts_upgrade_xml_file): Change the type + in LDAP shortcuts from "ldap-contacts" to "contacts/ldap". Rewrite + this to use libxml since that was easier than trying to make the + old code do both kinds of changes at once. + +2002-10-10 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config-druid.c (management_prepare): Only set an account + name if one doesn't already exist. Also use the + e_utf8_gtk_entry_get/set_text functions since account names are + supposed to be in UTF8. Fixes bug #31891. + +2002-10-09 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser.c (main_folder_changed): Don't do anything if the + message_list is NULL (this means the FolderBrowser has been + destroyed). Fixes bug #32002. + +2002-10-08 Jeffrey Stedfast <fejj@ximian.com> + + * component-factory.c (storage_remove_folder): The CamelFolderInfo + that we get back has nodes for all parent folders, so do not + delete all folders that have nodes in the returned tree. Instead, + descend into the tree until we find the folder we want to delete + and start deleting from there. + +2002-10-08 Jeffrey Stedfast <fejj@ximian.com> + + * mail-signature-editor.c (mail_signature_editor): Mark a string + for translation, fixes bug #31942. Thanks to kmaraas@gnome.org for + this patch. + + * mail-offline-handler.h: Don't #include config.h here. Fixes bug + #31941. + +2002-10-07 Jeffrey Stedfast <fejj@ximian.com> + + * mail-composer-prefs.c (spell_load_values): Don't mark "en" for + translation. Fixes bug #31788. + + * mail-config.glade: Removed a "xxxxxxxxxxx" string so that + translators don't need to translate it. It was only a filler + string. Fixes bug #31789. + +2002-10-02 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (mail_generate_reply): Don't default 'me' to + the source account until after we've tried to detect the account + based on recipients. When adding accounts to the account hash, if + any accounts have identical email addresses, the ones that are + enabled take precedence over ones that aren't. This will hopefully + make everyone happy with reply account picking. Fixes bug #31693. + +2002-10-01 Larry Ewing <lewing@ximian.com> + + * mail-display.c (drag_data_get_cb): add support for dragging the + content type directly. + (do_attachment_header): add the target for the mime type to the + drag source. + (drag_data_get_cb): silence warning. + +2002-10-01 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config-druid.c (get_fn): Connect to the changed signal for + the reply_to entry box. Fixes bugs #31553 and #31554. + + * mail-composer-prefs.c (spell_setup): Only setup the languages if + the language_seq is not CORBA_OBJECT_NIL. Fixes bug #31559 + (presumably at least). + + * mail-account-gui.c (mail_account_gui_new): Use + e_utf8_gtk_entry_set_text for the email address and reply-to + fields. Fixes bug #31555. + + * mail-format.c (mail_get_message_body): Handle a + multipart/encrypted part. Fixes bug #31547. + + * upgrade-mailer.c: Shut up some compiler warnings. + + * importers/evolution-mbox-importer.c (process_item_fn): Use the + camel_message_info_new/free functions rather than g_new0 and + g_free. Also, if we fail to parse a message make sure we don't + later try to use that message object. + (get_info_from_mozilla): Use camel_message_info_new and strtoul + instead of string_to_int. + +2002-09-30 Jeffrey Stedfast <fejj@ximian.com> + + * subscribe-dialog.c (fe_node_to_shell_path): Removed (useless). + +2002-10-01 Ettore Perazzoli <ettore@ximian.com> + + [Fix #24732] + + * importers/evolution-mbox-importer.c (process_item_fn): Set + deleted to FALSE when not having Mozilla status headers. Before + it was being left uninitialized and so there was a pretty good + chance that its value would be nonzero and hence the message would + not be imported... + +2002-10-01 Not Zed <NotZed@Ximian.com> + + * folder-browser.c (on_cursor_activated): cursor activated on + etable is required to know when the selection changes on a single + row, update selection changed info with this signal too. Sounds + like an etable bug to me, but this fixes #29808. + (folder_browser_gui_init): Hook onto above signal. + +2002-09-30 Aaron Weber <aaron@ximian.com> + + * mail-signature-editor.c (mail_signature_editor): change + string to "Enter a name for this signature" on line 372. + + * mail-callbacks.c (ask_confirm_for_unwanted_html_mail): change + HTML-mail warning on 255 + + * component-factory.c (component_factory_init): change + "Evolution's foo" to "the Evolution foo" in string on 1078 + +2002-09-30 Not Zed <NotZed@Ximian.com> + + * mail-session.c (request_password): translate prompt from utf8 to + gtk widget. #31365. + +2002-09-27 Jeffrey Stedfast <fejj@ximian.com> + + * e-searching-tokenizer.c: #include <stdlib.h> for alloca + (searcher_next_token): Changed slightly to make sure that m is not + NULL before dereferencing it. Also initialise m to NULL so that it + can't be used uninitialised (NULL is a safe initialised value + here). + (build_trie): Same, but for n. + +2002-09-26 Dan Winship <danw@ximian.com> + + * mail-config.c (impl_GNOME_Evolution_MailConfig_addAccount, + impl_GNOME_Evolution_MailConfig_removeAccount): Set a timeout to + call mail_config_write() in 2 seconds. Otherwise changes made by + this interface would not be saved to disk unless the user also + changed some other preference. + (mail_config_write_on_exit): If there's a config_write_timeout + pending, call mail_config_write() too. + +2002-09-25 Dan Winship <danw@ximian.com> + + * mail-display.c (mail_display_render): Add a margin around the + "flag for followup" table so it lines up with everything else. + Also, don't add "at your earliest convenience" after the flag if + there's no date set, since that doesn't make any sense for half of + the flags. ("For Your Information at your earliest convenience"). + +2002-09-25 Dan Winship <danw@ximian.com> + + * component-factory.c (folder_types): add "mail/public". Leave + "vtrash" as it is rather than renaming it to "mail/vtrash", + because we want it to behave differently from normal mail folders + more often than we want it to behave the same. + (type_is_mail, type_is_vtrash): utility funcs + (create_view, create_folder, remove_folder, xfer_folder, + populate_folder_context_menu, unpopulate_folder_context_menu, + destination_folder_handle_drop, storage_create_folder): Use + type_is_mail/type_is_vtrash. + (create_component): Register "New Post" with "mail/public" instead + of "mail" so it becomes the default New icon for it. (29024) + + * mail-callbacks.c (transfer_msg): Use "mail/*" for allowed type. + + * message-browser.c (transfer_msg): Likewise. + + * mail-account-gui.c (mail_account_gui_new): Use "mail/*" instead + of "mail" here for sent/drafts allowed type. (?) + +2002-09-25 Jeffrey Stedfast <fejj@ximian.com> + + * upgrade-mailer.c (imap_url_upgrade): NULL-check si->folders + before passing it into find_folder so we don't crash. Fixes bug + #30915. + +2002-09-24 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser-ui.c: Allow users to delete already deleted + messages, fixes bug #30827. + +2002-09-24 Not Zed <NotZed@Ximian.com> + + * folder-browser.c (folder_browser_query_changed): Always do a + search if the query changed. For #31060 & #29625. + +2002-09-23 Radek Doulik <rodo@ximian.com> + + * mail-config.c (mail_config_signature_run_script): pass name of + the script as 1st parameter + + * mail-composer-prefs.c (sig_add_script_add): fix entry's glade + name + +2002-09-23 Dan Winship <danw@ximian.com> + + * mail-signature-editor.c (exit_dialog_cb): Fix non-ANSI switch + statement. + + * mail-account-gui.c (mail_account_gui_auto_detect_extra_conf): + Likewise. + + * mail-composer-prefs.c (spell_load_values): add some dummy + typedefs to avoid empty macro arguments, which have undefined + behavior. + + * mail-importer.c: #include <sys/types.h> for OS X + +2002-09-23 Jeffrey Stedfast <fejj@ximian.com> + + * mail-ops.c (save_part_save): Use 0666 as the create mode so that + the user's umask is used to it's fullest. + +2002-09-23 Dan Winship <danw@ximian.com> + + * Makefile.am (idldir, idl_DATA): add these and install Mailer.idl + +2002-09-20 Jeffrey Stedfast <fejj@ximian.com> + + * mail-preferences.c (mail_preferences_construct): Connect signal + handlers to the GtkHTML preferences so that when the widgets + change we can update the OK/Apply buttons. Also removed the + omenuShortcutsType widget reference since this was not being used? + Fixes bug #30731. + +2002-09-19 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (do_edit_messages): Unset the changed bit on + the composer and also drop any undo operations (since we loaded + the message into the composer). Fixes bug #30580. + +2002-09-19 Not Zed <NotZed@Ximian.com> + + * mail-session.c (main_get_filter_driver): Fix for filter driver + api change. + +2002-09-18 Not Zed <NotZed@Ximian.com> + + * mail-config-druid.c (wizard_back_cb): If going back from a page + past our end (i.e. the final page), jump to the last page we know + of. For #29293. + + * component-factory.c (notify_listener_exception): helper to map a + camel excpeiton to a listener result. + (storage_create_folder): Use above to return more meaningful error. + (storage_remove_folder): " + (storage_xfer_folder): ". For #28209. + +2002-09-17 Jeffrey Stedfast <fejj@ximian.com> + + * mail-display.c (mail_display_render): Use e_strftime_fix_am_pm + here which fixes locale issues as well as working around systems + that don't support %P (afaik). + + * mail-ops.c (prep_offline_do): Cache important messages too. + + * mail-composer-prefs.c (d): Disable debugging printf's + + * mail-ops.c: fixed a comment + +2002-09-13 Dan Winship <danw@ximian.com> + + * folder-browser.c (fb_resize_cb): If the vpaned isn't realized, + don't call mail_config_set_paned_size. Fixes a problem with the + saved pane size being repeatedly lost (#29933) + +2002-09-13 Dan Winship <danw@ximian.com> + + * Mailer.idl: rename this from "Mail.idl" so that the generated .h + file won't overwrite "mail.h" on Mac OS X. Remove some + never-implemented IDL and add MailConfig_removeAccount. + + * Makefile.am: Update for IDL rename + + * mail-config.c: #include Mailer.h, not Mail.h + (impl_GNOME_Evolution_MailConfig_removeAccount): Implement. + + * folder-info.c: #include Mailer.h, not Mail.h + + * message-list.c: Remove Mail.h include. + +2002-09-12 Jeffrey Stedfast <fejj@ximian.com> + + * main.c (main): Ignore SIGXFSZ to fix bug #30269. + + * upgrade-mailer.c (cache_upgrade_and_free): The new callback + function for the g_hash_table_foreach which both upgrades the + cache for that store and then free's the struct _storeinfo + afterwards. + (cache_upgrade): Upgrade a cached folder by moving the old cache + folder into the appropriate new location. + +2002-09-11 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser.c (folder_browser_query_changed): Only abort if + the user selected ADVANCED_SEARCH, not the other way around. Any + other menu item and we are supposed to perform an actual + search. Fixes bug #30183. + + * mail-display.c (pixbuf_for_mime_type): check the new gnome-vfs + icon_filename key. If that fails, fall back to checking + icon-filename. Also don't leak the fm_icon string and rearranged + some code. + +2002-09-11 Not Zed <NotZed@Ximian.com> + + * component-factory.c (configure_folder_popup): Handle file uri's + too. + + * mail-callbacks.c (configure_folder): clear message list before + calling configure folder. + (local_configure_done): completion callback to reset message list + when done. + + * mail-local.c (mail_local_reconfigure_folder): changed args to + accept uri, and done callback. + (reconfigure_got_folder): moved code to callback which presents + the configure uri once we have the folder. + +2002-09-10 Not Zed <NotZed@Ximian.com> + + * component-factory.c: Handle file: as well as vfolder: uri's. + Pass both to the normal configure_folder callback. For #20849. + + * folder-browser.c (got_folder): If we already have a folder, make + sure we unref/unhook from it. Fixes a crash on exit. + + * message-list.c (message_list_hide_clear): clear thread tree + cache if set. + (message_list_set_search): Same. For bug #28834. + +2002-09-09 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser-ui.c (folder_browser_ui_scan_selection): Make + sure that fb->message_list is non-NULL before checking + fb->message_list->threaded? I guess this'll fix bug #29965. + + * mail-callbacks.c (composer_save_draft_cb): NULL-check the ccd + before reffing it. + (composer_send_cb): Same. + + * upgrade-mailer.c (shortcuts_upgrade_xml_file): Don't look for an + end quote, instead look for </item> to terminate the uri. + (shortcuts_upgrade_uri): Hex decode the imap folder name after + we've constructed the final version of it. + +2002-09-08 Dan Winship <danw@ximian.com> + + * upgrade-mailer.c (exchange_url_upgrade): Don't modify the URL if + the path doesn't start with "exchange". (Means it's already a 1.2 + URL.) + (shortcuts_upgrade_uri): Need to hex-decode exchange URLs here too. + (shortcuts_upgrade_xml_file): Fix an off-by-one error here (twice) + so it actually works instead of always claiming shortcuts.xml + doesn't need to be upgraded. + (mailer_upgrade): Check the size of the accounts hash rather than + imap_sources since we have work to do if the user has an exchange + account but no imap accounts. + +2002-09-06 Jeffrey Stedfast <fejj@ximian.com> + + * upgrade-mailer.c (upgrade): Sync the database after upgrading + mailer stuff. + (imap_url_upgrade): Since we need 'p' if we fail to find the + folder, don't g_free it until later. + (hex_encode): Don't forget to increment inptr after hex encoding a + character. + (exchange_url_upgrade): Apprently exchange uri's are rebelious and + do not want to be hex encoded like every other url, so hex decode + the folder names here before concatenating them onto the base url. + +2002-09-05 Jeffrey Stedfast <fejj@ximian.com> + + All this snot is to fix bug #29930. What I think was happening was + that the composer's destroy callback got fired off before the + async callback did. + + * mail-callbacks.c (ccd_new): New convenience function to malloc a + new ccd. + (ccd_ref): ccd is now ref_counted (it needs to be) so we now have + this. + (ccd_unref): And we need this now too of course. + (composer_destroy_cb): composer's new destroy callback function - + unref's the ccd. + (composer_send_queued_cb): unref the ccd. + (composer_send_cb): ref the ccd here. + (save_draft_done): unref the ccd. + (composer_save_draft_cb): ref the ccd. + +2002-09-05 Jeffrey Stedfast <fejj@ximian.com> + + * upgrade-mailer.c (imap_url_upgrade): Hex decode the folder names + when searching for them in the memory buffer, and re-hex encode + them when combining them with the rst of the URL. + (mailer_upgrade): Instead of reading in the storeinfo file as raw + binary data, use the camel-file-utils to correctly parse it. + +2002-09-05 Anna Marie Dirks <anna@ximian.com> + + * GNOME_Evolution_Mail.oaf.in: Changed the descriptions of the + fonts, mail, accounts and composer pages of the settings dialog to be + hopefully more descriptive and less confusing. + +2002-09-04 Ettore Perazzoli <ettore@ximian.com> + + * upgrade-mailer.c (upgrade): Return FALSE here. + (get_base_url): Add a cast. + + * component-factory.c (storage_xfer_folder): Removed unused + variables. + + * Makefile.am: Rename upgrade-mailer to evolution-mail-upgrade. + +2002-09-04 Jeffrey Stedfast <fejj@ximian.com> + + * Makefile.am: Add upgrade-mailer.c to the build. + + * upgrade-mailer.c: New program to upgrade configuration files + from 1.0 to 1.2. + +2002-09-04 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (mail_generate_reply): Made sure + account->id->address is not NULL before adding it to the hash + table. This is to prevent bug #29877 from crashing, although it is + still an invalid error condition. + +2002-09-04 Dan Winship <danw@ximian.com> + + * folder-info.c (get_prop): Remove the "Get!" printf. + (set_prop): Likewise for "Set!" + +2002-09-04 Ettore Perazzoli <ettore@ximian.com> + + * mail-account-gui.c (mail_account_gui_save): Remove unused + variable. + + * component-factory.c (unpopulate_folder_context_menu): New. + (create_component): Pass it to evolution_shell_component_new(). + +2002-09-03 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser.c (mark_as_seen_cb): + (mark_as_unseen_cb): + (mark_as_important_cb): + (mark_as_unimportant_cb): New callback functions that wrap the + mail-callbacks versions of mark_as_<whatever>. Thanks to Owen + Taylor for this fix. + +2002-09-04 Not Zed <NotZed@Ximian.com> + + * component-factory.c (storage_xfer_folder): Dont translate / to + dir_sep anymore, we always use /. + +2002-08-29 Peter Williams <peterw@ximian.com> + + * folder-browser-ui.c: Add HAS_FLAGS to a few miscellaneous commands + that don't use IS_xMESSAGE. + +2002-08-28 Dan Winship <danw@ximian.com> + + * GNOME_Evolution_Mail.oaf.in: Add an + evolution:shell_component_launch_order and rename + evolution:shell_component_icon. + +2002-08-28 Jeffrey Stedfast <fejj@ximian.com> + + * mail-display.c (make_safe_filename): Fix some broken logic here, + `p = strrchr (path, '/') + 1` will *never* be NULL!! If the + strrchr returns NULL, then that expression will evaluate to 0x1!! + + * main.c (main): We now always need to init gconf for our later + call to e_proxy_init() which initialises the proxy settings for + soup to use. + +2002-08-28 Peter Williams <peterw@ximian.com> + + * folder-browser-ui.c (default_ui_nodes): Add some new flags for + sensitizing nodes based on the flags of the currently selected + messages. + (folder_browser_ui_add_message): Reset the sensitivity cache when + we re-add UI items. + (folder_browser_ui_add_list): Same. + (folder_browser_ui_add_global): Same. + (fbui_sensitise_item): Only cache the sensitivity in the hash + table if we actually change it. + (folder_browser_ui_scan_selection): New function, getting the bulk + of the contents of folder_browser_ui_set_selection_state. Now + with code to iterate over the currently selected messages and + check their flags so we can sensitize based on them. + (folder_browser_ui_set_selection_state): Now just set the + selection state if necessary and pass off to _scan_selection. Don't + skip of we're trying to go from SELSTATE_SINGLE to SELSTATE_SINGLE, + eg, as the flags of the selected messages may have changed. + + * folder-browser-ui.h: Prototype folder_browser_ui_scan_selection. + + * folder-browser.c (main_folder_changed): Call + folder_browser_ui_scan_selection as the flags on a selected + message may have just changed. + +2002-08-28 Peter Williams <peterw@ximian.com> + + * mail-format.c (component_supports): Also check that the component + has PersistStream. + (mail_lookup_handler): Get a list of all components and go with the + first matching one. + +2002-08-27 Jeffrey Stedfast <fejj@ximian.com> + + * message-list.c (regen_list_regen): Pass + mail_config_get_thread_subject() as the third argument to + camel_folder_thread_messages_new(). + + * mail-config.c (config_read): Read in the thread_by_subject + config option. + (mail_config_write_on_exit): Save the thread_by_subject config + option. + (mail_config_get_thread_subject): New function to get the + thread_subject value. + (mail_config_set_thread_subject): New function to set the + thread_subject value. + +2002-08-27 Radek Doulik <rodo@ximian.com> + + * mail-signature-editor.c: removed tip frame + +2002-08-27 Jeffrey Stedfast <fejj@ximian.com> + + Fixes for bug #4480 + + * folder-browser-factory.c (control_activate): Call + folder_browser_reload() instead of refreshing the folder + ourselves. + + * folder-browser.c (folder_browser_reload): New convenience + function. If the folder-browser's folder is already loaded, + refresh the contents, otherwise if the folder has not been loaded + - try loading the folder again (it may have failed to open last + time for some reason?). + +2002-08-27 Peter Williams <peterw@ximian.com> + + * mail-format.c (handle_text_plain_flowed): Fix bug #29493. + +2002-08-26 Peter Williams <peterw@ximian.com> + + * mail-callbacks.c (toggle_flags): Logic change for when untoggling + a message from deleted-dom. + +2002-08-26 Peter Williams <peterw@ximian.com> + + * mail-ops.c (transfer_messages_transfer): Enforce the mailer policy + that deleted messages are marked as seen. Fixes 29448. This could + go in camel_folder_transfer_messages_to, but I don't think we + necessarily want to enforce that policy for Camel in general. + +2002-08-23 Peter Williams <peterw@ximian.com> + + Address most of bug #4940. Fails on the last page of the add account + dialog as called from the prefs dialog due to EvolutionWizard being + weird. + + * mail-config-druid.c (goto_next_page): New function, little + wrapper around wizard_next_cb. Also potential place to work around + EvolutionWizard weirdness in the future. + (identity_activate_cb): New function, calls goto_next_page if + identity page is complete. + (source_activate_cb): Analogous. + (transport_activate_cb): Analogous. + (management_activate_cb): Analogous. + (get_fn): Hook up the activate signals of the various GtkEntries + to the correct callbacks above. + (management_check): Return the result of the check so that + management_activate_cb can use it. + +2002-08-22 Jeffrey Stedfast <fejj@ximian.com> + + * mail-tools.c (mail_tool_restore_xevolution_headers): Reset the + X-Evolution-PostTo header. + (mail_tool_remove_xevolution_headers): Remove the + X-Evolution-PostTo header. + +2002-08-21 Jeffrey Stedfast <fejj@ximian.com> + + * mail-folder-cache.c (ping_store): Spawn a new thread to ping the + server but only if it is connected. + (ping_cb): This needs to return TRUE so the timeout keeps getting + called. + +2002-08-21 Jeffrey Stedfast <fejj@ximian.com> + + * mail-session.c (class_init): Don't bother overloading the + timeout virtual methods since they don't exist anymore. + + * mail-folder-cache.c (mail_note_store): Register a ping timeout + callback to ping each store to keep the connections alive. + +2002-08-20 Radek Doulik <rodo@ximian.com> + + * mail-callbacks.c (do_mail_print): be sure that widget is + realized so that e_utf8_from_gtk_string works properly + (footer_print_cb): save/restore + +2002-08-20 Mike Kestner <mkestner@ximian.com> + + * folder-browser-ui.c (folder_browser_ui_setup_view_menus): guard + against the view_instance disappearing during earlier CORBA work. + +2002-08-20 Peter Williams <peterw@ximian.com> + + * message-list.c (search_func): Once we hit the target node, + update the cursor_uid if it's set. Fixes #29085. + +2002-08-19 Jeffrey Stedfast <fejj@ximian.com> + + * mail-preferences.c (mail_preferences_apply): Fix a + copy/paste-o. Use the pgp_path GnomeFileEntry widget rather than + the notify_sound_file GnomeFileEntry widget for the pgp path stuff + :-) + +2002-08-19 Dan Winship <danw@ximian.com> + + * mail-account-gui.c (mail_account_gui_setup): source_type_changed + may try to change the transport optionmenu (incorrectly in this + case), so don't call gtk_option_menu_set_history on it until after + emitting "activate" on the source type menuitem. + (mail_account_gui_save): Fix the saving of STORE_AND_TRANSPORT + transports and add a comment so it doesn't get mistakenly unfixed + again. + +2002-08-09 Peter Williams <peterw@ximian.com> + + * subscribe-dialog.c: Change this into a GnomeApp so we get a + statusbar and the dialog is a little more comprehensible. + + * subscribe-dialog.c: (struct _FolderETree): Add members for + tracking activity callback information. + (get_short_folderinfo_got): Notify the activity callback. + (subscribe_get_short_folderinfo): Here too. + (folder_etree_init): Initialize the activity level to 0. + (folder_etree_construct): Take new parameters of our activity + callback and user_data. + (folder_etree_new): Here too. + (store_data_get_widget): Take the parameters here and pass them + on. + (sc_close_pressed): New callback for when close button is pressed. + (sc_activity_timeout): New timeout to move the activity bar when + folders are being scanned. + (sc_activity_cb): If activity_level > 0, start the progressbar + moving and set the status. + (menu_item_selected): Pass the callback to store_data_get_widget. + (subscribe_dialog_construct): Load some more widgets and adapt to + some changes in the XML. Also connect the close button signal and + initialize the progress bar's settings. + + * mail-callbacks.c (manage_subscriptions): Don't call + gnome_dialog_set_close on it anymore since it's no longer a gnome + dialog. + +2002-08-14 Dan Winship <danw@ximian.com> + + * mail-config.glade: Add a "don't sign meeting requests" option to + the security pane, since some versions of Outlook won't recognize + pgp-signed meeting requests. Sigh. + + * mail-config.c (account_copy, config_read, mail_config_write): + Handle pgp_no_imip_sign. + + * mail-account-gui.c (mail_account_gui_new, + mail_account_gui_save): Setup/save "don't sign meeting requests" + button. + +2002-08-13 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (forward_message): Removed an unused variable. + + * mail-account-editor.c (construct): Set the focus on the Account + Name entry widget. Fixes bug #10350. + +2002-08-12 Dan Winship <danw@ximian.com> + + * mail-display.c (on_url_requested): Replace no-longer-existent + e_book_query_address_locally with e_book_query_address_default. + +2002-08-12 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (forward_message): Use mail_get_messages() + instead of mail_get_message(). + (do_forward_non_attached): Fixed to work as a callback from + mail_get_messages(). + (do_edit_messages): Only set the drafts_folder and drafts_uid if + the folder-browser is a drafts folder. Fixes bug #28863. + +2002-08-09 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (save_draft_done): If the ccd is NULL, create a + new ccd, disconnect the old signal handlers, and then reconnect + the signal handlers using the non-NULL ccd as the user_data. + (composer_send_queued_cb): Same, but only if the queue append + operation failed. + +2002-08-09 Dan Winship <danw@ximian.com> + + * mail-callbacks.c (composer_send_queued_cb, save_draft_done): + Handle the fact that ccd may be NULL (if the composer was created + via CORBA). Quick temporary fix for sending meeting requests. + +2002-08-09 Peter Williams <peterw@ximian.com> + + * mail-config.c (mail_config_uri_renamed): When a URI is changed, + try to copy over threaded view settings, preview pane shown + settings, headers, hide state, tree expansion, and GAL view files. + (uri_to_evname): New utility function. + +2002-08-08 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-gui.c (mail_account_gui_save): Instead of comparing + old/new CamelStore objects, just compare their account urls since + changing params would still result in the same CamelStore + object. Fixes bug #18539. + + * mail-callbacks.c (delete_msg): Don't check permanent_flags for + the CAMEL_MESSAGE_DELETED bit here, if we are gonna check to see + if the folder supports the permanent flag then there are better + places to check this. Besides, it was the cause for bug #28038. + +2002-08-08 Not Zed <NotZed@Ximian.com> + + * folder-browser.c (folder_browser_toggle_threads): Force a + refresh of the menu sensitivity when the thread state changes. + +2002-08-07 Not Zed <NotZed@Ximian.com> + + * folder-browser-ui.c: Added EditSelectThread to only enable + threaded mode if threaded is on. For #19941. Added some macro's + to simplify the table. + (folder_browser_ui_set_selection_state): Implement IS_THREADED + mask. + +2002-08-07 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (composer_send_queued_cb): Delete the Draft + item that this was edited from if that is the case as well as + setting any replied flags if we need to. Fixes bug #18171. + (save_draft_done): Not only delete the previously saved draft, but + also set any PostSendData on the message being replied to or + whatever. Fixes bug #20224. + (compose_msg): Create an empty callback data struct which is now a + MUST. + (mail_reply): Fill in the new post_send_data info and also move + the creation of the post_send_data to AFTER the creation of the + composer widget so we don't leak on fail. + (forward_get_composer): Pass an empty post_send_data structure as + the user_data to the signal callbacks. + (send_to_url): Same. + (post_to_url): Here too. + (redirect_get_composer): And here. + (do_edit_messages): We no longer use the evil kludge of setting + data on the composer object to denote the drafts_uid etc, this is + now part of the post_send_data struct. + +2002-08-07 Peter Williams <peterw@ximian.com> + + * component-factory.c (request_quit): If outbox_folder is NULL, + don't try and get its message count (this should never happen, but + has.) + +2002-08-06 Jeffrey Stedfast <fejj@ximian.com> + + * mail-local.c (save_metainfo): No need to save a temporary file + first anymore since I updated e_xml_save_file() to do this for us. + +2002-08-07 Not Zed <NotZed@Ximian.com> + + * folder-browser-ui.c: Enable the view type menu's always. See + #20901. + + * message-tag-followup.c (target_date_new): Set the week start day + from the calendar prefs, do same for 24 hour format. See #23423. + + * mail-config.c (config_read): Added week_start_day from + Calendar/Display config. Also time_24hour format. + (mail_config_get_week_start_day): + (mail_config_get_time_24hour): And read-only accessors. + +2002-08-06 Jeffrey Stedfast <fejj@ximian.com> + + * mail-local.c (save_metainfo): Save to a temporary file first + using e_xml_save_file rather than xmlSaveFile, if the save + completes successfully then rename it to the real filename. Make + sure that errno is saved. + (mls_get_folder): save_metainfo doesn't return -1 on fail, it + returns FALSE. + +2002-08-06 Not Zed <NotZed@Ximian.com> + + * folder-browser.c (folder_browser_search_menu_activated): Set the + rule name to include the search string, for #10979. + + * message-list.c (message_list_hidden): Only count hidden messages + which are in the folder. Should probably maintain hidden table + better. For #4334. + + * mail-ops.c (filter_folder_filter): Unref the driver before + returning to main thread, so any closing operations are handled + async (as in fetch_mail_fetch()), for #28072. + (fetch_mail_fetch): Check driver != NULL, if folder_filter freed + it already. + + ** fixes for #24605. + + * mail-vfolder.c (vfolder_gui_add_from_mlist): Removed. + + * folder-browser.c (filter_type_uid,vfolder_type_uid): Changed to + accept args directly. Fixed callers. + (filter_mlist_uid,vfolder_mlist_uid): Use filter_type_uid instead + of mlist variant. + (vfolder_type_current): new function to handle setup of vfolders + from the main menu. It now uses the vfolder_type_uid function the + same as the popup. + (vfolder_subject, vfolder_sender, vfolder_recipient, + vfolder_mlist): Changed to use vfolder_type_current. + (filter_type_current): Similar for filters. + (filter_subject, filter_sender, filter_recipient, + filter_mlist): Changed to use filter_type_current. + + * mail-autofilter.c (rule_from_message): Handle AUTO_MLIST type. + (rule_from_mlist): + (vfolder_rule_from_mlist): + (filter_rule_from_mlist): Removed. + (filter_gui_add_from_mlist): Removed. + + * mail-autofilter.h: Added AUTO_MLIST type. + +2002-08-05 Jeffrey Stedfast <fejj@ximian.com> + + * mail-mt.c (mail_msg_check_error): If we are not in interactive + mode, don't display error dialogs. + + * component-factory.c (interactive_cb): Updated to use the new + function mail_session_set_interactive(). + (owner_unset_cb): Same here. + + * mail-session.c (mail_session_set_interactive): Renamed from + mail_session_enable_interaction(). + (mail_session_get_interactive): New function to get the + interactive state. + +2002-08-01 Peter Williams <peterw@ximian.com> + + * mail-offline-handler.c (struct _sync_info): Add a GHashTable pointer + so we can remove the info once the operation is done. + (sync_done): Remove the info from the hash table. + (impl_syncFolder): Save the table to which the info was added. + +2002-08-05 Jeffrey Stedfast <fejj@ximian.com> + + * component-factory.c (user_create_new_item_cb): Updated to call + post_to_url if the id is "post". + + * mail-callbacks.c (post_to_url): New function so that we don't + need a FolderBrowser to post a new message. + (post_message): Call post_to_url since they shared so much code. + +2002-08-05 Dan Winship <danw@ximian.com> + + * mail-callbacks.c (mail_reply): Only reply to all or reply to + list, set CAMEL_MESSAGE_ANSWERED_ALL too. + +2002-08-02 Jeffrey Stedfast <fejj@ximian.com> + + * message-tag-followup.c (construct): Set the default flag to + Follow-Up. + + * mail-display.c (mail_display_render): Updated to use the new + Follow-Up tags. Instead of storing a string containing the + follow-up tag value, we now have to store the CamelMessageInfo. + (mail_display_destroy): Unref the folder and the message-info. + + * folder-browser.c (followup_tag_complete): No longer needed. + (on_right_clicked): Use the individual follow-up tags to decide + whether or not to enable something. + + * message-list.c (ml_tree_value_at): Update to use the new + Follow-Up tags. + + * mail-callbacks.c (flag_for_followup): Update to use the new + MessageTagEditor API. + (tag_editor_ok): Update this too. + (flag_followup_completed): Updated this too. + (flag_followup_clear): Set all the follow-up tag values to "". + +2002-08-01 Ettore Perazzoli <ettore@ximian.com> + + * component-factory.c (create_component): Use + "post-message-16.png" as the icon for the "New Message Post" item. + +2002-08-01 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-gui.c (mail_account_gui_save): If we are editing an + account, then get the CamelStore associated with the old account + info and save it in a struct that we will pass along as user_data + to mail_get_store() for the new account url. + (add_new_store): If the old account and new account stores are + identical, then don't remove the old store from the folder + tree. If they are not the same, then remove the old store and add + the new store to the folder tree. + +2002-07-31 Peter Williams <peterw@ximian.com> + + * mail-folder-cache.c: Add another bitfield "unsub" + (real_flush_updates): If unsubscribing, manually remove the folder + from the shell. + (unset_folder_info): Add another parameter which is used to set + the unsub member. + (store_folder_unsubscribed): Pass true for @unsub. + (unset_folder_info_hash): Pass false for @unsub. + + * subscribe-dialog.c (fe_done_subscribing): Don't notify the shell + here. The folder cache does it now, and it was broken to make the + CORBA call in another thread anyway. + +2002-08-01 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (setup_mime_tables): Don't setup a handler for + multipart/digest. + (handle_multipart_digest): Removed. + +2002-07-31 Jeffrey Stedfast <fejj@ximian.com> + + * Makefile.am: Removed folder-browser-window from the build. + + * folder-browser-window.[c,h]: Removed. + + * mail-callbacks.c (view_digest): Removed. + + * mail-display.c (mail_display_digest_clicked): Removed. + (on_link_clicked): Don't handle digest: urls anymore. + +2002-07-31 Ettore Perazzoli <ettore@ximian.com> + + * component-factory.c (create_component): Put "New Mail Message" + before "New Message Post" instead of vice versa. + +2002-07-31 Ettore Perazzoli <ettore@ximian.com> + + * component-factory.c (create_component): Pass "mail" as + @folder_type to + evolution_shell_component_add_user_creatable_item(). + +2002-07-31 Not Zed <NotZed@Ximian.com> + + * mail-display.c: Added global cameldatacache for managing remote + image cache. + (fetch_remote): Lookup data in cache first, use that if available, + or setup a new cache item. + (fetch_data): Write any retrieved data to cache as well as html + stream. + (fetch_free): Unref cache stream. + (fetch_done): + (fetch_cancel): If failed/cancelled, remove cache items so they + dont foul the result. Probably need a header in cache items to + guarantee this, but this is ok for now. + (mail_display_class_init): Setup cache structure. Also ensure + globals are initialised at-most once. + +2002-07-30 Radek Doulik <rodo@ximian.com> + + * mail-config.c (mail_config_signature_set_name): save signature + here to remember the changed name + +2002-07-30 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (write_date): Use camel_medium_get_header to get + the date header rather than getting the time_t and converting it + into a string. + +2002-07-29 Not Zed <NotZed@Ximian.com> + + * mail-display.c (mail_display_init): setup private data. + (mail_display_destroy): cancel any outstanding fetches, and free + private data. + (mail_display_set_message): Cancel any outstanding fetches. + (fetch_cancelled): + (fetch_next): + (fetch_remote): + (fetch_data): + (fetch_free): + (fetch_cancel): + (fetch_done): Implement, used to use soup to download remote + images. + (load_http): Removed. + (on_url_requested): When requesting a http* url, use the + fetch_remote call above. + + * mail-display.h (struct _MailDisplay): Added priv(ate) member. + +2002-07-29 Ettore Perazzoli <ettore@ximian.com> + + * mail-session.c (request_password): Left-align the check button's + label. + +2002-07-29 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-gui.c (mail_account_gui_new): Get the "Reset + Defaults" folders button and connect to the clicked signal. + (default_folders_clicked): Set the default uris on for the Drafts + and Sent folders. + +2002-07-26 Peter Williams <peterw@ximian.com> + + * mail-offline-handler.c (storage_go_online): Call mail_note_store + to get the folders to be updated and new ones to be inserted into + the tree. + +2002-07-29 Ettore Perazzoli <ettore@ximian.com> + + * mail-session.c (request_password): Add an accelerator for the + "Remember this password" checkbox. + +2002-07-26 Jeffrey Stedfast <fejj@ximian.com> + + * mail-ops.c (mail_execute_shell_command): No real need for this + to be an async function sync we are going to call + gnome_execute_async anyway. + + * component-factory.c (create_component): Add a new menu item for + posting to the New toolbar button thing. + (destination_folder_handle_drop): Don't use a NULL exception when + we already have one to use anyway. + (got_folder): Move the *fp = folder; to before the check to make + sure folder != NULL, this makes it so that if getting a folder + fails at least have have a known value to look out for (NULL) + rather than some random garbage. + +2002-07-25 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config-druid.c (create_label): Make the gtk label line-wrap + instead of us forcing \n's in the label, that was just + wrong. Fixes bug #10320. + + * mail-callbacks.c (composer_send_cb): Make sure that the url + isn't an empty string and also make sure to free it when we're + done with it. Also check that we got the folder - if it is NULL, + then just abort. + +2002-07-24 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config.c (mail_config_folder_to_safe_url): Use + mail_tools_folder_to_url(). + + * mail-tools.c (mail_tools_folder_to_url): New convenience + function to take a CamelFolder and return the URL associated with + it. + + * mail-callbacks.c (composer_get_message): Pass in a 'post' + argument so we know whether or not we can ignore a NULL set of + recipients. + (composer_send_cb): Default send->send to TRUE unless we are in + Post-To mode, in which case set send->send to FALSE (since we'll + have nothing to send). Also, if we are in Post-To mode, append to + the folder the user wants to post to rather than appending to + Outbox. + (composer_send_queued_cb): Only queue a send thread if send->send + is TRUE (ie, the composer was not in Post mode - if it was in Post + mode, then the message post has already been saved in the correct + folder so there is nothing to do). + (post_message): New function to create an empty composer widget in + Post mode. + (post_reply): New function that calls mail_reply with the new mode + of REPLY_POST. + (mail_generate_reply): If the mode is REPLY_POST, create a Post + composer widget otherwise create a normal composer widget. + +2002-07-25 Jeffrey Stedfast <fejj@ximian.com> + + * mail-ops.c (mail_execute_shell_command): Update to take argc and + argv arguments since this is the new definition for the + CamelFilterDriverShellFunc. + + * mail-session.c (main_get_filter_driver): Updated for the renamed + function. + + * mail-display.c (link_open_in_browser): Make sure that the + html->pointer_url is non-NULL. Should fix bug #28159 (this seems + to be the only questionable way for a NULL url to be passed into + on_link_clicked). + +2002-07-24 Peter Williams <peterw@ximian.com> + + * mail-callbacks.c (do_mail_fetch_and_print): Check for whether + current_message is NULL as well as preview_shown (if we tried to + load the message and failed, as may happen in offline mode.) + (done_message_selected): Only print if we actually got the message. + + * folder-browser.c (folder_browser_query_changed): New function, + use this on the query_changed signal. Don't run the search if + they only changed the dropdown. + +2002-07-23 Peter Williams <peterw@ximian.com> + + * mail-ops.c (get_store_get): Call camel_session_get_service + instead of camel_session_get_store, as _get_store calls + _get_service_connected which is not what we want to do on startup. + (set_offline_do): Rework the logic here. It was failing when + trying to go online with a disco store that couldn't work offline. + + * mail-folder-cache.c (mail_note_store): If we're using an offline + (well, non-online) disco store that cannot work offline, don't get + the folderinfo as that will fail. + +2002-07-24 Radek Doulik <rodo@ximian.com> + + * mail-composer-prefs.c (sig_add): use + mail_config_get_send_html for html format flag + + * mail-account-gui.c (sig_add_new_signature): use + mail_config_get_send_html for html format flag + +2002-07-24 Not Zed <NotZed@Ximian.com> + + * mail-folder-cache.c (real_flush_updates): Propagate name changes + or removes to the mail config. #15951. Doesn't enitrely work for + local folders, because they are never renamed only removed and + added thanks to the shell's api. + + * mail-config.c (mail_config_uri_renamed): If a store folder is + renamed, this checks for any config that needs updating, so far + sent and drafts folders. + (mail_config_uri_deleted): Same, for deleted folders. + +2002-07-24 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (handle_multipart_encrypted): Commit a fix that I + thought I committed a while ago: + + * mail-format.c (handle_multipart_encrypted): Pass the correct + pointer into camel_multipart_encrypted_decrypt(). + + * mail-ops.c (mail_send_message): Rework the logic a bit. If we + find an account, use that to set the sent_folder_uri and the + transport_url, otherwise use the X-Evolution-Transport and + X-Evolution-Fcc headers. + +2002-07-23 Jeffrey Stedfast <fejj@ximian.com> + + * message-tag-followup.c (message_tag_followup_decode): Don't pass + the length of the tag name into strncmp, instead use the length up + to the first ':' in the value string. + +2002-07-22 Peter Williams <peterw@ximian.com> + + * folder-browser.c (folder_browser_gui_init): Also perform a search + on the query_changed signal, which is what gets emitted when the + Search menu is used. + +2002-07-24 Not Zed <NotZed@Ximian.com> + + * component-factory.c (owner_set_cb): Initialise the standard + uri's before doing anything else. + + * mail-vfolder.c (uri_is_ignore): Return true if the uri is any + sent, drafts or outbox folder uri. + (mail_vfolder_add_uri): Dont automagically add any + sent/outbox/drafts folder with "local" or "remote" etc rules, only + add sent folders if explictly listed as folder rules. Maintain + the remote/local folders list accordingly. + (vfolder_adduri_do): dont check against sent_folder, drafts_folder + or outbox_folder, this is checked by above code. For #14863. + + * mail-display.c (drag_data_delete_cb): use uri_list before we set + "uri-list" to NULL, which will automagically free it for us, so + dont free it either. Found with vagrind. + +2002-07-23 Not Zed <NotZed@Ximian.com> + + * message-browser.c (message_browser_destroy): Disconnect from + folderbroser signals when we unref it, so we dont get signals + later on if someone else has a ref on it (causing crash). + +2002-07-22 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config.c (mail_config_signature_run_script): Check to make + sure the script output is valid UTF-8, if not then attempt to + convert it into UTF-8. Fixes bug #28086. + +2002-07-22 Not Zed <NotZed@Ximian.com> + + * message-list.c (regen_list_regened): Remove the assert, and + always copy over the threadtree which represents the current view, + unreffing the old one if set. For #28021. Haven't tested this a + lot, but i guess it cant be worse than what is there. + + * mail-vfolder.c (store_folder_renamed): When renaming, use + full_name to set the folder, not name, so the path is preserved. + +2002-07-20 Larry Ewing <lewing@ximian.com> + + * mail-format.c (mail_get_message_body): recognize urls in plain + text reply quoting logic (bug #27908). + +2002-07-19 Not Zed <NotZed@Ximian.com> + + * mail-callbacks.c: Try including gtkhtml/gtkhtml.h instead. Test + really is a 4 letter word obviously. + +2002-07-18 Ettore Perazzoli <ettore@ximian.com> + + * mail-folder-cache.c: Removed bogus static pre-declaration. + + * e-searching-tokenizer.c (e_searching_tokenizer_end): Removed + unused variables. + + * mail-callbacks.c: #include <gtkhtml.h>. + + * folder-info.h (evolution_folder_info_get_type): Add prototype. + +2002-07-18 Peter Williams <peterw@ximian.com> + + * mail-format.c (handle_multipart_digest): Change the HTML to + make this a little prettier. + + * folder-browser-window.c (folder_browser_window_new): Load the + messagedisplay XML file as a base for the UI, so that things + appear. Don't add the global UI items as they don't make sense + here. + (fb_window_close): New function, used to ... close the window, + suprisingly. + +2002-07-18 Not Zed <NotZed@Ximian.com> + + * main.c (main): Put the mcheck stuff back in, which was removed + without a changelog entry. + +2002-07-08 Peter Williams <peterw@ximian.com> + + * Makefile.am: Reference the new libefilterbar.a. + +2002-07-17 Radek Doulik <rodo@ximian.com> + + * mail-callbacks.c (save_draft_done): use "saved" gtkhtml command + +2002-07-17 Jeffrey Stedfast <fejj@ximian.com> + + * component-factory.c (add_storage): Oops, Don't comment out the + mail_note_store call. + +2002-07-16 Jeffrey Stedfast <fejj@ximian.com> + + * mail-accounts.c (account_able_clicked): Re-enable some #if 0'd code. + + * mail-vfolder.c (vfolder_load_storage): Updated to not pass TRUE + for an auto_connect argument since that argument no longer exists. + + * mail-account-gui.c (add_new_store): Updated to not pass an + auto_connect argument. + + * component-factory.c (add_storage): Don't ever auto-connect here. + (mail_add_storage): No longer takes an auto_connect argument. + (mail_load_storages): Only load the account storages that are + enabled. + +2002-07-15 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (composer_send_cb): Pass 'info' into + mail_append_mail(), seems I created the info but forgot to pass it + in. + (composer_send_queued_cb): If the message is successfully queued, + we destroy the composer, otherwise we unref it. Don't ever destroy + and then unref it. + +2002-07-15 Radek Doulik <rodo@ximian.com> + + * mail-callbacks.c: use new save_header_state flag + +2002-07-15 Peter Williams <peterw@ximian.com> + + * mail-offline-handler.c (service_is_relevant): Account for the + case that when a disco store is "online" but actually offline and + we're going online, we should actually connect it. + + * component-factory.c (mail_load_storages): Always set + auto_connect to FALSE, same reason as below. + + * mail-session.c (mail_session_init): Initialize our session to + not be online, since the shell will tell us to go online if we + need to. + +2002-07-10 Peter Williams <peterw@ximian.com> + + * Makefile.am (importerdir): Define this in terms of the new + privlibdir, again resulting in a new directory name. + + * importers/Makefile.am (importersdir): Here too. + +2002-07-15 Not Zed <NotZed@Ximian.com> + + * message-list.c (ml_tree_value_at): Lookup the label colour based + on the label token, not an integer. + + * folder-browser.c (on_right_click): Lookup the label name from + the filter type. Sigh, a bunch of other code should do similar + but i'm going to leave it as integers. + (set_msg_label): Set the label directly. + + * mail-vfolder.c (vfolder_editor_clicked): Set the vfolder_editor + variable to null before we close the dialogue, otherwise the close + destroys it and reverts the file. + + * component-factory.c (populate_folder_context_menu): Oops, + accidentally checked in some unfinished, unworking code. + Reverted. + +2002-07-10 Not Zed <NotZed@Ximian.com> + + ** fixes for #10781 + + * mail-callbacks.c (filter_edit): Add back a cancel button. We + dont need to do anything special to 'undo' here, as the rules are + loaded every time they're used. + + * mail-vfolder.c (vfolder_editor_clicked): If ok wans't clicked, + revert the ruleset. + (vfolder_editor_destroy): Fake a button of -1 if we get destroyed + with no click. + (context_rule_removed): Unref the folder after we delete it. If + we're the last ref to the folder, unrefing it means it no longer + exist,s which means no delte processing occurs ... + +2002-07-04 Not Zed <NotZed@Ximian.com> + + * mail-accounts.c (news_add_destroyed): Pass teh autoconnect flag, + whcih shoudlnt' exist anyeway. + +2002-07-03 Not Zed <NotZed@Ximian.com> + + * component-factory.c (populate_folder_context_menu): If this is a + file url, look up its component, if we have it, then use the + mail-callback reconfigure call. + + * folder-browser-factory.c (folder_browser_factory_get_browser): + Util to get the folder browser from a uri. + +2002-07-11 Jeffrey Stedfast <fejj@ximian.com> + + * mail-display.c (pixmap_press): Rename "Save to disk..." to "Save + Attachment..." + +2002-07-10 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser-ui.c: Modified to use a single list of UI node + elements with an enable-mask rather than split into groups. This + allows much more control and easier modification to get the + desired enable/disable effects. + + * mail-display.c (mail_display_set_message): If we unref'd a + current_message, clear the datalist. Don't bother connecting to + the message's finalise signal because something else may own a ref + to the original message when we replace it with a new one. + (mail_display_destroy): Only clear the datalist if we have a + current_message, otherwise it's safe to assume that it is already + cleared. + +2002-07-08 Peter Williams <peterw@ximian.com> + + * Makefile.am (INCLUDES): Add -I flags to get the ebook headers. + +2002-07-10 Ettore Perazzoli <ettore@ximian.com> + + * subscribe-dialog.c (recursive_add_folder): Pass zero as + @sorting_priority to evolution_storage_new_folder(). + + * mail-folder-cache.c (real_flush_updates): Pass zero as + @sorting_priority to evolution_storage_new_folder(). + +2002-07-09 Ettore Perazzoli <ettore@ximian.com> + + * subscribe-dialog.c (recursive_add_folder): Pass NULL for + @custom_icon_name to evolution_storage_new_folder(). + + * mail-folder-cache.c (real_flush_updates): Pass NULL for + @custom_icon_name to evolution_storage_new_folder(). + +2002-07-08 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (redirect): Don't ever use the mail-display's + current_message, this can cause problems. + + * mail-ops.c (get_message_free): Unref the gotten message. All of + the callers seemed to think that they didn't have to unref the + message. + + * mail-display.c (mail_display_set_message): Now refs the message. + (mail_display_destroy): Unref the current_message if we still have + ownership of it. + +2002-07-05 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (composer_send_queued_cb): Only queue a send + operation if we are in Online mode, otherwise don't bother wasting + our time. + +2002-07-05 Jeffrey Stedfast <fejj@ximian.com> + + * main.c (main): No longer need to pass a postpone_cb function + into the composer factory_init. + + * mail-send-recv.c (get_receive_type): If the provider is a + transport, return SEND_SEND. + + * mail-config.c (mail_config_get_default_transport): If the + default account doesn't have a transport, find the first account + that does. + + * mail-callbacks.c (append_mail_cleanup): Don't bother freeing the + appended_uid here. + (composer_send_internal): New helper function that does all the + similar work that composer_send_cb and composer_postpone_cb did. + (composer_send_cb): Append the message to Outbox and in the async + callback, queue a message send operation. + (composer_postpone_cb): Removed. + (composer_send_queued_cb): The new async callback for + composer_send_cb(). If the append is successful, queue a message + send operation and destroy the composer otherwise re-show the + composer. + (save_draft_done): g_strdup the appended uid. + (compose_msg): Don't connect to the postpone signal anymore as it + no longer exists. + (send_to_url): Same. + (mail_reply): Here too. + (forward_get_composer): And here. + (redirect_get_composer): Again here. + (do_edit_messages): And finally here. + + * mail-ops.c (append_mail_free): Free the appended uid. + +2002-07-04 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-editor-news.[c,h]: Removed. + + * mail-accounts.c: Removed special-case code for NNTP support. + + * mail-account-gui.c (mail_account_gui_setup): Allow configuration + of both mail and news accounts. + + * component-factory.c (mail_load_storages): No longer need the + is-account argument. + + * subscribe-dialog.c (populate_store_list): Don't special-case + news accounts anymore. + + * mail-config.c (mail_config_get_default_news): Removed. + (mail_config_get_news): Removed. + (mail_config_add_news): Removed. + (mail_config_remove_news): Removed. + +2002-07-03 Jeffrey Stedfast <fejj@ximian.com> + + * mail-vfolder.c (vfolder_load_storage): Pass TRUE as the + auto_connect argument to mail_load_storage_from_uri(). + + * mail-account-gui.c (add_new_store): Pass FALSE as the + auto_connect value to mail_load_storage_from_uri(). + + * mail-format.c (handle_multipart_encrypted): Pass the correct + pointer into camel_multipart_encrypted_decrypt(). + + * component-factory.c (mail_add_storage): Now takes an + auto-connect argument which it passes along to add_storage(). + (mail_load_storage_from_uri): Same. + (add_storage): Only call mail_note_store() if we plan on + auto-connecting. + +2002-07-02 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser.c (on_right_click): Increase the size of the + escapped mlist buffer, we can't assume that there can only ever be + a single '_' in the mlist name afaik. + (filter_type_uid): Ugh, we need to copy the fdata->source here. + + Fixes bug #27263. + + * folder-browser.c (filter_subject): Decide the filter source type + based on the folder we are in (Sent/Outbox folders use + FILTER_SOURCE_OUTGOING). + (filter_sender): Same. + (filter_recipient): Here too. + (filter_mlist): And here. + (on_right_click): Set the fdata->source. + (filter_type_got_message): Pass fdata->source into + filter_gui_add_from_message(). + (filter_mlist_uid): Same. + + * mail-autofilter.c (filter_gui_add_from_message): Now takes a + source argument so that we don't always add incoming rules. + (filter_gui_add_from_mlist): Same. + + * mail-tools.c (mail_tool_make_message_attachment): Remove Bcc + headers too. Fixes bug #27302. + +2002-07-02 Ettore Perazzoli <ettore@ximian.com> + + * folder-browser.c (folder_browser_gui_init): Don't connect + folder_browser_search_do_search to "query_changed" since we don't + want the search to happen unless the user clicks "Find Now", for + consistency. + +2002-07-02 Ettore Perazzoli <ettore@ximian.com> + + * component-factory.c (create_component): Pass a tooltip to + evolution_shell_component_add_user_creatable_item. + +2002-07-02 Sean Atkinson <sean@cantab.net> + + * mail-preferences.c: remove dependency on removed file + camel/camel-pgp-context.h + +2002-07-01 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (handle_multipart_related): Make sure that cid is + non-NULL. + +2002-07-01 Not Zed <NotZed@Ximian.com> + + * mail-folder-cache.c (folder_deleted): Removed. The + folder's deleted event isn't needed since we're listening to the + store's folder_deleted signal. Also, the code was wrong, it + cleared the folder without disconnecting events, etc. See #16486, + and probably others. + (mail_note_folder): Dont hook onto deleted anymore. + (unset_folder_info): Or unhook from it. + +2002-06-28 Jeffrey Stedfast <fejj@ximian.com> + + * component-factory.c (mail_load_storages): Don't skip over + disabled accounts - put them in the folder tree too. + +2002-06-28 Jeffrey Stedfast <fejj@ximian.com> + + Fixes bug #27055. + + * mail-accounts.c (account_add_finished): Unref the main accounts + widget. + (account_add_clicked): Ref the main accounts widget. + (account_edit_finished): Unref the main accounts widget. + (account_edit_clicked): Ref the main accounts widget. + +2002-06-27 Jeffrey Stedfast <fejj@ximian.com> + + * component-factory.c (storage_remove_folder): Recursively delete + any subfolders. + +2002-06-26 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config.c (config_read): Don't allow the pgp type to be + anything except NONE or GPG. + + * mail-preferences.c (mail_preferences_apply): Don't allow someone + to use anything other than GnuPG. + + * mail-crypto.c (mail_crypto_get_pgp_cipher_context): No need to + handle pgp5 or pgp6 types anymore since we are no longer + supporting them. Ding dong the witch is dead! + + * mail-format.c (handle_multipart_encrypted): Rewritten to use + camel_multipart_encrypted_decrypt. + + * mail-crypto.c (mail_crypto_pgp_mime_part_verify): Removed. + (mail_crypto_pgp_mime_part_encrypt): Removed. + (mail_crypto_pgp_mime_part_decrypt): Are we seeing a trend yet? + +2002-06-25 Jeffrey Stedfast <fejj@ximian.com> + + * mail-display.c (on_url_requested): Also handle https urls. + + * component-factory.c (mail_add_storage): Some compiler warning + fixes. + + * mail-crypto.c (mail_crypto_pgp_mime_part_sign): Removed. + (mail_crypto_get_pgp_cipher_context): New convenience function to + construct a pgp cipher context. + (mail_crypto_pgp_mime_part_verify): Use the new + get_pgp_cipher_context function. + (mail_crypto_pgp_mime_part_encrypt): Same. + (mail_crypto_pgp_mime_part_decrypt): Here too. + + * mail-account-gui.c (mail_account_gui_new): Initialise the + pgp_always_trust checkbox. + (mail_account_gui_save): Get whether or not to always_trust the + user's pgp keys. + + * mail-config.c (account_copy): Copy over the pgp_always_trust + option. + (config_read): Read in the always_trust option. + (mail_config_write): Save the always_trust option. + +2002-06-21 Jeffrey Stedfast <fejj@ximian.com> + + * mail-crypto.c (mail_crypto_pgp_mime_part_verify): If the pgp + type is gpg, then use the gpg context. + (mail_crypto_pgp_mime_part_sign): Same. + (mail_crypto_pgp_mime_part_encrypt): Same. + (mail_crypto_pgp_mime_part_decrypt): Same. + + * mail-format.c (handle_multipart_signed): Use the new gpg cipher + context. + +2002-06-18 Jeffrey Stedfast <fejj@ximian.com> + + * message-list.c (message_list_change_first_visible_parent): New + convenience function to find the first parent node that is visible + and emit a changed signal on it. + (main_folder_changed): If a message changed, call + change_first_visible_parent() in case we are in a collapsed thread + so that our first visible parent gets updated as well. Fixes bug + #26263. + + * component-factory.c (storage_remove_folder): Simplify the error + checking. + +2002-06-17 Jeffrey Stedfast <fejj@ximian.com> + + * message-list.c (get_normalised_string): New convenience function + to get a cached normalised string. + (subject_compare): Removed, as we strip Re:'s when normalising the + subject strings now. + (ml_tree_value_at): Added support for the normalised columns (used + for a sorting optimisation). + (message_list_init): Initialise normalised_hash. + (message_list_destroy): Destroy normalised_hash. + (message_list_create_extras): Removed subject_compare. + (main_folder_changed): De-cache normalised strings for any removed + uids. + +2002-06-17 Not Zed <NotZed@Ximian.com> + + * message-list.c (regen_list_regen): If we dont support searching, + dont try to. + +2002-06-11 Jeffrey Stedfast <fejj@ximian.com> + + * message-list.c (regen_list_regen): Move m->complete = TRUE; to + within the cancel-check block, this way complete only ever gets + set to TRUE if we weren't cancelled. I assume this is how it was + supposed to work. + +2002-06-11 Not Zed <NotZed@Ximian.com> + + * folder-info.c (do_get_info): If we dont get a folder, dont try + and get details off it. Should get rid of most of those annoying + summary warnings, but not the cause of them. + +2002-06-10 Jeffrey Stedfast <fejj@ximian.com> + + * mail-accounts.c (account_able_clicked): Comment out the code to + add/remove the store to the folder-tree when it gets + enabled/disabled. + + * mail-callbacks.c (mail_generate_reply): If we are doing + Reply-to-All, do not include any of the user's email accounts in + the To: field. If, after this, the To: field is empty - then + promote the first recipient in the Cc: list to the To: field. + +2002-06-07 Radek Doulik <rodo@ximian.com> + + * mail-config.c (mail_config_write_account_sig): call + mail_config_init to be sure we have the db, save auto_signature as + well + + * mail-composer-prefs.c (sig_add_script_cancel): hook this to + cancel button in signature script dialog + + * mail-signature-editor.c (mail_signature_editor): fix some typos, + set label usize to 500, -2 + (menu_help): added help link to Help menu + +2002-06-06 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-gui.c (mail_account_gui_save): If this account is + not a completely new account (ie, it is an edited account), then + remove any trace of it from the shell storages. If the new account + belongs in the folder-tree, add it to the list of storages. + + * component-factory.c (mail_add_storage): New function to add a + single storage. + +2002-06-06 Radek Doulik <rodo@ximian.com> + + * mail-composer-prefs.c (mail_composer_prefs_construct): disable + edit and delete when there are no signatures defined + +2002-06-06 Not Zed <NotZed@Ximian.com> + + * message-list.c (mail_regen_list): Keep track of the regeneration + request in a list. + (regen_list_free): Remove the request from the regenreation list. + (message_list_set_folder): If there are any outstanding + regneration requests, cancel them. + (regen_list_regened): If we were cancelled, do nothing. + (regen_list_regen): If we were cancelled, shortcut processing. + This is all for #23571. + + * message-list.c (regen_list_regen): Change the way we calculate + the hide deleted messages and tree view options. Do it based on a + search and uid's rather than a summary. + (regen_list_regened): Handle changes to tree storage. + (mail_regen_list): The tree is now stored between updates, so we + can update the tree structure incrementally. This blows out + memory use some however. We need an etree that uses this as its + model directly? + (message_list_destroy): Free the thread tree. + (message_list_set_folder): Clear the thread tree when changing + folder. + +2002-06-05 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (mail_get_message_rfc822): Don't forget to free + the date string buffer. + +2002-06-05 Radek Doulik <rodo@ximian.com> + + * mail-composer-prefs.c (sig_fill_clist): use gtk string instead + of utf8 one + +2002-06-04 Jeffrey Stedfast <fejj@ximian.com> + + The following changes take a great leap toward fixing bug #1042. + + * mail-display.c (mail_display_push_content_location): New + function to push a Content-Location value onto the MailDisplay. + (mail_display_get_content_location): Gets the current + Content-Location CamelURL value. + (mail_display_pop_content_location): Pop the Content-Location off + the stack. + + * mail-format.c (get_location): Do URL merging if the + Content-Location isn't a full URL. If the Content-Location doesn't + exist, pretend the URL is actually the Content-Location URL of our + parent multipart (assuming it exists). If that doesn't exist, then + yes - return NULL. + (handle_multipart_related): Push the Content-Location header value + of the multipart/related so that we can do URL merging in + get_location() as we process each of the subparts. When we're + done, pop it back off the stack. + +2002-06-04 Christopher James Lahey <clahey@ximian.com> + + * message-list.etspec: Added priorities. + +2002-06-04 Christopher James Lahey <clahey@ximian.com> + + * folder-browser-ui.c (folder_browser_ui_setup_view_menus): Set + the title of our GalViewCollection. + +2002-06-04 Not Zed <NotZed@Ximian.com> + + * mail-accounts.c (mail_accounts_tab_construct): Duh, we want to + set the news_edit/delete buttons for the news page, not overwrite + the mail ones! That would've saved a bit of angst ... + + * mail-config-druid.c (extra_prepare): dont call build_extra_conf, + otherwise it blows away any settings with defaults. + +2002-06-04 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-gui.c (mail_account_gui_save): Write the signature + after the account has been added. + (sig_new_html): Don't write the signatures at this time. + (sig_new_text): Same. + +2002-06-03 Jeffrey Stedfast <fejj@ximian.com> + + * mail-accounts.c (account_delete_clicked): Correctly get the + GtkWindow ancestor of the prefs widget. + +2002-06-03 Not Zed <NotZed@Ximian.com> + + * mail-callbacks.c (composer_get_message): Changed to check + everything from the composer before the message is requested. + Otherwise we could end up signing/encrypting it twice, etc. + + * mail-format.c (handle_multipart_signed): removed some dead wood. + +2002-06-03 Jeffrey Stedfast <fejj@ximian.com> + + * component-factory.c (request_quit): Prompt the user to see if he + really wants to quit when there are queued messages in the Outbox. + +2002-06-01 Not Zed <NotZed@Ximian.com> + + * mail-local.c (mlf_getv): Implement, return a text description of + the localfolder. + + * message-list.c (ml_duplicate_value): + (ml_free_value): + (ml_initialize_value): + (ml_value_is_empty): + (ml_value_to_string): + (ml_tree_value_at): Implement COL_LOCATION, original location of + message (useful for vfolder). + +2002-06-02 Larry Ewing <lewing@ximian.com> + + * mail-tools.c (mail_tool_quote_message): make these citations as + well. + + * mail-format.c (handle_text_plain_flowed): make these blockquotes + into citations. + +2002-05-31 Not Zed <NotZed@Ximian.com> + + * mail-format.c (handle_multipart_signed): Changed to handle new + multipart-signed type. + +2002-05-30 Jeffrey Stedfast <fejj@ximian.com> + + * mail-send-recv.c (mail_send_receive): Noop if we are in offline + mode. + + * component-factory.c (mail_remove_storage): If the store is not + in the storage hash, then it must not have ever been added. Fixes + bug #25456. + + * mail-callbacks.c (view_msg): Oops, create a message-browser + window here, not a folder-browser-window window. + +2002-05-29 Radek Doulik <rodo@ximian.com> + + * mail-composer-prefs.c: moved spell checking options to separate + page, updated UI by Anna's design + + * mail-accounts.c (mail_accounts_load): use _ instead of U_ for + clist + (mail_accounts_tab_construct): justify marks column to right + +2002-05-28 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser-window.c (folder_browser_window_new): Revert a + failed idea. + +2002-05-24 Radek Doulik <rodo@ximian.com> + + * mail-composer-prefs.c (mail_composer_prefs_construct): ops, + revert array size + +2002-05-24 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (mail_generate_reply): If we can't find the + mailing list address in the recipients list, just Reply-to-All + instead. + +2002-05-23 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser-window.c (folder_browser_window_new): Set the ui + to be the evolution-mail-global.xml file thingy. Still broken but + oh well. I give up. bonobo-ui sucks. + + * message-browser.c (set_bonobo_ui): Fixed to not crash. + +2002-05-23 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser-window.c (folder_browser_window_new): If the + folder-browser has a parent, reparent it. + + * message-browser.[c,h]: Revert back to the old broken + implementation since that's what users want. They're not happy + unless it's broken. + +2002-05-23 Radek Doulik <rodo@ximian.com> + + * mail-composer-prefs.c: be more careful about language_str{_orig} + (mail_composer_prefs_construct): add auto smiley check button + +2002-05-21 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-gui.c (sig_fill_options): Only clear the text/html + signature menus if they are non-NULL. + + * mail-composer-prefs.c (spell_save_values): Use a new macro, + STR_EQUAL, to tell if the 2 values are equal or not rather than + using strcmp since one or both strings could be NULL. + +2002-05-21 Not Zed <NotZed@Ximian.com> + + * folder-browser.c (folder_browser_config_search): Split the + search word up for a body search and add it to the tokeniser to + highlight. + +2002-05-18 Not Zed <NotZed@Ximian.com> + + * e-searching-tokenizer.c + (e_searching_tokenizer_add_primary_search_string): + (e_searching_tokenizer_add_secondary_search_string): New functions + to add additional search strings one at a time. Maybe it should + just split the word itself? + (all): Basically, entirely rewritten. Now implements the + Aho-Corasick multiple pattern search algorithm and handles + multiple search strings and only ever has to decode any utf8 + character once, etc etc. + +2002-05-20 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (mail_get_message_body): Only get the contents of + a mime part if it is marked as "inline". Fixes bug #7527. + + * mail-display.c (mail_display_render): Fixed the "Overdue:" + string to not contain any HTML tags. + +2002-05-20 Ettore Perazzoli <ettore@ximian.com> + + * subscribe-dialog.c (recursive_add_folder): Pass TRUE for + @sync_offline to evolution_storage_new_folder(). + + * mail-folder-cache.c (real_flush_updates): Pass TRUE for + @sync_offline to evolution_storage_new_folder(). + +2002-05-20 Ettore Perazzoli <ettore@ximian.com> + + * mail-callbacks.c (composer_sent_cb): Always unref the composer + [even when we are destroying it], otherwise we leak it and we get + the nasty bug where you can't quit. + +2002-05-16 Jeffrey Stedfast <fejj@ximian.com> + + * message-list.c (ml_tree_value_at): Check for a label tag when + doing a lookup on the COLOR column. + + * mail-config.c (mail_config_get_label_color_string): Return the + colour in string format. + + * folder-browser.c (set_msg_label): Replaces colourise_msg and + sets the "label" tag rather than the "colour" tag. + + * mail-preferences.c (mail_preferences_apply): Call + mail_config_write() so that the settings get synced to disk. + +2002-05-16 Ettore Perazzoli <ettore@ximian.com> + + * component-factory.c (request_quit): New. + (create_component): Pass it as the @request_quit_fn to + evolution_shell_component_new(). + +2002-05-15 Ettore Perazzoli <ettore@ximian.com> + + * component-factory.c (create_component): Pass NULL as + @request_quit_fn. + +2002-05-15 Not Zed <NotZed@Ximian.com> + + * mail-ops.c (prep_offline_do): + (prep_offline_done): + (prep_offline_free): + (mail_prep_offline): Implement prep_offline for an individual + folder. + (set_offline_do): Only call disco_store_set_status or disconnect + for the store, dont do any offline prep stuff. + + * mail-offline-handler.c: Applied patch from Ettore to hook in + extra offline interfaces. + (impl_destroy): Dont free listener here anymore, its removed, but + free sync table. + (mail_offline_handler_init): Same for setup. + (impl_syncFolder): Implement. + (sync_done): handles finalising synchronisation of 1 folder. + (sync_status): progress reporting, camel side. + (sync_timeout): progress reporting, gmainloop side. + (impl_cancelSyncFolder): Implement. + (impl_goOffline, storage_go_offline, went_offline): Dont copy the + listener to our struct - its an argument, not a member, so give + each thread its own copy. + +2002-05-15 Jeffrey Stedfast <fejj@ximian.com> + + * message-list.c (ml_tree_value_at): Instead of g_assert()ing that + the msg_info is not NULL, if it is NULL just return NULL. This + fixes a crash when ETree requests the value at a root node (I + don't understand why it needs to do that??). + +2002-05-14 Jeffrey Stedfast <fejj@ximian.com> + + * folder-info.h: Added. + +2002-05-14 Christopher James Lahey <clahey@ximian.com> + + * component-factory.c: Added #include "folder-info.h". + + * folder-browser-window.c (folder_browser_window_new), + mail-account-editor.c (apply_changes), mail-account-gui.c + (mail_account_gui_save), message-tag-editor.c: Removed some unused + variables. + + * folder-info.c: Added #include "folder-info.h". Removed static + declaration of evolution_folder_info_get_type. + + * folder-info.c (destroy), mail-callbacks.c + (confirm_goto_next_folder, find_current_folder, + find_next_folder_r, find_next_folder, + do_evil_kludgy_goto_next_folder_hack), mail-composer-prefs.c + (sig_name_changed): Commented out these unused functions. + + * mail-config.c (add_new_storage): Removed this unused function. + + * mail-local.c (mlf_init): Fix the declaration of this function to + match the required signature. + +2002-05-13 Christopher James Lahey <clahey@ximian.com> + + * message-list.etspec: Added search="string" where appropriate. + +2002-05-13 Dan Winship <danw@ximian.com> + + * (various places): Update for camel_folder_append_message / + camel_folder_transfer_messages_to API change. + + * mail-ops.c (mail_append_mail): Pass the appended_uid to the + callback. + + * mail-callbacks.c (composer_save_draft_cb, save_draft_done, + do_edit_messages): Take advantage of the append_message change to + keep track of the UID of the saved draft so that we can delete the + old copy of the draft each time we save a new one. Remove the + FIXME suggesting we should do that, since we're doing it now. :) + +2002-05-10 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (do_view_message): Update for the new + message-browser api. + + * message-browser.c (message_browser_new): A brand new + implementation that just shows the message, none of that next/prev + crap that always caused problems anyway. + + * mail-config.c (mail_config_add_account): Don't add any shortcuts + here. + (mail_config_remove_account): And don't remove them here. This + code has never worked properly. + + * mail-ops.c (save_part_save): Use the exception enum names rather + than '1' since it makes the code clearer. + +2002-05-10 Dan Winship <danw@ximian.com> + + * mail-ops.c (transfer_messages_transfer): Simplify. Use + transfer_messages_to instead of picking between copy and move. + Remove vtrash special-casing since it's all in + camel-vtrash-folder.c now. Remove duplicate source == dest check. + + * mail-local.c (mail_local_folder_reconfigure): Use + transfer_messages_to instead of copy_messages_to. + +2002-05-09 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-gui.c (mail_account_gui_save): Make sure that even + if the new source url is NULL, that we preserve the enabledness of + the source. + +2002-05-09 Ettore Perazzoli <ettore@ximian.com> + + * component-factory.c (add_storage): Pass %FALSE as + @has_shared_folders to evolution_storage_new(). + +2002-05-09 JP Rosevear <jpr@ximian.com> + + * Makefile.am: dist Spell.idl + +2002-05-08 Radek Doulik <rodo@ximian.com> + + * mail-composer-prefs.c: implemented (c'n'p-ed and updated) spell + checking settings + +2002-05-08 Iain Holmes <iain@ximian.com> + + * component-factory.c (owner_set_cb): Tell the folder info listeners + that they're ready. + + * folder-info.c: Add a property bag to the CORBAObject. + (do_get_info): Remove a load of cruft. Add some error checks. + (do_free_info): Unref the listener. + (destroy): Unref the propertybag. + (set_prop): Set the property. + (get_prop): Get the property. + (evolution_folder_info_factory_fn): Create a propertybag. + (evolution_folder_info_notify_ready): Notify all the listeners that + the folder info is ready for querying. + +2002-05-08 Not Zed <NotZed@Ximian.com> + + * mail-autofilter.c (mail_filter_rename_uri): Changed for + rule_context_rename_uri api changes. + (mail_filter_delete_uri): Same. Also, popup a dialogue similar to + vfolder deleted dialogue to notify the user something has + changed. Partial fix for #18826. + +2002-05-06 Jeffrey Stedfast <fejj@ximian.com> + + * mail-ops.c (filter_folder_free): Flush the filter log to make + Tuomas happy :-) + + * mail-session.c (mail_session_flush_filter_log): New convenience + function to flush the session's filter log file. + + * mail-callbacks.c (mail_reply): Set the Seen flag as well since + it's safe to assume that if the user has replied to an email + message that he has read it. Not always true, but usually ;-) + + * folder-browser.c (on_right_click): If we are in a + Sent/Drafts/Outbox folder, don't show the "Add Sender to + Addressbook" menu item. + +2002-05-06 Not Zed <NotZed@Ximian.com> + + * component-factory.c (idle_quit): Check all threads are idle as + well, using new e_thread_busy call. Should fix #22553? Also + sleep a little bit, to let the other threads run. + +2002-05-01 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-gui.c (sig_new_text): Update the code to actually + work. + (sig_new_html): Same. + + * mail-composer-prefs.c (mail_composer_prefs_new_signature): Allow + 'prefs' to be NULL. + + * folder-browser.c (on_right_click): Fix the filter_menu static + array to use the E_POPUP_MENU_CC macros since we plan on using + custom closures for this. + (on_right_click): Fixed so that you can "Edit as New" for any Sent + folder and not just the local Sent folder. + +2002-05-01 Not Zed <NotZed@Ximian.com> + + * folder-browser.h (FOLDER_BROWSER_IS_DESTROYED): Also check + folder!=NULL. Fixes race where folder isn't setup yet, and + neither is bonobo menu status (because its delayed), and we get a + menu event before we're setup yet. For bug #21939. + +2002-04-30 Dan Winship <danw@ximian.com> + + * mail-callbacks.c (delete_msg): If the folder's permanent_flags + don't include CAMEL_MESSAGE_DELETED, don't do anything. (In + particular, don't move the cursor.) + +2002-04-29 Jeffrey Stedfast <fejj@ximian.com> + + * message-tag-followup.c (message_tag_followup_append_message): + Convert UTF-8 to gtkstrings since we are using a clist and not an + E-widget that takes UTF-8. + + * mail-display.c (mail_display_add_url): If the data-urls is NULL, + add a data-urls hash to the datalist. This finishes up bug #90. + + * mail-account-gui.c (save_service): Strip leading/trailing + whitespace from the username because users sometimes accidently + add extra spaces here and there. Fixes bug #24009 (along with a + number of other "bugs"). + (mail_account_gui_auto_detect_extra_conf): Use a CamelURL instead + of a GHashTable *settings. Also parse out the port # from the + hostname. + +2002-04-29 Larry Ewing <lewing@ximian.com> + + * mail-composer-prefs.c (mail_composer_prefs_construct): clean up + propmanager initialization code. + + * mail-preferences.c (mail_preferences_construct): small clean + ups to propmanager code. + + * mail-config-factory.c (config_control_factory_cb): handle + requests for the font manager control. + + * mail-config.glade: add fonts tabs and reorder composer options + to match the new dialogs from anna. + + * GNOME_Evolution_Mail.oaf.in: add font manager control definition. + + * mail-composer-prefs.c (mail_composer_prefs_construct): hook to + the gtkhtml propmanager. + (mail_composer_prefs_apply): apply propmanager changes. + (mail_composer_prefs_finalise): unref the propmanager. + + * mail-composer-prefs.h: add propmanager member. + + * mail-font-prefs.c: initialize gui properly. + + * mail-preferences.c (mail_preferences_construct): hook to + gtkhtml's propmanager. + (mail_preferences_apply): apply propmanager changes. + (mail_preferences_finalise): unref the propmanager. + + * mail-preferences.h: add propmanager member. + + * Makefile.am (evolution_mail_SOURCES): add mail-font-prefs.[ch] + to the build. + + * mail-tools.c (mail_tool_quote_message): use the html reply logic + even for plain parts so that we can test out the new gtkhtml cite logic. + + * importers/evolution-mbox-importer.c (process_item_fn): add const + to silence warning. + + * mail-display.c: add gtkhtml.h include so to pick up the + object_relative prototype. + +2002-04-26 Larry Ewing <lewing@ximian.com> + + * mail-font-prefs.c: Add the font config dialog. + + * mail-font-prefs.h: add font config dialog headers. + +2002-04-26 Jeffrey Stedfast <fejj@ximian.com> + + * Makefile.am: Don't link with libibex anymore, it's been + deprecated. + + * mail-callbacks.c (next_unread_msg): Do away with the + goto-next-folder stuff, it's very annoying. + + * mail-config-druid.c (extra_prepare): After building the extra + config options into a Gtk form, auto-detect any values that we can + and populate them by calling + mail_account_gui_auto_detect_extra_conf. + + * mail-account-gui.c (mail_account_gui_auto_detect_extra_conf): + New function to auto-detect the extra config options for a source. + +2002-04-24 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-gui.c (mail_account_gui_build_extra_conf): Allow + providers to override text entry boxes too. + (source_type_changed): Remove the logic to decide upon default + paths, these paths can now be set by the provider. + +2002-04-24 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser.c (label_menu): Update to use + E_POPUP_MENU_PIXMAP_WIDGET_ITEM_CC so that our callback gets + called without per-item closure rather than being called with NULL + and causing a segfault. + + * mail-account-gui.c (mail_account_gui_build_extra_conf): Set the + default Username label and handle the new + CAMEL_PROVIDER_CONF_LABEL enum allowing the provider to setup a + label. + +2002-04-23 Jeffrey Stedfast <fejj@ximian.com> + + * mail-accounts.c: Added back the checkmark icon for enabled + accounts. + (account_able_clicked): Don't reload the accounts list, that was + just lame. + +2002-04-22 Jeffrey Stedfast <fejj@ximian.com> + + * mail-display.c (mail_display_render): Plug-in Anna's html for + the flag-for-followup stuff. Finishes up bug #90. + +2002-04-19 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser.c (folder_browser_finalise): Free the + loading/pending/new/loaded_uid string buffers. + + * mail-config.c (config_read_signature): Free some temporary path + buffers. + + * mail-display.c (stream_write_or_redisplay_when_loaded): Ref the + html object here, this is an async handler so it's possible for + our caller (or someone else) to unref the html object before we + finish. + (load_content_free): Unref the async handler's ref of the html + object here. + (mail_display_new): Ref the html widget here so that we can be + sure that so long as the mail-display is "alive", so is the html + object. See bug #22328 for details. Basically, the message-browser + is being closed before the message gets loaded and so the html + object was being destroyed but the mail-display was still alive. + (mail_display_destroy): Unref the html object when the + mail-display is destroyed. + +2002-04-19 Anna Marie Dirks <anna@ximian.com> + + * mail-config.glade: Added yet more accelerators for the new config + dialog--this time for the composer pages + +2002-04-19 Anna Marie Dirks <anna@ximian.com> + + * mail-config.glade: Added a bunch of accelerators for the new config + dialog + +2002-04-18 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (redirect_get_composer): Removed all + Delivered-To headers before redirecting. Fixes bug #23635. + +2002-04-18 Radek Doulik <rodo@ximian.com> + + * mail-callbacks.c (do_mail_print): use default paper name in case + of wrong translation + +2002-04-15 Not Zed <NotZed@Ximian.com> + + * mail-identify.c (mail_identify_mime_part): Turn off the code + which downloads the part if we can't identify it. See discussion + in #11778. + +2002-04-17 Christopher James Lahey <clahey@ximian.com> + + * folder-browser.c, mail-display.c: Updated these to match the new + EPopupMenu. + +2002-04-17 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (handle_multipart_signed): Handle broken + multipart/signed parts such as where the signature part is not the + last part (as it should be). Fixes bug #23583. + + * folder-browser.c (message_list_drag_data_get): Free the temp + GByteArrays. + +2002-04-17 Jeffrey Stedfast <fejj@ximian.com> + + * mail-local.c (mail_local_folder_construct): Just use g_basename. + (mlf_finalize): Free the real_path. + + * folder-browser.c (on_right_click): Unref the GdkGC so we don't + leak it. + +2002-04-16 Jeffrey Stedfast <fejj@ximian.com> + + * mail-tools.c (mail_tool_destroy_xevolution): Free the format + string. + + * mail-config.c (config_write_signature): Don't leak the path + strings here. + + * mail-signature-editor.c (menu_file_save_cb): Free the dirname + string. + + * mail-config-factory.c (config_control_factory_cb): Ref the prefs + widget here since we unref in the destroy callback. Caught this + thanks to purify. + +2002-04-13 Jeffrey Stedfast <fejj@ximian.com> + + * mail-accounts.c: Build fixes for --enable-nntp. + +2002-04-13 Christophe Merlet <redfox@eikonex.org> + + * mail-config.glade: Little typo. s/IS0/ISO/ + +2002-04-12 Jeffrey Stedfast <fejj@ximian.com> + + * mail-composer-prefs.c (mail_composer_prefs_construct): Make it + so that unchecking the "Enable Advanced Options" in the signature + tab disables the advanced settings and vise versa. + + * mail-accounts.c (mail_accounts_tab_construct): Setup News + preferences too if it is enabled. + + * mail-account-gui.c (mail_account_gui_new): Set the text of the + reply-to. + (mail_account_gui_save): Get the reply-to text here. + (mail_account_gui_identity_complete): If there is text in the + reply-to widget make sure it's valid. + + * mail-config.c (identity_copy): Copy the reply-to. + (config_read): Read in the reply-to for all the accounts. + (mail_config_write): Save the reply-to. + (impl_GNOME_Evolution_MailConfig_addAccount): Get the reply-to. + (identity_destroy): Free the reply-to. + +2002-04-11 Jeffrey Stedfast <fejj@ximian.com> + + * message-list.etspec: s/Sent/Date. This fixes bug #11159. + +2002-04-10 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (confirm_expunge): Set the 'No' button as the + default. + +2002-04-10 Dan Winship <danw@ximian.com> + + * mail-config.c (config_read, mail_config_write, + mail_config_get_x_mailer_display_style, + mail_config_set_x_mailer_display_style): Handle the X-Mailer + display style. (There is currently no GUI for configuring this.) + + * mail-format.c (write_headers, write_xmailer_header): Show + X-Mailer/User-Agent (and Rupert's stamp of approval) as + appropriate. + +2002-04-09 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-gui.c (setup_service): Kludge around the brokeness + that is GtkOptionMenu just like we kludge around it for the + authtype option menu. + +2002-04-09 Dan Winship <danw@ximian.com> + + * component-factory.c (create_view): Add view_info arg, but don't + do anything with it. + +2002-04-08 Not Zed <NotZed@Ximian.com> + + * mail-send-recv.c (receive_update_got_folderinfo): Argh! + get_folder_info owns and frees its *OWN* folder info, it shouldn't + be free'd here! See mail-ops.c:get_folderinfo_free. + This should fix #17259 and friends. + +2002-04-08 Jeffrey Stedfast <fejj@ximian.com> + + * mail-signature-editor.c (menu_file_save_cb): Simplify a bit and + write to a temp file first and then rename() it to the real + filename. This protects against losing data if the drive is full + too. Also use a real mode, not 0, so that we can actually + save/read the content ;-) + + * GNOME_Evolution_Mail.oaf.in: Re-added the config wizard + interfaces. Ettore accidently removed them thinking they were + duplicates of the new mail-config interfaces. + + * mail-config.glade: Remove the OK, Apply, Cancel buttons from the + keyboard shortcut tab in the composer_prefs dialog. + + * mail-account-gui.c: No need to check gui->source before using + gui->source->url, since gui->source *has* to exist. + +2002-04-06 JP Rosevear <jpr@ximian.com> + + * GNOME_Evolution_Mail.oaf.in: add config_item:type + +2002-04-04 Dan Winship <danw@ximian.com> + + * mail-account-gui.c (mail_account_gui_new): Make the drafts and + sent folder buttons be EvolutionFolderSelectorButtons. Remove the + code to deal with drafts_folder_name and sent_folder_name, since + they were only used to construct the button and aren't needed now. + (mail_account_gui_save): Remove drafts/sent name references. + (mail_account_gui_destroy): Likewise + (folder_selected): Handle the "selected" signal on the folder + selector button by updating the URI in the MailAccountGui. + (mail_account_gui_folder_selector_button_new): Glade custom widget + constructor. + + * mail-callbacks.c (transfer_msg): Update for + evolution_shell_client_user_select_folder change. + + * message-browser.c (transfer_msg): Likewise. (Sigh. Why is this + cut+pasted?) + + * mail-config.glade: Make the drafts/sent folder buttons custom + widgets. + + * mail-config.c (account_copy): Remove drafts/sent folder name + handling. + (account_destroy): Likewise. + (config_read): Likewise. + (mail_config_write): Likewise. + + * Mail.idl (MailConfig:Account): remove drafts_folder_name and + sent_folder_name. + +2002-04-03 Jeffrey Stedfast <fejj@ximian.com> + + * message-tag-followup.c (construct): Set the window title/icon + here instead. + + * message-tag-editor.c (message_tag_editor_init): Don't set the + title or window icon here, this is a generic class. + + * mail-format.c (handle_multipart_signed): Replace + get_url_for_icon with the new mail_display_get_url_for_icon + function. + (handle_multipart_digest): Here too. + (get_cid): Use mail_display_add_url instead. + (get_location): Same. + (handle_text_enriched): Here too. + (handle_multipart_signed): And here. + + * message-tag-followup.c (message_tag_followup_i18n_name): Use the + U_() macro, not the _() macro as it is what we really want. + + * mail-ops.c (mail_send_message): Don't cast the message into a + CamelMedium before sending anymore. + + * mail-callbacks.c (expunge_folder): Set the followup argument to + NULL here. + (done_message_selected): Get the followup value here and pass it + to the mail-display here. + (do_mail_fetch_and_print): Again with the NULL followup here. + + * folder-browser.c (folder_browser_set_message_preview): Update to + pass in NULL as the followup since we are setting the message to + NULL here. + (done_message_selected): Get and set the appropriate followup + value here. + (do_message_selected): Update to pass in NULL as the followup + since we are setting the message to NULL here. + + * mail-display.c (mail_display_set_message): Now takes a followup + tag value. + (mail_display_init): Set md->followup to NULL. + (mail_display_destroy): Free md->followup. + (mail_display_add_url): New: replaces the static add_url function + originally in mail-format.c + (mail_display_get_url_for_icon): New: replaces get_url_for_icon + which was originally in mail-format.c + +2002-04-03 Dan Winship <danw@ximian.com> + + * mail-account-gui.c: Changes to allow combined store/transport + providers (like exchange and nntp). You can only select the + transport if the account is also using that provider for the + source. + (source_type_changed): If changing away from a combined + store/transport type, disable that provider on the transport page. + If change to a combined store/transport type, enable and select + that provider on the transport page. + (mail_account_gui_setup): Do some additional bookkeeping here to + make the above stuff work. + (transport_type_changed): If the provider is a combined + store/transport type, pretend it doesn't need any additional URL + configuration. + (mail_account_gui_transport_complete): if the transport provider + is also a store provider, then as long as it matches the source + for the account, it's considered complete. + (mail_account_gui_save): If the selected transport is a combined + store/transport provider, use the source page's information to + fill in the transport url. + + * mail-local.c (mail_local_provider_init): Don't set up + service_cache. + +2002-04-02 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (do_edit_messages): Pass the UID of the message + being edited to the save-draft signal handler. + (composer_save_draft_cb): Pass the old draft uid to our async + append_message function and let the append_message callback worry + about deleting the old draft message on success. + (save_draft_done): Delete the old draft message if we successfully + appended the new draft message. + +2002-04-01 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser-ui.c: Removed an unused pixmap from + Tools/Settings to avoid a big nasty bonobo warning. + + * mail-composer-prefs.c (mail_composer_prefs_construct): + Re-Implemented the signature editor stuff (mostly just copy/paste + from Radeks original code). + + * mail-signature-editor.c (mail_signature_editor): Use the right + oafiid for the html editor control. + +2002-04-01 Dan Winship <danw@ximian.com> + + * importers/Makefile.am (liboutlook_la_LDFLAGS, + libmbox_la_LDFLAGS): Use -avoid-version -module. (From Max Horn + <max@quendi.de>) + +2002-03-29 Ettore Perazzoli <ettore@ximian.com> + + * GNOME_Evolution_Mail.oaf.in: Added priorities for all the + configuration pages [evolution:config_item:priority]. + +2002-03-29 Jeffrey Stedfast <fejj@ximian.com> + + * mail-preferences.c (colorpicker_get_color): Don't shift the r, g + and b values here either. + + * mail-composer-prefs.c (colorpicker_get_color): Don't shift the + r, g, b values. + + * mail-preferences.c (mail_preferences_construct): Restore the + labels & colours options from the grave. + (mail_preferences_apply): Save these labels & colours options. + +2002-03-29 Jeffrey Stedfast <fejj@ximian.com> + + * mail-composer-prefs.c (mail_composer_prefs_construct): Same + here. + + * mail-preferences.c (mail_preferences_construct): Do some gtk + hackery action so we can detect if a option menu has changed. + +2002-03-29 Ettore Perazzoli <ettore@ximian.com> + + * GNOME_Evolution_Mail.oaf.in: Cleaned up a bunch [removing + duplicates ;-)], set up icons for all the configuration pages. + +2002-03-28 Jeffrey Stedfast <fejj@ximian.com> + + * mail-accounts.c: Use a GtkCList instead of an ETable, for some + reason the etable was getting into some infinite resize loop or + something. I probably did something wrong but I can't figure out + what so I'm using a clist for now. + (account_cursor_change): Make sure that event is non-NULL here. + +2002-03-27 Ettore Perazzoli <ettore@ximian.com> + + * mail-accounts.c (mail_accounts_tab_construct): Use + gtk_container_add() to put the toplevel in the parent widget, + instead of just gtk_widget_set_parent(). + * mail-preferences.c (mail_preferences_construct): Likewise. + * mail-composer-prefs.c (mail_composer_prefs_construct): Likewise. + +2002-03-27 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (mail_generate_reply): Updated to respect the + new mail-config options for default reply style that NotZed had + started to implement before there was a gui. + +2002-03-27 Dan Winship <danw@ximian.com> + + * mail-display.c (do_attachment_header): unset GTK_CAN_FOCUS on + the button so that it can't grab focus when you click it. + (do_signature): Likewise on the signature button. #3904 + +2002-03-26 Jeffrey Stedfast <fejj@ximian.com> + + Sync with yet-another-mail-config branch. + + * mail-composer-prefs.c: Updated to get the right widgets and + whatnot. Also updated to tell the evolution-config-control that + stuff has changed. + + * mail-preferences.c: Updated to get the right widgets and + whatnot. Also updated to tell the evolution-config-control that + stuff has changed. + + * mail-accounts.etspec: New file needed by mail-accounts.c + +2002-03-26 Not Zed <NotZed@Ximian.com> + + * mail-callbacks.c (addrbook_sender): Changed to get the address + from the messageinfo of the current selected message rather than + from the current_message. + (requeue_mail_reply): Only re-queue if we got a message, could + potentially cause an infinite loop trying to get a message it + can't. + (reply_to_sender, reply_to_list, reply_to_all): Always pass NULL + as the msg to mail_replay, this forces mail_reply to always load + the message anew. Fixes FIXME's and popup behaviour. Basically + this and stuff below fixes #8542. Its probably not the nicest + way, but it works. + (mark_as_important): Use the flags properly, we can set all flags + to any combination of on or off as we want, so we just need to + call set_flags once, thats why its set flags and not set_option. + (toggle_flags): Fixed the logic here also, so we dont have to call + set_message_flags more than once, and also implement a true toggle + for any number of simultaneous flags (whilst simplifying code). + + * mail-vfolder.c (vfolder_gui_add_from_mlist): Removed the 'msg' + parameter, its not used, fixed callers. + + * folder-browser.c (on_right_click): Lookup the mlist from + messageinfo, and change the 'no selected' logic slightly, fixes + most of #8542. + (filter_data_free): Free filter data struct. + (vfolder_type_got_message): Actually create vfolder once we have + the message we need to use for it. Code could probably be changed + to use messageinfo instead. + (vfolder_type_uid): Lookup a message based on uid, and use that to + create a vfolder based on type. + (vfolder_subject_uid, vfolder_sender_uid, vfolder_receipient_uid, + vfolder_mlist_uid): Callbacks for the popup menu, used to create + rules based on the uid rather than the message, which it loads as + required. + (filter_type_got_message, filter_*_uid): Similar to vfolder + stuff above. + (filter_menu[]): Changed callbacks to popup specific ones, not + folderbrowser specific ones used by bonobo. + (on_right_click): Initialise callback data for the filter submenu + so it can look up messages for callback implementation. + + * local-config.glade: New version from anna, with fixed widget + names. + +2002-03-20 Ettore Perazzoli <ettore@ximian.com> + + * folder-browser.c: Reorder folder_browser_search_menu_items + according to #16246. + +2002-03-24 Ettore Perazzoli <ettore@ximian.com> + + * mail-send-recv.c: Remove member current_folder from struct + _send_data. + (build_dialogue): Remove arg @current_folder. + (mail_send_receive): Likewise. + (free_send_data): No need to refresh the current folder here. + [Well, hopefully, at least.] + + * component-factory.c (send_receive_callback): New. + (create_component): Connect. + + * mail-callbacks.c (send_receive_mail): Removed. + + * folder-browser-ui.c: Remove "MailGetSend" verb. + +2002-03-22 Jeffrey Stedfast <fejj@ximian.com> + + * GNOME_Evolution_Mail.oaf.in: Add info about the new config + controls. + + * mail-config-factory.c: New file to handle the creation/etc of + the config controls. + + * mail-accounts.c: + + * mail-preferences.c: + + * mail-composer-prefs.c: No longer handle their own bonobo control + creation. + +2002-03-22 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-gui.c (sig_new_text): Temporarily #if 0 this + function out. + (sig_new_html): Same. + + * mail-config.c (config_read): Read in the default reply style + setting. + (mail_config_write_on_exit): Same the default reply style. + (mail_config_get_default_reply_style): New function to get the + default reply style. + (mail_config_set_default_reply_style): New function to set the + default reply style. + + * folder-browser-ui.c: There is no longer a Tools/Mail Settings + menu item. + + * mail-account-gui.c: Updated the widget types for the + MailAccountsDialog->MailAccountsTab change. + + * mail_account_editor.c: Same. + + * mail-callbacks.c (providers_config): Removed. + + * mail-composer-prefs.c: New file that implements the composer + preferences tab of anna's new config design. + +2002-03-21 Jeffrey Stedfast <fejj@ximian.com> + + * mail-accounts.c: Reimplemented. This time we only have to worry + about accounts. Also this now implements Annas config gui changes. + + * mail-preferences.c: Implements the mailer's Preferences tab in + Anna's new config GUI. + +2002-03-19 Larry Ewing <lewing@ximian.com> + + * mail-display.c: add missing NULL closure data to popup menu + initialization. + +2002-03-19 Dan Winship <danw@ximian.com> + + * Makefile.am (evolution_mail_LDADD): s/libversit.la/libversit.a/ + +2002-03-18 Ettore Perazzoli <ettore@ximian.com> + + * main.c (main): Report a message before entering bonobo_main() to + simplify debugging. + +2002-03-18 Ettore Perazzoli <ettore@ximian.com> + + * folder-browser.c: Remove E_FILTERBAR_RESET menu entry. + +2002-03-15 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser.c (on_right_click): Draw colour rectangles for + each of the colour items and set a closure on each. + (colourise_msg): colourise the message, yo. + +2002-03-15 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (colour_msg): New callback to set a colour on a + message. + + * folder-browser.c (on_right_click): Setup our popup icons and + stuff. Also add a submenu for Labels. + + * mail-display.c (pixmap_press): Sync up with the new EPopupMenu + API. Note: This code can probably now be fixed to use per-item + closures - yay! + + * mail-accounts.c (construct): Connect to the label GtkEntry's and + GnomeColorPickers and also to the Restore Defaults button. + + * mail-config.c (mail_config_get_label_name): New function to get + a label's name. + (mail_config_set_label_name): New function to set the label name. + (mail_config_get_label_color): New function to get the label + color. + (mail_config_set_label_color): New function to set the label + color. + (config_read): Read in the config options for the labels and their + colors. + (mail_config_write_on_exit): Save the label options. + +2002-03-15 Larry Ewing <lewing@ximian.com> + + * mail-display.c: expand the relative urls of the object at the + point so that relative images can be saved correctly. + + * folder-browser.c: add a closing quote in a comment. + +2002-03-15 Ettore Perazzoli <ettore@ximian.com> + + * folder-browser-factory.c (control_activate): Set the UI + component on the search bar. + +2002-03-14 Dan Winship <danw@ximian.com> + + * component-factory.c (folder_types): Remove "mailstorage", since + it's not needed any more. + (storage_activate): Gone, although some of it is moved to + storage_connect. + (create_view): Remove mailstorage code. + (add_storage): Connect to the storage's open_folder signal. + Instead of creating a "mailstorage" folder, call + evolution_storage_has_subfolders to let the shell know we haven't + finished filling it in yet. + (storage_connect): Handler for the storage's asyncOpenFolder + signal. Call mail_note_store() to try to connect. + (storage_connected): Callback for above. If the connection attempt + failed, call evolution_storage_has_subfolders again to make the + shell re-close the storage. + + * mail-folder-cache.c (update_folders): Remove a piece of + mailstorage legacy code from here. + +2002-03-14 Radek Doulik <rodo@ximian.com> + + * mail-config.c (get_new_signature_filename): create new signature + file + (delete_unused_signature_file): be more careful about signature + file path before unlinking + +2002-03-14 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (next_thread): Implemented. + + * message-list.c (message_list_select_next_thread): New function + to select the next thread. + +2002-03-13 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser-window.c (folder_browser_window_new): Set a + default size of the window, so we don't get this itty-bitty window + the size of a quarter on the screen when it first gets shown. + +2002-03-12 Jeffrey Stedfast <fejj@ximian.com> + + * mail-display.c (on_link_clicked): Handle digest: urls. + + * mail-format.c (setup_mime_tables): Add a handler for + multipart/digest. + (handle_multipart_digest): Handle multipart/digest parts. + +2002-03-12 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser.c (folder_browser_set_folder): Set the folder on + a folder-browser object. + + * folder-browser-window.c (folder_browser_window_new): Simple + window to display a folder-browser. + + * mail-callbacks.c (view_digest): New callback to open a + folder-browser-window with a digest folder. + +2002-03-08 Radek Doulik <rodo@ximian.com> + + * mail-signature-editor.c (menu_file_save_cb): truncate stream + before saving + + * mail-config.c (mail_config_signature_set_html): new function + + * mail-accounts.c (sig_event_client): watch for HTML changed event + + * mail-signature-editor.c: added HTML check menu item to Format + menu + +2002-03-08 Dan Winship <danw@ximian.com> + + * mail-config-druid.c (management_prepare): Rewrite this to not + use stpcpy, which isn't portable. + +2002-03-08 Radek Doulik <rodo@ximian.com> + + * mail-accounts.c (sig_event_client): handle name changed event + (sig_load_preview): don't run script before each reload + (sig_script_activate): run script only if script entry is + activated + + * mail-signature-editor.c (mail_signature_editor): added signature + name entry + +2002-03-07 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config-druid.c (management_changed): Re-focus the account + name entry widget. + (identity_prepare): If a name is not set, try and get the user's + full name for them and set the text on the entry widget. + (management_prepare): If the account name is already taken, + generate a unique one by appending " (%d)". + +2002-03-07 Radek Doulik <rodo@ximian.com> + + * mail-account-gui.c (sig_new_html): make edit button sensitive + after new signature is created + (sig_new_text): ditto + +2002-03-07 Anna Marie Dirks <anna@ximian.com> + + * folder-browser.c: Made all the acclerators in the context menu + on a message work. (There are 22 different menu items here, so + picking a unique accelerator for each label was tricky, and some + of the choices I made are different from the ones I would have + made if there weren't so many stinking menu items.) + +2002-03-07 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config.c (config_import_old_signatures): Don't use an + uninitialized 'id'. + +2002-03-07 Radek Doulik <rodo@ximian.com> + + * mail-signature-editor.c: notify accounts dialog about signature + content change + + * mail-accounts.c (run_script): run script only if file regular + file exists and has x flag + + * mail-signature-editor.c (mail_signature_editor): set initial + focus to editor + (do_exit): use hasUndo to avoid question dialog when content is + unchanged + +2002-03-07 Dan Winship <danw@ximian.com> + + * component-factory.c (add_storage): Update for storage changes: + explicitly create a root folder. + +2002-03-06 Dan Winship <danw@ximian.com> + + * mail-display.c (mail_display_render): Fix the "don't scroll back + to the top of the HTML widget when opening an attachment" hack + again by moving it here from mail_display_redisplay(). (It has to + happen after the gtk_html_begin.) + (mail_display_redisplay): Pass reset_scroll arg to + mail_display_render. + + * mail-callbacks.c (do_mail_print): Pass reset_scroll (TRUE) to + mail_display_render. + +2002-03-05 Dan Winship <danw@ximian.com> + + * folder-browser-ui.c: Don't try to set pixmap for + /Toolbar/MailCompose, since it doesn't exist any more. + +2002-03-05 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-gui.c (save_service): "use_ssl" can now be 3 + options, modify the code to handle this. + (setup_service): Toggle the correct ssl option. + (source_type_changed): Show/hide the ssl hbox container widget. + (transport_type_changed): Same. + +2002-03-05 Dan Winship <danw@ximian.com> + + * mail-folder-cache.c (mail_note_store): Pull up assertion change + from evolution-1-0-branch to allow external storages. + +2002-03-04 Jeffrey Stedfast <fejj@ximian.com> + + * mail-accounts.c (mail_unselect): If the clicked column was + column 0, enable/disable it. + (mail_select): Same. + + * mail-display.c (load_http): Added more debugging code to help + figure out why a certain image isn't loading - looks like + gnome-vfs is getting a premature EOF? + + * folder-browser.c (my_folder_browser_init): Connect to the + focus-in/out events on the message-list so that we can disable the + EditInvertSelection and EditSelectThread menu items when the + message-list is not in focus. + + * folder-browser-ui.c (folder_browser_ui_message_list_unfocus): + New function to de-sensitize some items if the message-list is not + in focus. + (folder_browser_ui_message_list_focus): New function to sensitize + some items if the message-list is not in focus. + + * mail-callbacks.c (invert_selection): Only invert the selection + of the message-list if it is the widget in focus. + + * message-list.c (message_list_select): Do not explicitly grab the + focus here. + +2002-03-04 Ettore Perazzoli <ettore@ximian.com> + + [Fix #19303.] + + * mail-ops.c (mail_send_message): Set X-Mailer to say "Ximian + Evolution", not just "Evolution". + +2002-03-01 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (forward_message): Forward all selected + messages. Fixes bug #21190. + +2002-02-26 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (handle_text_html): Get the Content-Base if the + header exists and use gtk_html_set_base to set this base url. + + * mail-display.c (on_link_clicked): No longer need to calculate + the full url. This is now handled by GtkHTML. + (on_set_base): Removed. + (on_url_requested): No longer need to calculate the full url. + (mail_display_initialize_gtkhtml): Don't connect to the set_base + signal anymore. We don't care. + + * mail-display.h: No longer need base_url (it was broken anyway). + +2002-02-26 Not Zed <NotZed@Ximian.com> + + * mail-display.c (on_url_requested): If a related part is + requested, remove it from the related undisplayed list. + + * mail-format.c (handle_multipart_related): Check if related parts + are displayed, if not, remove them. For #2741. + +2002-02-24 Chris Toshok <toshok@ximian.com> + + * folder-browser.c (folder_browser_search_do_search): rename + folder_browser_search_query_changed to this. + (folder_browser_gui_init): hook both query_changed and + search_activated up to folder_browser_search_do_search, preserving + current behavior. + +2002-02-22 Jeffrey Stedfast <fejj@ximian.com> + + * message-list.c (on_message_list_built): Removed, this wasn't + working as intended and seemed to break other features. + +2002-02-21 Ettore Perazzoli <ettore@ximian.com> + + * component-factory.c (create_component): Add an icon for the "New + message" user creatable item. + +2002-02-21 Jeffrey Stedfast <fejj@ximian.com> + + * message-list.c (on_message_list_built): Connect to our own + message_list_built signal. Focus the list and select the first + unread message (or frst message depending). Fixes bug #3900. + +2002-02-20 Anna Marie Dirks <anna@ximian.com> + + * message-tag-editor.c (message_tag_editor_init): Gave the editor + window a title and an icon. + +2002-02-20 Anna Marie Dirks <anna@ximian.com> + + * message-tags.glade: Changed the policy for table2 so that it + does not expand/fill. This was necessary to allow the message list + as much growing room as possible. (And besides, there's no reason for + table2 to expand/fill; its child widgets can't change size. + +2002-02-19 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (confirm_goto_next_folder): Prompt the user to + find out if he/she wants to go to the next folder with unread mail + in it. + (find_current_folder): Find a given CamelFolderInfo node based on + a given uri. + (find_next_folder_r): Recursively look for a CamelFOlderInfo node + which has unread messages. + (find_next_folder): Given a currently selected CamelFolderInfo + node, look for the next node containing unread messages. + (do_evil_kludgy_goto_next_folder_hack): Find the currently + selected folder and then find the very next folder after it that + contains unread messages and then select it via a CORBA call to + the shell. + (next_unread_msg): If we fail to find an unread message in the + message-list, prompt the user to find out if we should jump to the + next fodler containing unread messages. If so, call + do_evil_kludgy_goto_next_folder_hack(). + + * message-list.c (message_list_select): Return a boolean value + based on whether the call was successfull or not. + + * mail-config.c (mail_config_get_confirm_goto_next_folder): + (mail_config_set_confirm_goto_next_folder): + (mail_config_get_goto_next_folder): + (mail_config_set_goto_next_folder): All new functions, yay. + (config_read): Read in the confirm_goto_next_folder and + goto_next_folder config options. + (mail_config_write_on_exit): Same the options here. + +2002-02-15 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-gui.c (basename_from_uri): Ack, strip off the + leading '/' char and also only translate if it is a local uri, + imap folders and other external folders will be named by the user + so no need to translate those. + + * mail-display.c (do_attachment_header): Don't display a + down-arrow if the attachment is undisplayable. Fixes bug #6919. + (launch_cb): Some programs are buggy when it comes to parsing + file: uris, so make sure we do file://%s. Fixes bug #20456. + +2002-02-14 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-gui.c (basename_from_uri): Replacement for using + g_basename and also translates the basename string to fix bug + #7160. + (mail_account_gui_save): Use basename_from_uri(). + (folder_picker_clicked): Here too. + + * mail-callbacks.c (mail_generate_reply): Default the from-account + to the source account. If that fails, then guess the from-account + based on the recipients. Fixes bug #20479. + +2002-02-13 Jeffrey Stedfast <fejj@ximian.com> + + * mail-display.c (drag_data_get_cb): Implement. + (drag_data_delete_cb): Implement. + (do_attachment_header): Setup Drag & Drop. This implements + bugzilla bug #1066. + + * folder-browser-ui.c: Set the followup icon to use the new flag + icon rather than the exclamation mark icon. + + * mail-callbacks.c (flag_for_followup): Append the selected + messages to the clist in the followp editor. + + * message-list.c: Include the new flag-for-followup icon. + + * message-tag-followup.c (message_tag_followup_append_message): + New method to add a message to the message-list. + (construct): Get the message_list widget and load the flag icon + pixmap. + +2002-02-12 Jeffrey Stedfast <fejj@ximian.com> + + * message-tag-followup.c (set_widget_values): Fixed a bug. + + * mail-callbacks.c (flag_for_followup): If only 1 message is + selected and it happens to already be marked for follow-up, set + the value of the flag on the editor so the settings are restored. + + * folder-browser-ui.c: Set the pixmaps on MarkAsRead, MarkAsUnread + and MarkAsImportant bonobo verbs. Also connect to + flag-for-followup verb. + (folder_browser_ui_set_selection_state): Added MessageFollowUpFlag + verb to the array of verb strings. + + * folder-browser.c: Set key accelerators on the follow-up + right-click menu items to match Outlook. + +2002-02-12 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (create_msg_composer): No longer need to call + e_msg_composer_show_sig_file(). This gets handled auto-magically + by a signal emition when the default From address chooser gets + created. + (do_forward_non_attached): No longer need to call it here either + because e_msg_composer_set_body_text() now makes sure to re-show + the signature. + +2002-02-12 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (do_forward_non_attached): Show the signature. + +2002-02-11 Jeffrey Stedfast <fejj@ximian.com> + + * message-list.c (ml_tree_value_at): Get followup-up message-list + values. Also highlight the message in red if the due-by date is + past due (this is what Outlook does). + (ml_duplicate_value): Handle follow-up columns. + (ml_free_value): Same. + (ml_initialize_value): Here too. + (ml_value_is_empty): And here. + (ml_value_to_string): And finally here. + + * message-tag-followup.c (message_tag_followup_i18n_name): New + convenience function. + +2002-02-11 Radek Doulik <rodo@ximian.com> + + * mail-callbacks.c (create_msg_composer): unset changed, drop + editor undo + (mail_generate_reply): drop editor undo + (do_forward_non_attached): ditto + (do_forward_attach): ditto + (do_redirect): ditto + +2002-02-11 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser.c (followup_tag_complete): Implemented. + (on_right_click): Do better enabling/hiding of unwanted + flag-for-followup options. + +2002-02-09 Jeffrey Stedfast <fejj@ximian.com> + + * message-tag-followup.c (set_widget_values): Set the correct + drop-down menu item. + (message_tag_followup_encode): Return NULL if the type is NONE. + (clear_clicked): Set the drop-down menu to None. + (type_changed): Hide the None menu item. + (construct): Create a None menu item and set it as the default. + +2002-02-08 Jeffrey Stedfast <fejj@ximian.com> + + * message-tag-followup.[c,h]: New flag-for-followup tag editor + dialog. + + * mail-callbacks.c (flag_for_followup): New callback that pops up + a flag-for-followup editor dialog. + (flag_followup_completed): Marks all flag-for-followup'd messages + as 'complete'. + (flag_followup_clear): Clears all flag-for-followup tags from the + selected messages. + + * message-tags.glade: glade file for tag editors. + +2002-02-08 Jeffrey Stedfast <fejj@ximian.com> + + * message-tag-editor.[c,h]: Base class for a message tag editor. + + * folder-browser.c (on_right_click): Setup the hide/enable masks + for "Flag for Follow-up" + + * mail-callbacks.c (confirm_expunge): Instead of hiding deleted + messages and then expunging, disable the use of the message-list + completely during the expunge operation. + (expunged_folder): Re-enable the use of the message-list widget + here. + +2002-02-07 Radek Doulik <rodo@ximian.com> + + * mail-callbacks.c (mail_generate_reply): call set_body later to + allow ignored words to be sent to gtkhtml control ahead + +2002-02-07 JP Rosevear <jpr@ximian.com> + + * component-factory.c (create_component): remove "New" from user + creatable menu item + +2002-02-07 Christopher James Lahey <clahey@ximian.com> + + * folder-browser.c, folder-browser.h, folder-browser-ui.c, + folder-browser-ui.h + (folder_browser_ui_setup_view_menus, + folder_browser_ui_discard_view_menus): Changed this to use the new + GalViewMenus stuff. Made these exported functions. + + * mail-callbacks.c, message-browser.c: Changed these to not pass + the now removed row parameter to message_list_select. + + * mail-config.c, mail-config.h (mail_config_folder_to_safe_url): + Refactored this out of mail_config_folder_to_cachename. + + * message-list.c, message-list.h (message_list_select): Removed + the row argument. Changed this to use the new function in ETree + for finding the next cursor row that matches a test. + (message_list_construct): Handle a failed construction of the + ETree here. + (message_list_setup_etree, save_tree_state): Don't load or save + the header state. folder-browser-ui.c deals with this now. + +2002-02-06 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-gui.c (mail_account_gui_new): Rearranged the #if + checks so that we don't ever try to access any smime widgets + (since they are now being destroyed) if smime isn't enabled. + (mail_account_gui_save): Same here. + + * message-list.c: Removed references to NEEDS_REPLY. + + * mail-callbacks.c (mark_as_needing_reply): Removed. + (mark_as_not_needing_reply): Removed. + (toggle_need_reply): Removed. + + * folder-browser.c (on_right_click): Remove CAN_MARK_NEEDS_REPLY + stuff, this is going to be implemented in an entirely different + way. + + * mail-format.c (handle_text_plain): Look for DOCTYPE XML comments + too to decide if the message content is really HTML. + +2002-02-06 Not Zed <NotZed@Ximian.com> + + * mail-callbacks.c (mail_generate_reply): Dont double-free the + text body data. + +2002-01-31 Not Zed <NotZed@Ximian.com> + + * mail-callbacks.c (mail_generate_reply): Add attachments after + we've seen if the composer object is valid. + (mail_generate_reply): Support new flag REPLY_NO_QUOTE - if set, + then dont quote any of the message in the reply. + +2002-02-02 Ettore Perazzoli <ettore@ximian.com> + + * mail-account-gui.c (mail_account_gui_new): Destroy the S/MIME + frame if not available, instead of just graying it out. [I would + just hide it, but it looks like there is a show_all somewhere so + that doesn't work.] + +2002-02-02 Ettore Perazzoli <ettore@ximian.com> + + * mail-config.glade: Some touchups from me and Anna. + +2002-01-31 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (composer_get_message): Don't bother setting + the auto-cc/bcc recipients here. I'm moving the code to add them + in the GUI in the composer so they will already be in the + recipient list by this point. + +2002-01-31 Radek Doulik <rodo@ximian.com> + + * mail-callbacks.c (mail_generate_reply): ignore spell checking of + words in addresses, move set_body_text after all ignored words are + set so we don't have to spell check whole document again + (mail_ignore_address): helper function + (mail_ignore): ditto + +2002-01-30 Jeffrey Stedfast <fejj@ximian.com> + + * mail-accounts.c (mail_edit): Pass the parent window to + mail_account_editor_new(). + + * mail-account-editor.c (mail_account_editor_new): Set the parent + window here because construct() inadvertantly + gtk_widget_show_all's the editor. + + * mail-account-gui.c (mail_account_gui_save): Use g_basename() + rather than strrchr for '/' especially since the strrchr code + wasn't doing any NULL checks. + +2002-01-30 Radek Doulik <rodo@ximian.com> + + * mail-format.c (handle_text_plain_flowed): print quoted text in + italic + +2002-01-30 Not Zed <NotZed@Ximian.com> + + * component-factory.c (create_component): re-enable popup menu. + (populate_folder_context_menu): If we're on a vfolder, and its not + UNMATCHED, create a change properties item, and set it up + approriately. + (change_prop_popup): Callback to edit the vfolder rule. For + #3358. + +2002-01-29 Dave West <kat@unleashed.org> + + * mail-callbacks.c (create_msg_composer): Changed the function + signature so that we can pass in whom we want to compose as. + Should fix bug #10391. + (compose_msg): Get the current profile account and pass it along + to create_msg_composer. + (send_to_url): Pass in a NULL profile account to cause + create_msg_composer to use the default account. + +2002-01-29 Jeffrey Stedfast <fejj@ximian.com> + + * mail-ops.c (mail_send_message): Make X-Evolution-Account take + priority over X-Evolution-Transport. Should we just get rid of + X-Evolution-Transport? Anyways, this ought to fix a number of + complaints. + + * mail-accounts.c (construct): Don't pass NULL text to + gtk_entry_set_text. Maybe this will fix bug #18971. + +2002-01-29 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (redirect): New function that implements the + Redirect feature. + + * mail-ops.c (mail_send_message): If we are redirecting a message, + get the Resent-* recipients otherwise get the normal To/Cc/Bcc + recipients and use them in the CamelTransport::send_to() method. + + * mail-session.c (main_get_filter_driver): Set the beep_func to + the beep_cb, not the play_sound_func. Oops ;-) + + * folder-browser-ui.c: Add Redirect bonobo verb thingy here. + (folder_browser_ui_set_selection_state): Add MessageRedirect to + the proper string arrays. + +2002-01-29 Radek Doulik <rodo@ximian.com> + + * mail-callbacks.c (do_mail_print): initialize line to 0 to make + everybody happy ;-) + ops, set local_font to NULL + (do_mail_print): get rid of static global variables, as they are + not thread safe (thanks to clahey for pointing this out) + (footer_info_free): unref footer font + +2002-01-28 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (composer_get_message): Don't bother checking + for invalid recipients anymore. If a recipient is invalid, the + transport error message will specify that now. + +2002-01-28 Radek Doulik <rodo@ximian.com> + + * mail-callbacks.c (do_mail_print): print footer + (footer_print_cb): print page number and number of pages + +2002-01-27 Ettore Perazzoli <ettore@ximian.com> + + * importers/Makefile.am: Use IMPORTERS_CFLAGS. + +2002-01-25 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-gui.c (delete_event_cb): We need to return a value + here. I think FALSE is fine (I hope). + + * mail-display.c (save_data_cb): Save the pathname. + (save_part): Use the new mail_config cruft to get the last used + save pathname. + + * mail-config.c (config_read): Read in last_filesel_dir string. + (mail_config_write_on_exit): Save the last_filesel_dir setting. + (mail_config_get_last_filesel_dir): New + (mail_config_set_last_filesel_dir): New + + * component-factory.c (destination_folder_handle_motion): Do some + NULL checking on the url before using it. + (destination_folder_handle_drop): Make sure the uri is non-NULL + before freeing. + +2002-01-24 Ettore Perazzoli <ettore@ximian.com> + + * Makefile.am: s/MAILER_CFLAGS/EVOLUTION_MAIL_CFLAGS/, + s/MAILER_LIBS/EVOLUTION_MAIL_LIBS/. + +2002-01-24 Jeffrey Stedfast <fejj@ximian.com> + + * mail-session.c (session_system_beep): This wrapper for gdk_beep(). + + * mail-account-gui.c (is_email): Don't bother trying to see if the + domain looks like a FQDN. + + * mail-callbacks.c (select_all): If the mail-display is in focus, + then select-all in the mail display rather than the + message-list. Fixes bug #19126. + +2002-01-23 Ettore Perazzoli <ettore@ximian.com> + + * component-factory.c (create_component): Pass a NULL icon to + `evolution_shell_component_add_user_creatable_item()'. + +2002-01-23 Jeffrey Stedfast <fejj@ximian.com> + + Implements bug #15692 + + * folder-browser.c (html_button_press_event): New callback that + checks to make sure that the mouse isn't over a link or image in + the html view and then calls the on_right_click handler after + getting the appropriate args. + (my_folder_browser_init): Connect to the button_press_event here. + +2002-01-23 Dan Winship <danw@ximian.com> + + * Makefile.am (INCLUDES): Define CAMEL_PROVIDERDIR to be the + configure.in-defined camel_providerdir. (Was supposed to have been + committed a month ago... oops.) + +2002-01-22 Jeffrey Stedfast <fejj@ximian.com> + + * mail-ops.c (mail_filter_folder): Now takes a boolean notify + argument. If this is *not* set, then remove the sound-notify + filter rule that mail-session adds. Kinda kludgy, but good enough + for the moment. + + * mail-callbacks.c (guess_me): Simplified. + +2002-01-21 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (handle_text_plain): If the first "token" in the + body is "<html>", then treat this as a text/html part rather than + a text/plain part. Fixes bug #16817. + + * component-factory.c (destination_folder_handle_drop): Removed + some unused variables. + +2002-01-17 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (try_uudecoding): Update to match new uudecode + interface (ie, no longer need a uulen state variable). + +2002-01-15 Jeffrey Stedfast <fejj@ximian.com> + + * mail-display.c (on_set_base): New callback to handle the + set_base signal. + (on_url_requested): If the base_url is set, prepend it to the data + url (we don't want to do this for cid urls or part urls tho). + (mail_display_init): Initialize md->base_url to NULL. + (mail_display_destroy): Free the base_url. + (mail_display_initialize_gtkhtml): Connect to the set_base signal. + (on_link_clicked): If the base_url is set, prepend it to the url + string passed to us from gtkhtml. + +2002-01-10 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (do_edit_messages): Don't remove any + X-Evolution* headers here, the composer already knows to ignore + these. Besides, it needs to know the X-Evolution-Format header. + +2002-01-08 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (composer_save_draft_cb): Do proper refcounting + on the draft folder. + + * message-list.c (message_list_select): When performing a + wraparound, check to see if the first (or last depending on + direction) message fits the selection criteria before telling + etable to find the next/previous matching node. + + * mail-account-gui.c (mail_account_gui_new): When connecting to + the transport username changed event, pass the gui->transport not + the gui->source. + +2002-01-08 Iain Holmes <iain@ximian.com> + + * importers/evolution-mbox-importer.c (string_to_int): Takes a hex + string and converts it to an int. + (get_info_from_mozilla): Creates a CamelMessageInfo structure from + the X-Mozilla-Status header. + (process_item_fn): Check for the X-Mozilla-Status header and if it + is present call get_info_from_mozilla. If get_info_from_mozilla + returns that the message was marked as deleted but never expunged + it isn't imported. + + * importers/mozilla-status-headers.h: Stuff Evolution cares about + from the mozilla header. + +2002-01-07 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config.c (mail_config_set_new_mail_notify_sound_file): Renamed. + (mail_config_get_new_mail_notify_sound_file): Renamed. + + * mail-accounts.c (notify_radio_toggled): Replace EXEC with + PLAY_SOUND. + (construct): renamed the exec_command stuff to play_sound. + + * main.c (main): Init and shutdown gnome_sound. + + * mail-ops.c (fetch_mail_fetch): Don't do any new-mail + notification here. + (filter_folder_filter): call camel_filter_driver_flush. + + * mail-session.c (main_get_filter_driver): Set the filter-driver + exec_func here instead. + + * mail-ops.c (mail_fetch_mail): Don't set the filter-driver + exec_func here. + +2002-01-03 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (composer_get_message): Add an Organization + header. + +2002-01-02 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (list_add_addresses): Simplified. Also no + longer needs an "ignore_addr" argument as far as I can tell so + that has been removed. + (mail_generate_reply): Don't pass an ignore_addr argument to + list_add_addresses and also change to use g_strcase_hash and + g_strcase_equal since addresses are not case snesitive + (mostly). Also, Reply-To can contain multiple addresses, so handle + this case too. + +2002-01-02 JP Rosevear <jpr@ximian.com> + + * mail-callbacks.c: remove e_gnome_dialog util functions and use + e-util ones instead + +2001-12-21 Jeffrey Stedfast <fejj@ximian.com> + + The idea here is that if we consistantly name the movemail file + between Send&Receive sessions that if the user cancells the + "download" of a mbox spool that the next Send&Receive will not + "lose" mail that didn't finish the previous session. Fixes bug + #17759. Well, mostly. If you have 200 messages and cancel after + the first 100, say, then the next time you hit Send&Receive, it + will start over from 1 so you'll end up duplicating the first 100 + messages, but at least you won't "lose" mail. + + * mail-tools.c (mail_tool_get_local_movemail_path): Now a static + internal function, takes a char *uri argument and no longer + generates movemail.%d filenames... they are now based on the uri + provided. + (mail_tool_do_movemail): Pass along the source_uri. + +2001-12-20 Jon Trowbridge <trow@ximian.com> + + * message-list.c (on_click): Makes the auto-undelete behavior when + changing message flags a bit more sane. (Fixes #17634) + +2001-12-20 Ettore Perazzoli <ettore@ximian.com> + + [Fixes #17377, Evolution doesn't work on multi-depth displays.] + + * main.c (main): Push GdkRGB visual and colormap. + +2001-12-19 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (composer_get_message): Add the auto-cc/bcc + recipients here. The problem with setting them in the composer is + that what if the user changes which account he wants to use? We'd + either have to clear the cc/bcc lists *or* we'd have to leave them + alone. Either way is bad. We can't just clear the entries because + the user may have added addresses since the composer was + opened. We don't want to leave any old auto-cc/bcc addresses there + because that isn't desirable either. So we give up and add them + here after the user has already hit the send button. + + * mail-config.c (account_copy): Update to copy the always-[b]cc + options. + (account_destroy): Update to destroy the above options. + (config_read): Update to read in those values. + (mail_config_write): Save those options. + + * mail-account-gui.c (mail_account_gui_new): Setup Always Cc/Bcc + widgets. + (mail_account_gui_save): Get the user-entered values for the + always-cc/bcc stuff. + +2001-12-19 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-gui.c (setup_service): If the provider is NULL, + don't do anything. + + * mail-accounts.c (construct): Oops, no wonder the exec command + thing never stuck around... I wasn't getting the right widget from + libglade. Also connect to the GtkEntry's changed event since a + GnomeFileEntry doesn't have that signal in its ancestry. + +2001-12-18 Jeffrey Stedfast <fejj@ximian.com> + + * mail-ops.c (filter_folder_free): Argh, don't notify about new + mail here. + (fetch_mail_fetch): Notify about new mail here instead. + + * mail-accounts.c (construct): Setup the new-mail-notification + widgets. + (notify_command_changed): Update the command-line for new mail + notification. + (notify_radio_toggled): Update the new-mail-notification type. + + * mail-ops.c (filter_folder_free): See if we got any new mail and + "sound the alarm" if we did. + +2001-12-17 Jon Trowbridge <trow@ximian.com> + + * mail-format.c (handle_text_plain_flowed): Set citation color to + black when we are printing. + + * mail-format.c (attachment_header): Avoid embedding <object> tags + when we are printing. + (handle_multipart_signed): Don't do the click-for-info signature + stuff when we are printing. + (handle_via_bonobo): Don't embed an <object> tag if we are + printing. + + * folder-browser.c: Changed context_menu[] array so that we can + print when the preview pane is closed. + +2001-12-14 Jeffrey Stedfast <fejj@ximian.com> + + * mail-ops.c (mail_fetch_mail): Set the filter driver's shell-exec + callback. + +2001-12-12 Jeffrey Stedfast <fejJ@ximian.com> + + * mail-config.c (mail_config_check_service): Connect to the + destroy signal on the popup dialog. + +2001-12-12 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (handle_text_plain): Make sure i != num_specials + after we check for any special text markers. Fixes bug #12265. + +2001-12-14 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (compose_msg): Connect to the save-draft signal. + (send_to_url): Here too. + (mail_reply): And here... + (forward_get_composer): Same. + (do_edit_messages): And finally here. + + * mail-format.c (try_inline_pgp): + (try_inline_pgp_sig): Start reiplementing The Right Way and not + danw's fucking half-assed kludge that doesn't work. + +2001-12-12 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config.c (mail_config_set_new_mail_notification_command): + set the new-mail-notify command. + (mail_config_get_new_mail_notification_command): get the + new-mail-notify command. + (mail_config_set_new_mail_notification): set the + new-mail-notification action. + (mail_config_get_new_mail_notification): get the + new-mail-notification action. + (mail_config_write_on_exit): save the new-mail-notification + settings. + (config_read): Read in the new-mail-notification settings. + + * mail-ops.c (mail_execute_shell_command): New function to execute + a shell command async. Will be used for playing sounds on new mail + or whatever. + +2001-12-11 Jon Trowbridge <trow@ximian.com> + + * mail-identify.c (mail_identify_mime_part): Fixed for + mail_content_loaded's new signature. + + * mail-format.c (attachment_header): Don't convert URLs, etc. if + we are printing. + (write_address): Don't convert addresses to mailto: links if we + are printing. + (write_one_text_plain_chunk): Add a printing flag, that we pass + along to mail_text_write. + (handle_text_plain): Pass our printing flag to + write_one_text_plain_chunk. + (mail_get_message_rfc822): Don't unneccesarily convert URLs. + (mail_content_loaded): Add a GtkHTML parameter. + + * mail-display.c (mail_display_initialize_gtkhtml): Added. Breaks + all of the signal hookups out of mail_display_new. + (mail_display_new): Call mail_display_initialize_gtkhtml. + (mail_text_write): Don't convert URLs, etc., if we are printing. + Lots of other changes to pass around GtkHTML/GtkHTMLStream objects. + + * mail-callbacks.c (do_mail_print): Call + mail_display_initialize_gtkhtml on our GtkHTML object. + + * folder-browser.c (update_status_bar): Make the status bar more + useful when you have a large number of hidden messages. + + * message-list.etspec: Add ETable magic for our new "Needs Reply" + column. (The next few entries are for bug #90) + + * message-list.h: Add COL_NEED_REPLY. + + * message-list.c: Move mail_need_reply_xpm to the end of + states_pixmaps. + (ml_duplicate_value): Handle COL_NEED_REPLY. + (ml_free_value): Handle COL_NEED_REPLY. + (ml_initialize_value): Handle COL_NEED_REPLY. + (ml_value_is_empty): Handle COL_NEED_REPLY. Added + needs_reply_map[] array. + (ml_value_to_string): Handle COL_NEED_REPLY. + (ml_tree_value_at): Fix magic numbers, undoing my changes from the + otehr day. Add handler for COL_NEED_REPLY. + (message_list_create_extras): Attach icons for COL_NEED_REPLY. + (on_click): Undo my previous changes to display need-reply status + in COL_MESSAGE_STATUS. Add handing for COL_NEED_REPLY. + + * mail.h: Change mail_format_mime_message, mail_format_raw_message + and the MailMimeHandlerFn typedef to take GtkHTML and + GtkHTMLStream args, as per our changes in mail-format.c. + + * mail-format.c: Giant refactoring. Remove the assumption + throughout that we will always want to render into the GtkHTML + object contained in the MailDisplay. Instead, always pass in the + GtkHTML and GtkHTMLStream that we want to write to. Also, ignore + theme work-arounds if the printing flag is set. (This and what + follows fixes bug #82) + + * mail-display.h: Remove GtkHTMLStream *stream from MailDisplay. + We don't need it anymore. + + * mail-display.c (mail_display_render): Added. Breaks the code + that renders the message into the GtkHTML object out of + mail_display_redisplay. + (mail_display_redisplay): Call mail_display_render. + (mail_display_init): Remove reference to ->stream. + (mail_display_new): Remove reference to ->stream. + + * mail-callbacks.c (do_mail_print): Create a new GtkHTML to render + our printed version into (via the new function + mail_display_render. Set the MailDisplay's printing flag to TRUE + before we render, and set it back to FALSE afterwards. + (do_mail_fetch_and_print): If the preview pane isn't open when we + try to print, fetch the message before printing. + (print_msg): Call do_mail_fetch_and_print. + (print_preview_msg): Call do_mail_fetch_and_print. + + * folder-browser-ui.c: Remove "PrintMessage" and + "PrintPreviewMessage" from message_pane_enables... these now work + when the preview pane is closed. Disable printing if multiple + messages are selected. + +2001-12-10 Jeffrey Stedfast <fejj@ximian.com> + + * mail-ops.c (filter_folder_filter): Don't expunge when we sync + anymore, this fixes bug #4472. + +2001-12-04 Jeffrey Stedfast <fejj@ximian.com> + + * mail-autofilter.c (rule_from_message): Make sure that the + message subject is non-NULL beforetrying to base a vfolder rule + off it. Fixes bug #16284. + +2001-12-07 Jeffrey Stedfast <fejj@ximian.com> + + * mail-accounts.c (construct): Connect to the dialog's "destroy" + event and close any druids/editors that may be open when that + signal is caught. Fixes bug #16501. + + * mail-vfolder.c (vfolder_edit): Set the window title to "Virtual + Folders". Fixes bug #16695. + +2001-12-05 Radek Doulik <rodo@ximian.com> + + * mail-callbacks.c (do_mail_print): set paper size to + _("US-Letter"), use gtk_html_print_set_master + +2001-12-08 Dan Winship <danw@ximian.com> + + * mail-display.c (on_object_requested): Don't just assume all of + the GtkHTMLEmbedded's fields are filled in, since HTML messages + may have <object>s in them that we're not expecting. + +2001-12-07 Dan Winship <danw@ximian.com> + + * mail-send-recv.c (mail_send_receive): Add a "current_folder" + arg. + (build_dialogue): Remember the current_folder + (free_send_data): If current_folder is set, refresh it so it's + guaranteed to be synced with the folder tree. Fixes #14770. + + * mail-callbacks.c (send_receive_mail): Pass current_folder to + mail_send_receive(). + +2001-12-04 Jeffrey Stedfast <fejj@ximian.com> + + * mail-display.c (stream_write_or_redisplay_when_loaded): Check + that the mail-display hasn't been destroyed. + (mail_display_redisplay): Same here. + +2001-12-07 Dan Winship <danw@ximian.com> + + * mail-send-recv.c (receive_update_got_store): If updating a store + that we don't have an associated storage for, just request a + folder tree and then free it. (For the Connector) + + * mail-callbacks.h: Add missing part of Jeff's 12-03 patch so this + actually compiles. + +2001-12-06 Jeffrey Stedfast <fejj@ximian.com> + + * mail-ops.c (mail_send_message): s/PREVIEW_RELEASE/VERSION_COMMENT + +2001-12-03 Jeffrey Stedfast <fejj@ximian.com> + + * mail-ops.c (mail_send_message): Don't append "(Preview Version)" + at the end of the version string. Use the PREVIEW_RELEASE #define + instead. + +2001-12-03 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser-ui.c: Setup the UI for the AddSenderToAddressbook + ui verb thingy. + + * mail-callbacks.c (add_sender_to_addrbook): New bonobo-ui + callback that adds a sender to the addressbook. + +2001-12-04 Jon Trowbridge <trow@ximian.com> + + * folder-browser-ui.c (folder_browser_ui_set_selection_state): + Allow 'n' and 'p' to work when multiple messages are selected. + Fixes #12062. + +2001-11-28 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (save_msg_ok): If the path exists, make sure + it's a regular file (or we can't possibly save to it). Fix for + #14127. + +2001-11-28 Jeffrey Stedfast <fejj@ximian.com> + + * message-list.c (message_list_select): Cleaned up the code. + + * mail-callbacks.c (previous_unread_msg): Pass wraparound as TRUE. + +2001-11-24 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config.c (pgpopen): Fix the boolean check to be && and not + ||. + +2001-11-20 Not Zed <NotZed@Ximian.com> + + * folder-browser-ui.c: Disable search if no message + loaded/viewed. Also for #14348. + + * folder-browser.c: Disable "Add sender to addressbook" if we dont + have a message loaded (it wont work). For #14348. + +2001-11-20 Jeffrey Stedfast <fejj@ximian.com> + + * mail-display.c (load_content_loaded): Make sure the mail-display + object is still "alive" before accessing any of it's data. + +2001-11-14 Zbigniew Chyla <cyba@gnome.pl> + + * mail-autofilter.c (rule_match_recipients, rule_from_message, + rule_from_mlist): s/_/U_/ (filter_rule_set_name requires UTF-8 string) + +2001-11-14 Dan Winship <danw@ximian.com> + + * main.c (segv_redirect): Instead of doing pthread_exit() after + redirecting the SEGV, try to lock a mutex we know is already + locked. This will hopefully help debug a bunch of bugs where the + crashed thread seems to be missing from the bug-buddy report. + +2001-11-13 Jeffrey Stedfast <fejj@ximian.com> + + * mail-session.c (pass_got): Call e_passwords_remember_password() + for account passwords if the user set the "remember password" + checkbox. + +2001-11-12 Jeffrey Stedfast <fejj@ximian.com> + + * mail-vfolder.c (vfolder_load_storage): Add a NULL check for + rule->name. + (mail_vfolder_add_uri): Same here. + +2001-11-09 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (forward_message): If we already have the + message loaded in the mail-display, don't bother re-loading. This + happens to fix bug #14848. + +2001-11-08 Jeffrey Stedfast <fejj@ximian.com> + + * mail-tools.c (mail_tools_x_evolution_message_parse): Was + x_evolution_message_parse from folder-browser.c. A space char is + no longer used to separate the folder URI and the first uid, + instead this is now done with a nul-char so update to parse the + newer/better format. + + * component-factory.c (destination_folder_handle_drop): Update to + parse the new/better format. + + * folder-browser.c (x_evolution_message_parse): Moved to + mail-tools.c + (message_list_drag_data_get): Instead of placing a space char + after the folder URI, instead use a nul-char. + +2001-11-06 Jeffrey Stedfast <fejj@ximian.com> + + * mail-accounts.c (pgp_path_changed): Call + mail_config_pgp_type_detect_from_path() instead of doing our own + lame auto-detection that didn't even work ;-) + + * mail-config.c (auto_detect_pgp_variables): Execute the pgp + binary and look at it's version string if we have a version string + to compare to. + (mail_config_pgp_type_detect_from_path): New function that takes a + pgp path and attempts to figure out what pgp version it is. + +2001-11-07 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (try_inline_pgp): Add a "x-inline-pgp-hack=true" + paramter to the multipart's content-type. + +2001-11-05 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-editor.c (construct): Don't make the account editor + modal either. + + * mail-accounts.c (mail_add): Use the new global account druid + variable so that we can avoid having more than a single druid at a + time. If a druid already exists, bring it to the top. + (mail_edit): Same idea only for the account editor this time. + (mail_editor_destroyed): Set the global editor to NULL. + (mail_add_finished): Set the global druid to NULL. + (mail_delete): Don't allow any deletes if an account editor is + opened (we don't want to be able to delete the account we are + editing...) + (news_edit): Same thing for the news editor. + (news_editor_destroyed): Set the news editor to NULL. + (news_add): And again for the news add. + + * mail-account-gui.c (service_check_supported): Updated to pass a + GtkWindow argument to mail_config_check_service(). + + * mail-config.c (mail_config_check_service): Now takes a GtkWindow + argument so we can set our parent window. Also, don't make this + dialog modal either. + + * mail-config-druid.c (construct): Don't make this druid modal. + +2001-11-05 <NotZed@Ximian.com> + + * message-browser.c (set_bonobo_ui): Override the Move/Copy + handlers setup by the folder_browser_ui code, and use our own, + because we need to pass it a live window which we can't. + (transfer_msg): Our own version of mail-callbacks.c:transfer_msg, + so we can properly pass the parent to the user_select_folder. + (transfer_msg_done): Also copy this so we can pass it diff args. + All fix #13919. + + * mail-callbacks.c (transfer_msg): Set physical/uri to NULL before + calling, because althought he shell client api call is supposed to + null these out, it doesn't with its stupid assertion checks on + entry. Also free physical to plug a memleak. Bugs exposed by + #13919. + +2001-11-01 Jeffrey Stedfast <fejj@ximian.com> + + * mail-display.h (mail_html_write): Renamed from + mail_html_write_string. + + * mail-display.c (mail_text_write): Don't bother with varargs + since nothing used them, we were only passing strings anyway... + (mail_error_printf): Renamed from mail_error_write, this makes + more sense. + (mail_html_write): Removed. + + * mail-format.c: Updated to use gtk_html_stream_printf directly + and s/mail_html_write_string/mail_html_write. + (mail_lookup_handler): Don't use %.*s here either... + (handle_text_enriched): Same. + (write_one_text_plain_chunk): And finally here (also update for + new mail_text_write api). + (handle_multipart_signed): Update for new mail_text_write api. + (format_mime_part): Update for new mail_error_text/printf name + change. + (handle_multipart_encrypted): Same. + + * mail-tools.c (mail_tool_generate_forward_subject): Same as + mail_generate_reply. + + * mail-callbacks.c (mail_generate_reply): Don't use %.*s in any + *printf* functions. + +2001-11-02 Christopher James Lahey <clahey@ximian.com> + + * message-list.c (ml_tree_value_at): Use GINT_TO_POINTER here for + platforms where simply casting an int to void * won't work. + (build_flat_diff, main_folder_changed): Call + e_tree_model_pre_change here. + +2001-11-02 <NotZed@Ximian.com> + + * message-browser.c (message_browser_message_list_built): + Disconnect from the message_list_built function so we dont do it + every time the list is rebuilt. + + * mail-callbacks.c (composer_send_cb): Disable autosave when we're + sending mail. + (composer_sent_cb): Re-enable autosave. + + * folder-browser-ui.c (fbui_sensitize_timeout): Make sure we reset + any data we're using on the folderbrowser before doing anything + 'cause things could vanish while we're doing it, and also + ref/unref the folderbrowser so it doesn't vanish while w'ere + working. + + * folder-browser.c (folder_browser_set_ui_component): If we are + changing the ui comp, remove any pending timeouts. For #13719. + +2001-11-01 Larry Ewing <lewing@ximian.com> + + * folder-browser.c (folder_browser_copy): fix cut & paste from the + message body. + +2001-11-01 Dan Winship <danw@ximian.com> + + * mail-format.c (handle_multipart_signed): Write out the url + before callind add_url since add_url may free it. Fixes #13839. + Remove debug printf. + + * mail-display.c (on_object_requested): Remove debug printf. + +2001-10-31 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (list_add_addresses): Don't use a + case-sensitive comparison. + +2001-10-31 Dan Winship <danw@ximian.com> + + * mail-format.c (try_inline_pgp_sig): Make this work again. + +2001-10-30 Larry Ewing <lewing@ximian.com> + + * mail-account-gui.c (delete_event_cb): add delete_event_handler. + (menu_file_save_close_cb): add save and close command. + (launch_signature_editor): initial the editor as having changed + and attach the delete event handler. + +2001-10-30 <NotZed@Ximian.com> + + * message-browser.c (d): Turn it off. + + * mail-mt.c: Added exception strings to some of the op logging. + + * mail-format.c (elide_quotes): Remove, uh, what was this for, its + not used anywhere? Also loops the instant it had a ", good one + trow! :) + (write_address): Remove name_arg/email_arg, these aren't used + anywhere. + + * mail-mt.c (mail_msg_received): If we have a cancellation setup, + destroy it immediately, to save fd's. + (mail_msg_cancel): Check cancel != NULL. + (mail_msg_free): Same. + + * folder-info.c: Comment out the Folder: and you've got mail + prints. + + * mail-config-druid.c (wizard_next_cb): If we have a next + function, honour if it tells us its going to set the page, and + dont set it, otherwise, set it to the next page, unless we're at + the end of our pages, and let the wizard do it itself. + (wizard_back_cb): Same for going back. Rest of fix for #12127, + see e-shell-startup-wizard for the rest. + (next_func): If we're not on the last page, tell the druid we're + gonna handle the next button, so we can sync properly with it, + needed for above changes. + (back_func): Similarly for going back past page 0. + (wizard_listener_event): We want to set the page to the actual one + asked for not, pagenum-1. + + * mail-local.c (mls_rename_folder): Oops, dont use the url storage + path to offset the folder name we're renaming/opening, etc. + + * subscribe-dialog.c (fe_cancel_op_foreach): Argh!!! Dont free the + async op data here, the async op is still running and will access + it! Just try to cancel it and mark it as cancelled (id == -1) + (fe_done_subscribing): Only remove outselves from the hash table + if we're not cancelled. The handle should always be set here, + since this code runs in the gui thread. + + * message-list.c (on_cursor_activated_idle): If nothing + selected/cursor not activated, then select no message. + + * mail-folder-cache.c (update_1folder): Make the trash count + optional on EVOLUTION_COUNT_TRASH, becuase some lusers are just + too stupid to understand what its for. + + * component-factory.c (storage_xfer_folder): Return slightly + better error codes for copying folders, since its not implemented + yet. + + * mail-vfolder.c, mail-local.c, mail-folder-cache.c, + message-list.c component-factory.c, mail-ops.c, + subscribe-dialog.c, mail-session.c: d() out some debug printfs, + w() out some warnings. + + * folder-browser-ui.c (folder_browser_ui_add_message): Fix typo, + Resent->Resend. + +2001-10-29 Jeffrey Stedfast <fejj@ximian.com> + + * mail-ops.c (transfer_messages_transfer): Don't warn the user if + the source and destination folders are the same. + +2001-10-29 Dan Winship <danw@ximian.com> + + * mail-format.c (handle_multipart_signed): add some debug spew re + 13839. + + * mail-display.c (on_object_requested): here too + +2001-10-29 Christopher James Lahey <clahey@ximian.com> + + * e-searching-tokenizer.c (search_info_set_match_size_increase): + Fixed a warning by #if 0ing out this function. + + * folder-browser.c, folder-browser.h (on_selection_changed): + Update status bar in an idle call. Fixes Ximian bug #13929. + + * mail-folder-cache.c (folder_renamed, store_folder_renamed): + Fixed some warnings here. + +2001-10-29 Dan Winship <danw@ximian.com> + + * folder-browser.c (folder_browser_copy): Fix the focus check. + It's not fb->message_list that has focus, it's one of its + children. #13616. + +2001-10-29 <NotZed@Ximian.com> + + * mail-folder-cache.c (store_folder_renamed): Sort the folder + updates first, since we dont seem to get them in the right order, + or infact in any tree representation whatsoever when using IMAP + ...? get_folder_info bugs? + + Unrelated note to self, the subscribe dialogue may interfere with + the folder cache. + + * mail-vfolder.c (rule_changed): Copy the folder's full_name + before trying to use it to rename. + (vfolder_edit_rule): Set 'orig' to be a reference of the original + rule. + (edit_rule_clicked): Dont lookup orig by name, copy it over + instead. + + * folder-browser.c (got_folder): oops, emit signal before + unreffing object, incase we got killded during getting folder. + (got_folder): Reset get_id. + (folder_browser_new): Set get_id of the get_folder task. + (folder_browser_init): Init get_id. + (folder_browser_destroy): IF we have outstanding 'get folder' op, + cancel it. + +2001-10-28 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-gui.c (mail_account_gui_save): Call + mail_autoreceive_setup() instead of + mail_autoreceive_setup_account() since that code was completely + broken anyway. + + * mail-send-recv.c (mail_autoreceive_setup_account): Removed. + + * mail-callbacks.c (transfer_msg_done): Move the message-list + cursor to the next message. + (transfer_msg): If we are moving messages, then pass + transfer_msg_done() to mail_transfer_messages() so when it + finishes it can move the cursor to the next undeleted message. + + * mail-format.c (try_inline_pgp): Check that the special PGP lines + begin and end with \n so as to avoid matching against quoted PGP + lines. + +2001-10-28 <NotZed@Ximian.com> + + * mail-callbacks.c (mark_all_as_seen): fb = user_data, not fb = + fb!, fixes 13844. + + * mail-local.c (mlf_rename): add the folder name to the path when + passing down to the subordinate folder. + + * folder-browser-ui.c (fbui_sensitize_timeout): Remove uic, kill + dumb warning. + + * mail-autofilter.c (mail_filter_rename_uri): Implement function + for filters to keep track of uri's being renamed. + (mail_filter_delete_uri): Similarly for deleting uri's. Note that + these functions are just noops though. + +2001-10-28 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser.c: Deactivate the Print right-click menu option + if the message isn't loaded. Fixes bug #10346. + +2001-10-28 <NotZed@Ximian.com> + + * mail-vfolder.c (mail_vfolder_rename_uri): Implemented. + (mail_vfolder_rename_uri): We do want to check renamed uri's from + vstores. + (mail_vfolder_delete_uri): Same. + (store_folder_renamed): Fix the folder hash at the same time. + + * mail-folder-cache.c (real_flush_updates): Pass the rename event + to vfolder rename uri. + (real_flush_updates): Also rename and delete uri's from filters. + + * mail-local.c (mail_local_folder_reconfigure): Change the store + path to be same as parent + mbox to be full path. + (mls_delete_folder): Change store path to be parent path, and mbox + to be full path. + (mail_local_folder_reconfigure): Fix a leak of tmpname. + (mls_delete_folder): Unref the store when done. + (mls_rename_folder): Fix implementation, shell already created + destination folder, so we can't just rename :( + + * component-factory.c (xfer_folder): Only do a rename if we have + remove set, cleaned up logic a bit. + (idle_quit): Put the components still active check last last of + all. + (storage_create_folder): IF we have a fragment, use that as part + part for parent. + (xfer_folder): Manually call rename code, since the shell will do + a remove/add later on, AND there's no way we can determine the new + path from the crock of an api we have to work with. + +2001-10-27 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (mail_format_get_data_wrapper_text): Allow the + user to shoot him/herself in the foot when overriding message + charsets. Permanantly fixes bug #921. + +2001-10-26 Dan Winship <danw@ximian.com> + + * folder-browser.c (etree_key): Work around something that we + think is a GtkHTML bug, where sometimes the adjustments have + slightly bogus values and scrolling ends up working backwards. + (Ximian 4939) + + * mail-display.c (do_signature, do_attachment_header): Set the + icon to be 24x24 here so that (assuming it's not a thumbnail), no + resizes will have to be queued later. (There's still a bug with + the text to the left of the button being drawn twice for some + reason though.) + + * mail-callbacks.c (delete_msg): Fix a bug here that makes + deleting multiple messages cause a gratuitous message body fetch. + (Ximian 12355) + +2001-10-25 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (providers_config): Set the GdkWindow of the + FolderBrowser, not the GtkWindow... + +2001-10-26 <NotZed@Ximian.com> + + * mail-local.c (mlf_set_folder): Changed to open the source store + from '/', so we can do renames across directories. Of course, + this doesn't quite work with different filesystems, but we'll + assume this isn't a problem we're going to have. + (mail_local_folder_get_type): Setup parent_class. + (mlf_rename): Implement folder rename call, rename internal data. + + Is this a security issue? Well, not really, no more than anything + else. + + * mail-folder-cache.c (mail_note_store): Listen to rename event. + (store_folder_renamed): Function to handle it, empty. + (mail_note_store_remove): Unhook from rename event. + (mail_note_folder): Hook onto renamed event. + (unset_folder_info): Unhook from renamed event. + (folder_finalised): Lock around update. + (folder_deleted): Lock around update. + (real_flush_updates): If we have a path to remove remove it. + (rename_folders): Scan folderinfo's, if we can find ones renamed, + rename them, otherwise add them. + + * component-factory.c (owner_unset_cb): Use a timeout not an idle + handler. + (storage_xfer_folder): Implementation of xfer_folder signal + handler, so we can rename imap/vfolders/etc. + + * component-factory.c (owner_unset_cb): Use a timeout not an idle + handler. + + * mail-callbacks.c (providers_config): Only set the parent window. + + * mail-accounts.c (mail_edit): Set the parent on the account editor. + +2001-10-25 <NotZed@Ximian.com> + + * openpgp-utils.c (openpgp_verify): s/iconv/e_iconv/. + +2001-10-25 Jeffrey Stedfast <fejj@ximian.com> + + * mail-ops.c (send_mail_free): Don't forget to unref the filter + driver here. + +2001-10-25 <NotZed@Ximian.com> + + * folder-browser-ui.c (fbui_sensitize_timeout): So apparently the + uicomp can just 'vanish' while we're using it. Joy. Take care of + that case here, fixes #13482. + (fbui_sensitise_item): Check here too just for kicks. + + * mail-folder-cache.c (store_finalised): If we can't destroy our + async event, then queue another one to do it. + (store_finalised_finish): And handle it here, until we can, then + free it. + (mail_note_store): Queue an async event to get folderinfo, dont + use mail_get_folderinfo. + (update_folders_get): thread-async event to retrieve the + folderinfo, and build it, then queues gui-async event to update + the gui. + (add_unmatched_info): Taken from mail-ops, adds unmatched if + required. + (add_vtrash_info): From mail-ops, add trash if required. + (update_folders): Thread async event to update gui. + (mail_note_store): Ref the store and storage when created. + (update_1folder): Changed to assume we have info_lock, and store + updates in an updates list. + (setup_folder): Same. + (folder_changed): Changed to call update_1folder directly. + (real_folder_changed): Removed. + (mail_note_folder): Changed to call update_1folder directly. + (real_note_folder): Removed. + (store_folder_subscribed): Call setup_folder directly. + (real_folder_created): Removed. + (real_flush_update): Function that actually does the updates in + the gui thread. + (mail_note_store): Go back to using mail_get_folderinfo. + (update_folders): Fixed upf ro changed api's. + (unset_folder_info): Changed to queue pending updates. + (real_folder_deleted): Removed. + (store_folder_unsubscribed): Do the removal work directly. + (mail_note_store): Dont link to finalised event of store - we now + ref it. + (mail_note_store_remove): If we have any pending updates, clear + them out. Also cancel any pending folderinfo retrieve operations. + (update_folders): Remove our update from the storeinfo list, if it + still exists. + (update_1folder): Make 'sent folder shows all counts' optional via + an environmental variable EVOLUTION_COUNT_SENT for all those + bloody whinging lusers out there. + (mail_note_store_remove): Unref the storage when done. + + * mail-mt.c (mail_async_event_emit): If we're in main and have a + gui task, set it to run via an idle function. + (idle_async_event): Wrapper for calling do_async_event from idle + function, and freeing the message when done. + (idle_async_event): Call mail_msg_free not free on the finished + message. + + * component-factory.c (mail_remove_storage): Destroy the storage + async. + (store_disconnect): This does the work. + (free_storage): Un-note the store when we remove it, so the store + noting code can unref things properly. + (idle_quit): Return false when done, dont loop. + +2001-10-24 <NotZed@Ximian.com> + + * component-factory.c (owner_set_cb): Setup an async_event + handler. + (idle_quit): Try to destroy the async_event, or keep dropping out + if it can't (deadlock). + + * mail-mt.c (do_async_event): Set the threadid of the thread we're + running in so we know its running/which thread its in. + (mail_async_event_emit): Added new argument 'type' which is the + type of thread to execute against, gui or another one. Fixed all + callers. + (mail_async_event_destroy): Return -1 if this operation will fail + (deadlock possibility). If we're in the thread of the task + we're going to wait for, then return a failure (since we will + deadlock). + (mail_async_event_emit): Changed to use MailAsyncFunc type as the + function type, which just takes 3 void args, change args to suit. + + * mail-folder-cache.c (mail_note_store): Record the pending update + events in a pending list. We should really be able to use an + async event for this, but that doesn't return to the gui loop when + done :-/ + (update_folders): Remove from pending update when done. + +2001-10-25 Jeffrey Stedfast <fejj@ximian.com> + + * mail-send-recv.c (get_receive_type): Check for a NULL provider. + (build_dialogue): Check for invalid source urls. + (mail_receive_uri): Same. + +2001-10-24 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (mail_generate_reply): No longer need to pass a + settext argument. + (do_forward_non_attached): Same. + + * mail-format.c (mail_get_message_body): Fix to not always return + NULL for html parts, doh!. + +2001-10-24 <NotZed@Ximian.com> + + * folder-browser-ui.c (ui_add): + (fbui_sensitize_timeout): Same. + + * folder-browser-factory.c (control_activate): Comment out freeze/thaw. + (control_deactivate): + +2001-10-24 Jon Trowbridge <trow@ximian.com> + + * mail-search.c (mail_search_construct): Fixed some weird casting + crack that got in here somehow, removed superfluous box-packing + that was generating a gtk warning. + +2001-10-23 Jeffrey Stedfast <fejj@ximian.com> + + * component-factory.c (owner_unset_cb): Unref the global + search_context. + (owner_set_cb): create the global search_context. + + * folder-browser.c (folder_browser_gui_init): Pass along the + global search_context to the e_filter_bar_new call. + +2001-10-24 <NotZed@Ximian.com> + + * message-browser.c (message_browser_message_loaded): Call + ui_message_loaded when we are. + + * folder-browser-factory.c (control_activate): Freeze/thaw around + all updates. + (control_deactivate): Freeze/thaw around all updates. + + * folder-browser.c (folder_browser_init): Setup a hashtable to + keep track of *our* sensitise state, so we can optimise pushes to + bonobo. + (folder_browser_finalise): Free hash here. + (folder_browser_set_message_preview): Call a ui_message_loaded, + even though it isn't, so it updates sensitivities right. + (done_message_selected): Call ui_message_loaded when it really is, + rather than the very fucked up idea of reversing the loaded_uid + check. + + * folder-browser-ui.c (folder_browser_ui_set_selection_state): + Dont enable the message-enabled options if the message display is + hidden, e.g. print, view headers, etc. + (folder_browser_ui_rm_all): Forget sensitise state. + (fbui_sensitise_item): Sensitise items via a current-state table, + so we dont have to do bonobo calls every time. + (folder_browser_setup_property_menu): Call sensitise_item. + (folder_browser_ui_add_message): + (folder_browser_ui_add_global): Leave current set_prop "sensitive" + for the stop button, so it doesn't get lost by the stuff in + mail-mt.c + (fbui_real_sensitize_items): Removed. + (fbui_sensitize_timeout): Cleaned up, use sensitise_item to do + work. + (folder_browser_ui_message_loaded): Setup sensitive based on + preview_shown too. + (folder_browser_ui_set_selection_state): And here too. + +2001-10-23 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-gui.c (service_check_supported): Don't allow an + auth-type to be set when saving the service. + (mail_account_gui_new): Initialize the source and transport + provider_type's here so we don't forget to do it when it matters. + (mail_account_gui_setup): Don't bother setting the provider_type's + here, they are already set in mail_account_gui_new() now. + +2001-10-23 <NotZed@Ximian.com> + + * mail-display.c (mail_display_destroy): Remove the idle_id when + we're destroyed so the idle func doesn't run on an invalid object. + + * message-list.c (regen_list_regened): Dont do anything if we're + destroyed #13021. + + * mail-mt.c (mail_user_message): + (mail_get_password): Removed, all functionality moved to + mail-session. + + * mail-config.c (mail_config_write_on_exit): Check + threaded/preview hash is null before using it, its setup on demand + so itmight nto be initialised here. + + * mail-session.c (request_password): Remove password_current + stuff. + (alert_user): Redont, similar to get_pass. Do things as async as + possible, and dont even wait for a response if we're not asking + for the cancel button (this may or may not be right behaviour - + need to check). mail_user_message() code replaced from the stuff + in mail-mt.c + (MailSession): Added a lock field. + (init): Setup lock. + (finalise): fRee lock. + (register_timeout): Redone. We now allocate our own 'timeoutid's, + and <> to the real things asynchronously. Use async_event's so we + can make sure we have no outstanding ones after shutdown. + (mail_session_enable_interaction): If interaction has been + disabled, and we have either a message-box open, or a password + request open and/or any pending message boxes/passwords, blow 'em + away. + (main_register_timeout): If we have pending remove of this same + timeout, dont do anything. + (timeout_timeout): Properly honour the result, remove the timout + if it returns false. + (do_user_message): Setup the message_destroy_id when we setup the + destroy handler so it doesn't get called twice. + +2001-10-23 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (reply_to_sender): Make sure the fb and it's + message-list exist. + (reply_to_list): same. + (reply_to_all): And here... + (forward_message): Here too. + (forward_attached): Again here. + (transfer_msg): Here too. + (apply_filters): Same. + (select_all): Yet again here... + (select_thread): And here. + (invert_selection): Same. + (flag_messages): Here too. + (mark_as_unseen): and here... + (mark_all_as_seen): ... + (zoom_in): + (zoom_out): + (zoom_reset): + (search_msg): + (load_images): + (save_msg): + (next_msg): + (next_flagged_msg): + (next_unread_msg): + (previous_msg): + (previous_unread_msg): + (expunge_folder): + (configure_folder): + (empty_trash): + +2001-10-23 <NotZed@Ximian.com> + + * mail-mt.c: Added missing errno.h + (mail_msg_new): Fix the logic a bit, dont try to open the log file + unless logging is actually requested. + (mail_enable_stop, mail_disable_stop, do_set_busy, + mail_operation_statys): Dont bother propagating events if + global_shell_client isn't up yet. + +2001-10-23 Dan Winship <danw@ximian.com> + + * mail-mt.c (mail_msg_new): If the fopen() fails (eg, because + evolution-mail was started by oafd with PWD=/), don't try to use + the NULL file handle. + +2001-10-23 <NotZed@Ximian.com> + + * mail-session.c (get_password): Completely re-done. We now hae a + completely async dialogue when requested from antoehr thread, and + dont use gtk_main() if we can avoid it (which is normally the + case). This stuff is only partially finished, and will mena the + removal of the same from mail-mt.c, and the mail_user_message() + code will be moved here and changed to work in a similar way. + + * mail-callbacks.c (empty_trash): Dont try and connect to remote + stores just to get the trash. Also, always run empty trash async, + and make sure we unref the trash. + (empty_trash): Hmm, dont unref the trash, causes a problem on + exit, i suspect something else is doing funky unrefs on it. + + * mail-tools.c (mail_tool_get_trash): Pass a 'connect' arg, tell + it whether it should tryand connect or not to the parent service, + if it isn't already connected. + + * component-factory.c (owner_unset_cb): Dont try wait_all here, + could potentially deadlock. + (idle_quit): Keep returning TRUE if we have outstanding + processing. Note that this may busy-wait during exit processign + with busy tasks :( + (idle_quit): Keep calling ourselves till we no longer get called + (i.e. gtk_main really quits). + + * mail-mt.c (mail_msg_active): New function, returns TRUE if + events are still active/outstanding. + (do_op_status): @$@$#@@!#@!! didn't unlock the mail_msg_lock if + data->activity was NULL and we had no global_shell_client anymore! + Also shortcut processing if this is going to be the case. + (mail_msg_init): Setup a temporary other gui_port for redoing with + new semantics password, user message and progress reporting. + (mail_get_password): #ifdef'd out all this code temporarily, till + it gets fully moved to mail-session.c + +2001-10-22 <NotZed@Ximian.com> + + * component-factory.c (owner_set_cb): Dont call enable_interaction + here. + (interactive_cb): But here instead, let the shell tell us when its + ok to go interactive. + +2001-10-22 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (write_one_text_plain_chunk): Oops, revert my + change to this function. + + * mail-display.h (mail_html_write_string): New fun macro. + + * mail-format.c (write_one_text_plain_chunk): Use gtk_html_write + instead of mail_html_write so we avoid strdup'ing the text. + (handle_text_plain_flowed): Use the mail_html_write_string macro. + (handle_message_rfc822): Here too. + (mail_format_raw_message): We can do it here also... + (attachment_header): We can do it a little bit here... + (write_address): A microscopic bit here... + (write_hr): same. + +2001-10-22 Anna Marie Dirks <anna@ximian.com> + + * mail-config.glade: Added several new accelerators to the edit account + dialog, and fixed the focus targets on all existing accelerators. I + was hoping that since the widgets used in the account editor are also + used in the first-time start-up druid and them mail-config druid, + that this would fix all accelerator problems for those druids as well, + but there is something wrong with Bonobo which is preventing + the druids from responding to their accelerators. Sigh. Anyway, + most accelerators in the edit account dialog work correctly + now, though there are few (such as _Full Name) which fail to + do anything. I don't know why. + +2001-10-22 Jeffrey Stedfast <fejj@ximian.com> + + * mail-stream-gtkhtml.c (mail_stream_gtkhtml_new): New class that + wraps writing to a GtkHTML stream so that we don't have to write + to an intermediate GByteArray. + + * mail-display.c (on_url_requested): Use the new Camel->GtkHTML + stream - this means we don't have to chew up nearly as much + memory...yay! + (try_part_urls): Here too. + +2001-10-22 Ettore Perazzoli <ettore@ximian.com> + + * mail-mt.c (do_op_status): Don't free `clientid' as it's + uninitialized. + +2001-10-22 Christopher James Lahey <clahey@ximian.com> + + * message-list.etspec (Score): disable this column. Fixes Ximian + bug #12381. + +2001-10-22 Ettore Perazzoli <ettore@ximian.com> + + * mail-mt.c: #include "component-factory.h". + (do_op_status): Pass the component ID instead of the msg ID. + + * component-factory.h (COMPONENT_ID): #define here instead of + `component-factory.c'. + (SUMMARY_FACTORY_ID): Likewise. + +2001-10-22 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (format_mime_part): Don't wrap error text with + <blockquote>, this is done inside mail_error_write. + (handle_multipart_encrypted): If we get an exception trying to + decrypt the mime part, display an error rather than trying to + treat it as multipart/mixed. + + * mail-callbacks.c (empty_trash): Confirm expunge. + + * folder-browser.c (folder_browser_destroy): Move the folder sync + code along with a few other things from folder_browser_finalise() + into here instead. + (folder_browser_finalise): Moved some cleanup functions into + destroy. + +2001-10-22 Dan Winship <danw@ximian.com> + + PGP verification UI changes to make it not HTML spoofable. + + * mail-format.c (handle_application_pgp): Remove this unused + hack. + (mail_format_mime_message): Initialize a fourth hash table, used + to keep track of fake MIME parts. + (mail_part_set_default_displayed_inline): New routine to set the + default disposition of a part (doesn't change it if the user has + already overridden it). + (format_mime_part): Wrap a blockquote around the error text (moved + here from mail_error_write since it doesn't apply in other cases). + (write_hr): Write a <hr> with appropriate padding between MIME + parts. + (write_one_text_plain_chunk): Write some plain text with + appropriate margins. + (handle_text_plain): Use write_one_text_plain_chunk. Update for + inline specials handler API change. + (fake_mime_part_from_data): Use the "fake_parts" hash to avoid + recreating the same fake parts again if the message is + redisplayed. Lets you toggle the shown/hiddenness of uudecode + parts, and do the new pgp verification thing for inline pgp + signatures. + (try_inline_pgp): Don't do any actual PGP handling here: Just + rewrite as a multipart/encrypted. + (try_inline_pgp_sig): Likewise, just do a multipart/signed (with + the x-inline-pgp-hack parameter set). + (try_uudecoding, try_inline_binhex): Update for API changes. + (handle_multipart_signed): Exciting and new. Use <object> to + create a button which the user must click to do the + verification. Change the formatting of the gpg output text a bit. + + * mail-display.c (on_link_clicked): Remove x-evolution-decode-pgp + hack, which is no longer used. + (pixbuf_gen_idle): Add a hack for the PGP verification button. + (do_attachment_header, do_external_viewer): Split out of + on_object_requeested for clarity. + (do_signature): New routine to do the PGP verification button. + (on_object_requested): Now just dispatches to + do_attachment_header, do_external_viewer, or do_signature. + (mail_error_write): Don't do <blockquote> here. Fixed the problem + that was trying to fix elsewhere. + +2001-10-22 Dan Winship <danw@ximian.com> + + * mail-callbacks.c (transfer_msg): Fix these functions so they + don't crash evolution-mail. Too bad it still crashes in the + shell. + +2001-10-21 Jeffrey Stedfast <fejj@ximian.com> + + * mail-display.c (on_url_requested): Use + mail_format_get_data_wrapper_text for text parts so we get free + charset conversion. + + * mail-format.c (mail_format_get_data_wrapper_text): Renamed from + get_data_wrapper_text and now returns a GByteArray. + (handle_text_plain): Updated to use the new get_data_wrapper_text. + (handle_application_pgp): Same. Wow...also fixed a mem leak and + made a bit more efficient by doing so. + (handle_text_enriched): Here too. Also use string->len instead of + strlen (string->str). + (mail_format_raw_message): Same. + +2001-10-22 <NotZed@Ximian.com> + + * mail-callbacks.c (mark_all_as_seen): Instead of select_all() + then using the tree's selected nodes to iterate, just do it on the + folder which keeps the current selection. Fixes #3658. + +2001-10-21 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser.c: Call the new move/copy_msg_cb's + + * mail-callbacks.c (move_msg_cb): Renamed from move_msg. + (copy_msg_cb): Renamed from copy_msg. + (move_msg): The bonobo-ui-component callback. + (copy_msg): Same. + +2001-10-21 <NotZed@Ximian.com> + + * mail-vfolder.c (mail_vfolder_shutdown): Clear variables once + done, for debugging. + (mail_vfolder_add_uri, mail_vfolder_delete_uri): Dont do anything + if we're shutdown (context == NULL). + + * component-factory.c (idle_quit): Move mail_vfolder_shutdown + here, it should be one of the last things shutdown. + + * mail-format.c (handle_text_plain): Dont use (if (!p++), and then + check p!= later, since its now 1, oops. Fixes #13106, thought it + was a start of uuencoded stuff! + + * folder-browser.c (on_right_click): Escape _'s before adding them + to menu from mailing list name, also remove some dead code that + someone forgot to remove when refactoring. #11307. + (folder_browser_is_drafts): Use the store's uri_cmp function to + compare to the drafts uri's. + (folder_browser_is_sent): Same. Slight cleanup for #11351. + +2001-10-21 Dan Winship <danw@ximian.com> + + * mail-callbacks.c (mail_generate_reply): Update for + e_msg_composer_add_messages_attachments arg change. + (do_forward_non_attached): Likewise. + +2001-10-20 Jon Trowbridge <trow@ximian.com> + + * mail-display.c (mail_display_new): Don't leak our + ESearchingTokenizer. + +2001-10-20 Larry Ewing <lewing@ximian.com> + + * folder-browser-ui.c: hook up zoom functions. + + * mail-callbacks.h: add prototypes. + + * mail-callbacks.c (zoom_in): added. + (zoom_out): added. + (zoom_reset): added. + +2001-10-19 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (transfer_msg): Allow copy/move to/from vTrash + folders as well. + + * component-factory.c (destination_folder_handle_drop): Properly + handle local vTrash folders. + +2001-10-19 <NotZed@Ximian.com> + + * mail-account-gui.c (build_auth_menu): Dont translate camel strings. + (mail_account_gui_setup): " + +2001-10-19 Ettore Perazzoli <ettore@ximian.com> + + * component-factory.c (destination_folder_handle_motion): Get + @folder_type here too [to match the changes in the + EvolutionShellComponentDnd interface]. Also, remove a debugging + message. + (destination_folder_handle_drop): Likewise. + +2001-10-19 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (mail_generate_reply): Update to reflect API + changes to e_msg_composer_add_message_attachments(). + (do_forward_non_attached): Same. + (providers_config): Oops, pass a GdkWindow instead of a GtkWindow. + +2001-10-19 <NotZed@Ximian.com> + + * mail-folder-cache.c (store_finalised): Free folders_uri. + (real_folder_deleted): If folder is deleted, remove it from the + hashtables. + +2001-10-18 <NotZed@Ximian.com> + + * subscribe-dialog.c (get_short_folderinfo_get): Remove the + register/unregister, they're already done above us. + + * mail-vfolder.c (vfolder_adduri): Added remove flag - its not + adduri, its removeuri, its less typing than creating a removeuri. + (vfolder_adduri_do): Implement the remove flag. + (mail_vfolder_remove_uri): Changed to mail_vfolder_delte_uri, to + indicate its actually been deleted. + (mail_vfolder_add_uri): Added remove flag. + (rule_changed): When adding existing folders to a new rule, strdup + the list data. + (mail_vfolder_delete_uri): Dont do any work to remove the actual + folder from the vfolder (we'd have to look it up first), let the + vfolder remove it itself. Just update the rules. + + * mail-folder-cache.c (store_finalised): Unhook from all events + when done. + (mail_note_store_remove): Remove a store from being noted. + (free_folder_info): Also if we have a folder, unhook all events. + Also remove the uri from vfolders. + (mail_note_folder): Remove warning about adding folders to stores + that aren't added yet - we might actually be removing the store. + + * component-factory.c (mail_remove_storage): Call + mail_note_store_remove when we remove the storage. + +2001-10-18 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (providers_config): Don't make the mail + settings dialog modal. + +2001-10-17 Ettore Perazzoli <ettore@ximian.com> + + * mail-account-gui.c (folder_picker_clicked): Pass the toplevel to + `evolution_shell_client_user_select_folder()'. + * mail-callbacks.c (transfer_msg): Likewise. + +2001-10-18 <NotZed@Ximian.com> + + * mail-send-recv.c (build_dialogue): call setup_send_data *after* + we've setup the global dialogue thingy. + (mail_send_receive): Instead of using static local to check for + re-running of dialogue, use a global, setup by build_dialogue. + These fix #12335. + (mail_send_receive): Dont assert dialogue is realized, it might + still be being built, so only show if it is realized. + +2001-10-18 Dan Winship <danw@ximian.com> + + * mail-mt.c (mail_call_main): Use G_VA_COPY to make this compile + on ppc again. + (do_call): Here too. + +2001-10-17 <NotZed@Ximian.com> + + * mail-folder-cache.c (store_folder_subscribed): Clone the + folderinfo before passing to async event. + (real_folder_created): Free when done. + (store_folder_unsubscribed): + (real_folder_deleted): And same here. + + * mail-ops.c (mail_expunge_folder): Use the queued thread for + expunging folders. + +2001-10-17 Jeffrey Stedfast <fejj@ximian.com> + + * mail-ops.c (mail_send_message): No longer need to copy the + description now that camel-exceptions have been fixed. + + * subscribe-dialog.h (subscribe_dialog_show): Helper macro. + + * subscribe-dialog.c (subscribe_dialog_run_and_close): Removed. + + * mail-callbacks.c (check_send_configuration): Don't use + gnome_dialog_run_and_close() here, we can easily get away with + just using a gtk_widget_show(). + (providers_config): Don't use a gnome_dialog_run_and_close() here + either. No longer need to use e_gnome_dialog utils. + (manage_subscriptions): Don't run_and_close(). + +2001-10-17 <NotZed@Ximian.com> + + * mail-callbacks.c (empty_trash): Only empty trash on enabled + accounts, fixes #12821. + +2001-10-17 Dan Winship <danw@ximian.com> + + * mail-format.c (write_default_header): Make Reply-To bold too + since no one ever figures out why it's not currently. + +2001-10-17 Iain Holmes <iain@ximian.com> + + * importers/evolution-mbox-importer.c: Fix the typo. + +2001-10-16 Jeffrey Stedfast <fejj@ximian.com> + + * mail-ops.c (uid_cachename_hack): Lets put the UID cache in + ~/evolution/mail/pop3 as this makes more sense than ~/mail/config + does. Perform checking to see what flavor cache-path the user is + on and compensate. + + * message-list.c (on_cursor_activated_idle): Check that the + cursor_uid is non-NULL before emitting a "message_selected" + signal. Fixes bug #6015. + +2001-10-16 Jon Trowbridge <trow@ximian.com> + + * e-searching-tokenizer.c (e_searching_tokenizer_begin): Always + explicitly clear out the SearchInfo. + +2001-10-16 <NotZed@Ximian.com> + + * mail-folder-cache.c: Added an async_event handler to store_info. + (mail_note_store): Setup async event handler here. + (store_finalised): Flush out async events here. + (folder_changed): Use async event handler to emit event. + (mail_note_folder): Chagned, do most of the work in the calling + context, only do the corba stuff in main. + (store_folder_subscribed): Use async event, and do more work locally. + (store_folder_unsubscribed): Same. + (store_folder_deleted): Call store_folder_unsubscribed if we have + to do any work. + (store_folder_created): Call store_folder_subscribed if we have to + do any work. + (store_folder_unsubscribed): Ref store while busy. + (real_folder_deleted): And unref here. + (store_folder_subscribed): Reg store while busy. + (real_folder_created): Unref here. + (mail_note_folder): Ref folder while busy. + (real_note_folder): And unref here. + (mail_note_folder): Hook onto folder_deleted event. + (folder_deleted): Just mark this folder as no longer available. + + * mail-session.c (register_timeout): Use mail_call_main instead of + proxy_event. + (remove_timeout): Same here. + + * folder-browser.c (folder_changed): use the new mail_async_event + stuff. + (folder_changed_main): Remove old async event handling stuff. + (FOLDER_BROWSER_LOCK/UNLOCK): Removed. + (FolderBrowserPrivate): Removed too, sigh. + (folder_browser_set_message_preview): Return do nothing if we're + destroyed (message_list == NULL). + (folder_browser_search_query_changed): " + (folder_browser_toggle_preview): " + (folder_browser_toggle_threads): " + (folder_browser_toggle_hide_deleted): " + (folder_browser_set_message_display_style): " + (folder_browser_charset_changed): " All for #12613. + + * mail-mt.c (mail_async_event_new, mail_async_event_emit, + mail_async_event_destroy): New functions to handle async events. + (mail_proxy_event, mail_proxy_event_id): Removed old functions for + async events. + (do_call): Add suport for MAIL_CALL_p_pp. + (mail_msg_free): Use mail_async_event instead of proxy_event. + + * message-list.c (message_changed): Promote the message_changed to + a folder_changed and use main_folder_changed to process it. + (main_message_changed): Remove.d + (message_list_init): Setup async event handler. + (message_list_destroy): Remove async handler. + (folder_changed): Use async hanler to emit event in main loop. + (message_changed): Same. + + * mail-mt.c (mail_proxy_event_id): New function to return the id + of the currently executing proxied event. + + * folder-browser.h: Added private field. + + * folder-browser.c (folder_changed): Keep track of tasks + outstanding in the tasks list, locked access. + (FOLDER_BROWSER_LOCK, UNLOCK): Macros to lock the folder browser + for poking about in diff threads. + (folder_browser_finalise): Wait for any outstanding takss to + finish before cleaning ourself up. + (folder_browser_destroy): Move the seen_id handling to finalise, + also add a loading_id handling code. + (main_folder_changed): Remove our running task when done. + +2001-10-15 Larry Ewing <lewing@ximian.com> + + * mail-display.c (mail_error_write): don't write strings longer + than they actually are. + +2001-10-15 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser.c (folder_browser_destroy): Remove the mark_seen + timeout. + +2001-10-15 Larry Ewing <lewing@ximian.com> + + * mail-callbacks.c (mail_generate_reply): don't apply the body + text in replys since we will just replace it anyway. + +2001-10-15 Jeffrey Stedfast <fejj@ximian.com> + + * component-factory.c (owner_unset_cb): Call + mail_vfolder_shutdown. + + * mail-vfolder.c (mail_vfolder_shutdown): Unref all of our + VFolders. + + * mail-folder-cache.c (real_note_folder): Remember to unref the + folder before returning if we have already noted this folder. + +2001-10-15 <NotZed@Ximian.com> + + * mail-session.c (get_password): Proxy get-password call to main + thread. + (forget_password): same for forget_password. + (get_filter_driver): and same for get_filter_driver, since it uses + gtk objects. + + * mail-mt.c (mail_call_main): new generic interface for calling + stuff/proxying in the gui thread. + +2001-10-14 Jon Trowbridge <trow@ximian.com> + + * e-searching-tokenizer.c (e_searching_tokenizer_clone): Share + more state between the parent and its clones, so that our multiple + tokenizers don't get out of sync when we are rendering frames and + iframes. (Bug #11638) + +2001-10-13 Jon Trowbridge <trow@ximian.com> + + * e-searching-tokenizer.c (search_info_compare): Bad hacker! + Don't implicitly assume that utf8 characters are one byte in size! + (Bug #9520) + (e_searching_tokenizer_begin): As long as I'm touching those code: + don't increase the size of search matches. I'll fix the colors + later. (part of bug #11589) + +2001-10-13 Dan Winship <danw@ximian.com> + + * mail-callbacks.c (create_msg_composer): Don't emit a gtk warning + if the composer creation fails. + +2001-10-12 Dan Winship <danw@ximian.com> + + * message-list.c, message-list.h, message-list.etspec: Revert the + change to remove the Score column until Chris can fix ETable so + it's possible to remove a column without breaking everyone's + exisiting settings. + +2001-10-12 Iain Holmes <iain@ximian.com> + + * importers/evolution-mbox-importer.c (load_file_fn): Don't ever create + the folder here. Wait until the shell has created it. Otherwise we get + loads of race conditions where the mailer can create a subfolder before + the shell has registered the parent. + +2001-10-12 Chris Toshok <toshok@ximian.com> + + * main.c (main): call e_passwords_init and e_passwords_shutdown. + + * mail-session.h: add prototypes for + mail_session_{get,add}_password. + + * mail-session.c (init): empty this out - we use e_passwords + instead of a local hashtable. + (get_password): use e_passwords_get_password and + e_passwords_add_password. + (forget_password): use e_passwords_forget_password. + (mail_session_remember_password): use + e_passwords_remember_password. + (mail_session_forget_password): use e_passwords_forget_password. + (mail_session_get_password): new function, use + e_passwords_get_password. + (mail_session_add_password): same, use e_passwords_add_password. + (mail_session_forget_passwords): use e_passwords_forget_passwords. + + * mail-config.c (mail_config_write_on_exit): fix this up so it + works as desired with the e_passwords stuff. + +2001-10-12 Jeffrey Stedfast <fejj@ximian.com> + + * mail-display.c (mail_error_write): Convert URLS so we can get + clickable links. + + * message-list.c: Removed score stuff. + +2001-10-12 Jon Trowbridge <trow@ximian.com> + + * mail-display.c (html_button_press_event): Store our listener id. + (popup_info_free): Disconnect our listener when we free the popup. + (Bug #11040) + +2001-10-11 Jon Trowbridge <trow@ximian.com> + + * mail-callbacks.c (addrbook_sender): Listen for "destroy" events + from the control, so that we don't leave stray windows laying + around. (Bug #9101) + +2001-10-11 <NotZed@Ximian.com> + + * local-config.glade: Added a checkbox for body indexing. + + * mail-local.c (mail_local_reconfigure_folder): Get index_body + widget. + (mail_local_folder_reconfigure): Add an 'index_body' argument & + implement. Dont do anything if nothing changed. + + * openpgp-utils.c (openpgp_verify): Use e_iconv_open. + +2001-10-11 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (do_forward_non_attached): Attach the message + attachments. Fixes bug #5439. + +2001-10-11 Dan Winship <danw@ximian.com> + + * mail-folder-cache.c (update_1folder): No longer need to pass + folder display name to storage update_folder methods. + (setup_folder, free_folder_info): Meaning we no longer need to + keep track of it. + + * evolution-outlook-importer.[ch], evolution-mbox-importer.[ch]: + These copies are cruft. The real ones are in importers/. + +2001-10-11 Jeffrey Stedfast <fejj@ximian.com> + + * component-factory.c (free_storage): Make sure the + service/storage are non-NULL. + + * mail-callbacks.c (e_gnome_dialog_parent_destroyed): Call + gtk_main_quit. + (send_receive_mail): Don't use e_gnome stuff since this doesn't + need to be run using gnome_dialog_run_and_close(). + (composer_send_cb): Same. + (edit_msg): Here too. + (resend_msg): And here. + (search_msg): Same. + (filter_edit): Here too. + (filter_edit): Don't use e_gnome_dialog_set_parent() because we + don't do gnome_dialog_run_and_close on this dialog. + (e_gnome_error_dialog_parented): Removed. + (e_gnome_ok_dialog_parented): Removed. + +2001-10-10 Dan Winship <danw@ximian.com> + + * mail-config.c (new_source_created): Fix up the logic here. + +2001-10-10 Larry Ewing <lewing@ximian.com> + + * mail-callbacks.c (mail_generate_reply): use new function to copy + the attachments from the source message. This still isn't perfect + but it should avoid the problems with headers being transfered. + This makes images in replies work again. + + * mail-display.c (save_url): copy the data. We can't ref the byte + array and we can't free it so we have to copy it. + +2001-10-10 <NotZed@Ximian.com> + + * mail-ops.c (transfer_messages_transfer): IF the source and + destination folders are the same, do nothing. Oh, and return an + error, otherwise the shell goes and removes it anyway. Fixes a + rather serious bug with dnd of folders onto their current + location. + +2001-10-09 Larry Ewing <lewing@ximian.com> + + * mail-display.c (save_part): ref the part. + (save_destroy_cb): new function to unref the part when we have + closed the dialog. + (save_url): fake a mime part so that we can save data urls without + extra effort. This is less sucky than it seems since it handles + filenames and ref counting with minimal fuss. + +2001-10-09 <NotZed@Ximian.com> + + * component-factory.c (owner_unset_cb): Disconnect from all the + signals we were listening to, so we dont try and do shit twice on + exit (one on unset_cb, one on destroy). + (create_component): Setup the signal handlers using a table, so + they're easier to disconnect on finish. + + * mail-folder-cache.c (folder_changed): Ref folder so it hangs + around till we're done with it. + (real_folder_changed): Unref folder when we are done with it. + Should fix #11981. + +2001-10-09 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser.c (done_message_selected): Make sure the + mail-display is non-NULL. + +2001-10-09 <NotZed@Ximian.com> + + * mail-local.c (mlf_search_by_uids): Implement. + +2001-10-09 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser-ui.c (folder_browser_ui_add_message): Create a + chaqrset picker submenu in the View menu. + + * mail-format.c (mail_format_raw_message): Pass the mail-display + to get_data_wrapper_text. + (get_data_wrapper_text): Use the user's override charset if one is + provided, otherwise user the user's default charset. + (handle_text_plain): Pass along the mail-display to + get_data_wrapper_text. + (handle_application_pgp): Same. + (handle_text_enriched): Here too. + (mail_get_message_body): Pass NULL as the mail-display to + get_data_wrapper_text since we don't have access to a + mail-display. + + * mail-display.c (mail_display_set_charset): New function to set a + charset on the maildisplay. Once set, the message is redisplayed + using the new charset. + (mail_display_destroy): Free the charset. + + * folder-browser.c (folder_browser_charset_changed): New callback + for when a user overrides the message charset. + +2001-10-09 Dan Winship <danw@ximian.com> + + * mail-callbacks.c (e_gnome_dialog_set_parent): Use + gtk_signal_connect_while_alive here so + e_gnome_dialog_parent_destroyed doesn't get called on an + already-destroyed dialog. + + * mail-config-druid.c (*_prepare): Record which page we're + currently in. + (*_changed): Only update the druid buttons if we're the current + page. Fixes a problem that could make it impossible to get beyond + the first page of the setup wizard. + + * mail-callbacks.c (mail_generate_reply): Revert the change to use + e_msg_composer_new_with_message. That has unwanted side effects. + (This commit re-breaks replying to HTML messages with inline + images.) + +2001-10-08 Dan Winship <danw@ximian.com> + + * mail-local.c (mlf_set_folder, mlf_unset_folder): Update for + folder_flags. + + * folder-browser-ui.c (folder_browser_ui_add_list): Check + CAMEL_FOLDER_IS_TRASH flag rather than checking + CAMEL_IS_VTRASH_FOLDER. + + * folder-browser.c (folder_browser_toggle_hide_deleted): Likewise + + * message-list.c (message_list_set_folder): Likewise. + (message_list_set_hidedeleted): Remove redundant trash check. + +2001-10-08 Jon Trowbridge <trow@ximian.com> + + * mail-format.c (write_default_header): Write out the Bcc: header + when applicable. Fixes bug #5823. + +2001-10-08 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (attachment_header): Convert the htmlinfo into + utf8. Fixes bug #11966. + +2001-10-08 Dan Winship <danw@ximian.com> + + * component-factory.c (create_view): For mailstorage folders, + connect to the control's "activate" signal, and don't try to + connect to the store. + (storage_activate): Instead, do it here, so if the connection + fails, or the user cancels, or whatever else, he can try again + later. + +2001-10-07 Dan Winship <danw@ximian.com> + + * mail-tools.c (mail_tool_do_movemail): Remove #ifndef + MOVEMAIL_PATH code, since the setting of that variable has been + meaningless for a while now, and the rest of the code DTRT whether + that code executes or not. + +2001-10-05 Jeffrey Stedfast <fejj@ximian.com> + + * mail-mt.c (pass_got): Fix a merge-conflict leftover. + +2001-10-05 <NotZed@Ximian.com> + + * folder-browser.c: reformatted the menu tables so they're a bit + more bloody readable. + + * mail-folder-cache.c (mail_note_store): Hook into + subscribed/unsubscribed events. Only 'add/remove' folders from + the add/removed events if we aren't subscribed, otherwise use the + subscribed events. Rest of fix for #11831 + +2001-10-05 Jon Trowbridge <trow@ximian.com> + + * mail-config.glade: Add toggle button to config menu to turn the + "confirm sending unwanted HTML" dialog on/off. (Bug 10794) + + * mail-accounts.c (construct): Make said toggle button actually + work. + +2001-10-05 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (e_gnome_dialog_set_parent): New convenience + function that not only sets the gnome-dialog's parent window but + also makes sure that the gnome-dialog closes when it's parent + closes. + (e_gnome_warning_dialog_parented): New conmvenience wrapper around + the libgnomeui version that also does the same thing as + e_gnome_dialog_set_parent. + (e_gnome_error_dialog_parented): Same. + (e_gnome_ok_dialog_parented): And again... + (e_gnome_ok_cancel_dialog_parented): And once again. + +2001-10-05 Larry Ewing <lewing@ximian.com> + + * mail-callbacks.c (mail_generate_reply): use + e_msg_composer_new_with_message rather than e_msg_composer_new. + This way we bring in all the attachment of the message we are + replying to. + +2001-10-05 Christopher James Lahey <clahey@ximian.com> + + * message-list.c (message_list_setup_etree): Turn on + "uniform_row_height" argument. + +2001-10-04 <NotZed@Ximian.com> + + * folder-browser.c (update_status_bar): Show "nn sent" as total in + sent folder, rather than just 'total'. + + * mail-folder-cache.c (update_1folder): Also show total message + count for sent_folder. + + * folder-browser-ui.c (folder_browser_setup_property_menu): Do a + better job of setting up the name. Also de-sensitise when we + can't configure the folder. + +2001-10-04 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (providers_config): Set the parent window as + the fb. This fixes bug #11723. + (filter_edit): Do the same thing here too and also to the warning + dialog. + (edit_msg): Set the parent on the warning dialog. + (resend_msg): And here. + (search_msg): Here too. + (confirm_expunge): Set the parent window on the dialog here too. + (save_msg_ok): Same here. + + * mail-accounts.c (images_radio_toggled): Ignore the signal if the + radio button is not "on". This fixes bug #10532 because the on/off + signals don't always come in the off->on order. + + * mail-ops.c (mail_send_message): Reduced some redundancy. + +2001-10-04 Dan Winship <danw@ximian.com> + + * mail-format.c (write_address): Fix so that an email address with + no name is once again just "foo@bar.com", not "<foo@bar.com>". + +2001-10-04 Iain Holmes <iain@ximian.com> + + * importers/evolution-mbox-importer.c (load_file_fn): Only pass + CAMEL_STORE_FOLDER_CREATE when the shell will be creating the + folder. + +2001-10-04 <NotZed@Ximian.com> + + * mail-callbacks.c (configure_folder): If we're accessing a + vfolder uri, then popup the vfolder editor instead of trying the + mail local one. + + * mail-vfolder.c (vfolder_edit_rule): Edit a vfolder by name. + +2001-10-04 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-gui.c (mail_account_gui_save): Added some more NULL + checks. + +2001-10-04 <NotZed@Ximian.com> + + * component-factory.c (storage_remove_folder): Do the url + fragment/path -> folder name hack. Removing vfolders from shell + works now? + +2001-10-03 <NotZed@Ximian.com> + + * mail-send-recv.c (build_dialogue): Only build destination data + if we have destination != NULL. Fixes crash of bug #10835. + + * folder-browser.c (folder_browser_config_search): Set 'to' -> + 'recipient' data for search object. #6199. + + * mail-local.c (local_storage_new_folder_cb): Handle vtrash case, + emit 'folder_created' event for the folder-cache to work, etc. + +2001-10-03 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (mail_write_authenticity): Don't use the wax-seal + icons for the pgp stuff anymore, use Jimmac's new icons instead. + +2001-10-03 <NotZed@Ximian.com> + + * mail-folder-cache.c (folder_changed): Dont wait for event to + finish before returning. This could however mean we process it + after things have vanished below us? Fixes another case of ctrl-d + deadlock. + + * folder-browser.c (update_status_bar): If we have hide deleted + set, then dont count deleted messages in the 'total' messages + count. Fixes #6591. + + * mail-ops.c (add_vtrash_info): If we have a fragment, override + that, rather than the path. Fixes #5251. + (remove_folder_get): Freeze/thaw around deleting all messages in + folder. + +2001-10-03 Rodrigo Moya <rodrigo@ximian.com> + + * importers/Makefile.am: add $BONOBO_GNOME_CFLAGS to make it work + with latest Bonobo + +2001-10-02 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (transfer_msg): Pass an empty flags argument to + mail_transfer_messages - destination folder should already be + created by this point. + + * folder-browser.c (message_list_drag_data_received): Pass an + empty flags argument to mail_transfer_messages. + (selection_received): Same. + + * component-factory.c (xfer_folder): Pass the CREATE flag to + mail_transfer_messages() so that the dest folder gets created. + (destination_folder_handle_drop): Update for mail-ops API change. + + * mail-ops.c (mail_transfer_messages): Now takes a dest_flags + argument that it passes along to mail_tool_uri_to_folder when + opening the destination folder. + +2001-10-02 Jeffrey Stedfast <fejj@ximian.com> + + * mail-vfolder.c (vfolder_setup_do): Pass an empty flags argument + to mail_tool_uri_to_folder. + (vfolder_adduri_do): Same. + + * mail-session.c (get_folder): Pass an empty flags argument to + mail_tool_uri_to_folder. + + * mail-send-recv.c (receive_get_folder): Pass an empty flags + argument to mail_tool_uri_to_folder. + + * mail-ops.c (get_folder_get): Pass the flags to + mail_tool_uri_to_folder. + (mail_get_folder): Now takes a flags argument. + (remove_folder_get): Pass an empty flags argument to + mail_tool_uri_to_folder. + (mail_send_message): Pass an empty argument flag to + mail_tool_uri_to_folder. + (transfer_messages_transfer): Same. Destination folder should + already be created by this time. + + * folder-info.c (do_get_info): Pass an empty flags argument to + mail_tool_uri_to_folder. + + * importers/evolution-mbox-importer.c (folder_created_cb): Pass + the CREATE flag here too. + (load_file_fn): And here. + (load_file_fn): And here too. + + * importers/evolution-outlook-importer.c (load_file_fn): Pass the + CREATE flag to mail_tool_uri_to_folder. + + * folder-browser.c (folder_browser_new): Pass an empty flags + argument. + (x_evolution_message_parse): Pass an empty flags argument to + mail_tool_uri_to_folder. + + * component-factory.c (create_folder): Pass a CREATE flag to + mail_get_folder here too. + (owner_set_cb): And here. + (xfer_folder): Shouldn't need the CREATE flag here, so not passing + any flags. + (destination_folder_handle_drop): Same. + + * mail-local.c (mail_local_store_add_folder): Pass a CREATE flag + to mail_get_folder. + (reconfigure_folder_reconfigure): Pass an empty flags argument to + mail_tool_uri_to_folder. + + * mail-tools.c (mail_tool_uri_to_folder): Take a flags argument. + (mail_tool_get_local_inbox): Pass an empty flags argument to + mail_tool_uri_to_folder. + +2001-10-02 Ettore Perazzoli <ettore@ximian.com> + + * mail-account-gui.c (launch_signature_editor): Use + `bonobo_ui_component_new_default()', not + `bonobo_ui_component_new()'. + +2001-10-01 Jon Trowbridge <trow@ximian.com> + + * mail-display.c (on_url_requested): Make sure we aren't dealing + with a pathological message w/o a From: header. + (ebook_callback): Properly check that the address we queried + matches the address on the current message. (Bug #10038) + +2001-10-01 Iain Holmes <iain@ximian.com> + + * component-factory.c (component_factory_init): Check for errors. + + * mail.h: Change prototype for evolution_folder_info_factory_init. + + * folder-info.c (evolution_folder_info_factory_init): Return TRUE + or FALSE. + + * mail-config.c (evolution_mail_config_factory_init): Return TRUE or + FALSE. + + * mail-config.h: Change prototype for above. + +2001-10-01 Jeffrey Stedfast <fejj@ximian.com> + + * mail-vfolder.c (mail_vfolder_remove_uri): replace my_list_find() + == NULL with my_list_find() != NULL. + +2001-10-01 Dan Winship <danw@ximian.com> + + * component-factory.c (mail_load_storage_by_uri): create storages + for providers that are STORAGE and aren't EXTERNAL, rather than + "(STORAGE and REMOTE) or spool, maildir, or vfolder". + (mail_remove_storage_by_uri): Use the same rule here (which makes + it possible now to remove maildir and spool stores now, which + weren't properly special-cased before). Remove some CamelException + misuse. + + * mail-config.c (new_source_created): Fix up the broken INBOX- + shortcut-generating assumption a little by only assuming that if + you call camel_store_get_inbox(), that its full_name is the same + as its path. (This happens to always be true for inboxes now, and + will be always true by definition at some point in the future.) + Now maildir stores get working Inbox shortcuts. + + * mail-send-recv.c (get_receive_type): If PROVIDER_IS_STORAGE + then use SEND_UPDATE, if not, use SEND_RECEIVE. + + * mail-local.c (local_provider): The local provider is EXTERNAL. + (The shell creates it.) + (mail_local_reconfigure_folder): Allow reconfiguring between + IS_LOCAL providers. + + * mail-accounts.c (news_delete): Don't need to check the provider + flags here... we know nntp is a STORAGE. + +2001-10-01 Dan Winship <danw@ximian.com> + + * mail-local.c (mail_local_reconfigure_folder): Don't use + mail_tool_get_folder_name here since that function only existed to + be clever in a certain case that this is not. + (reconfigure_folder_free): Remove the dialog from the hash table + here so that it gets removed in the successfully-reconfigured case + too. Don't unref folder_out if it never got set. + (reconfigure_clicked): Remove the hash table code from here; it's + in reconfigure_folder_free now. + + * mail-tools.c (mail_tool_get_folder_name): No longer used by + anything. + (mail_tool_get_folder_from_urlname): Also not used anywhere. + +2001-10-01 Jeffrey Stedfast <fejj@ximian.com> + + * mail-tools.c (mail_tool_uri_to_folder): Don't pass the CREATE + flag, we shouldn't ever need this... + +2001-10-01 Larry Ewing <lewing@ximian.com> + + * mail-identify.c (mail_identify_mime_part): if gnome-vfs returns + application/octet-stream with the magic check, use the filename + check instead since it at least has a chance of being useful. + +2001-09-28 Dan Winship <danw@ximian.com> + + * folder-browser-ui.c (fbui_sensitize_timeout): wrap a + bonobo_ui_component_freeze/thaw around all of the set_props so + they all update at once. + +2001-09-28 Jeffrey Stedfast <fejj@ximian.com> + + * mail-accounts.c (construct): Don't create checkboxes for global + Threaded or Preview options as they are now removed. + +2001-09-28 <NotZed@Ximian.com> + + * component-factory.c (owner_set_cb): Setup vfolder storage before + all others. + + * mail-local.c (mail_local_store_remove_folder): Emit + folder_deleted event. + (remove_find_path): Fix, compare against path, not full_name. + + * mail-tools.c (mail_tool_uri_to_folder): Dont + vfolder_register_source anymore. + + * mail-vfolder.c (rule_changed): Changed to access + mail_fodler_cahce to find out if the folder exist yet before + trying to open them, also use the cache as a cache so we dont have + to open the folder if its already been opened. + (vfolder_register_source, register_source): Removed. + (source_finalise): Removed, + (check_source): Removed. All handled through diff mechanism. + (mail_vfolder_add_uri): New function, records uri's of available + folders, and adds them to any active vfolders if required. + (mail_vfolder_remove_uri): New function, removes a uri from + available folders, and checks any rules to see fi they need + updating. + (vfolder_adduri): New async function to add a uri to all vfolders + that need it. + (store_folder_deleted): oops! free user, not rule!! + + * mail-folder-cache.c: Add uri->folderinfo hashtable, and the + store from which they come into the store info struct. + Add uri to the folder_info. + (setup_folder): Store the uri in the folderinfo. + (setup_folder): And the uri in the folder_uri hashtable. + (mail_note_store): Store the store in the storeinfo, and setup the + folders_uri hashtable via the store's hash functions. + (setup_folder): Call mail_vfolder_add_uri to note this newly setup + folder uri. + (store_folder_deleted): Proxy call to main thread. + (real_folder_deleted): And tell the vfolder to remove this uri + from its folder list. + (setup_folder): Dont call vfolder_add_uri if noselect is set on + the uri. + +2001-09-27 <NotZed@Ximian.com> + + * mail-vfolder.c: Removed vfolder_info struct, vfolder_storage. + Neither used anymore. + +2001-09-28 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config.c (mail_config_get_account_by_transport_url): Use + Camel to compare the urls rather than using e_url_equal which does + all sorts of funky shit that may not work in every case. + +2001-09-28 Jeffrey Stedfast <fejj@ximian.com> + + * mail-local.c (mail_local_provider_init): Setup the url_hash and + url_equal functions for the local provider. + + * mail-account-gui.c (mail_account_gui_save): Add code here to + check to make sure that the Drafts and Sent folders are pointing + to valid urls. This is kinda nasty and only really solves the case + where the user changes, say, his imap server or + something. Unfortunately we still have the problem where if + account A's sent/drafts folders point to account B's store and the + user changes the url for account B. + + * mail-config.c (mail_config_get_account_by_source_url): Use Camel + to compare the urls rather than using e_url_equal which does all + sorts of funky shit that may not work in every case. + +2001-09-28 Dan Winship <danw@ximian.com> + + * mail-mt.c (pass_got): Don't call + mail_config_service_set_save_passwd if we didn't find a service. + +2001-09-27 Ettore Perazzoli <ettore@ximian.com> + + * mail-config.c (add_shortcut_entry): Just add the shortcut to the + first group. + +2001-09-28 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser-ui.c (folder_browser_ui_add_list): Call + folder_browser_toggle_threads() here after setting the value. This + should fix bug #6415 and if it doesn't, then this whole deal is + just a lost cause. + + * mail-mt.h: Added mail_msg_cleanup() prototype. + +2001-09-28 Dan Winship <danw@ximian.com> + + * mail-format.c (get_data_wrapper_text): Deal with + camel_mime_filter_charset_new_convert returning NULL. (Every other + call to it does, and something's wrong with iconv on the Sun right + now so it keeps failing.) + +2001-09-27 Ettore Perazzoli <ettore@ximian.com> + + * mail-mt.c (do_user_message): Always make the Cancel button the + last one. + +2001-09-27 <NotZed@Ximian.com> + + * mail-folder-cache.c (real_note_folder): No such event finalized! + Its finalize. + (mail_note_store): " + + Fixed dan's comment a bit, info != NULL for folder_created, info== + NULL for changed. + +2001-09-26 <NotZed@Ximian.com> + + * mail-local.c (mlf_set_message_flags): Proxy the + set_message_flags call too. Doesn't fix the 'local folder counts + dont update' problem, but its more correct. + +2001-09-27 Jeffrey Stedfast <fejj@ximian.com> + + * mail-session.c (mail_session_remember_password): Perform a + NULL-check. Hopefully fixes bug #7874. + +2001-09-27 Dan Winship <danw@ximian.com> + + * mail-offline-handler.c (service_is_relevant): A service needs to + be disconnected if it's remote, not already offline, and either + connected OR connecting. + (storage_go_offline): Don't put non-relevant stores offline. (Eg, + don't force an IMAP store which you hadn't already connected to to + connect and sync.) + (storage_go_online): Likewise, don't "reconnect" stores that + weren't connected before. + + * mail-ops.c (set_offline_desc): Fix the message to say + "reconnecting" instead of "disconnecting" when appropriate. + (mail_store_set_offline): If offline is TRUE, call + camel_service_cancel_connect on the store. (We do this here + because we don't want the cancel_connect request to get queued up + behind a hanging connection attempt.) + +2001-09-26 Anna Marie Dirks <anna@ximian.com> + + * mail-config.glade: Added a "Description:" label and moved + the source_description and transport_description labels to + a more appropriate place. + +2001-09-26 Christopher James Lahey <clahey@ximian.com> + + * message-list.c (mlfe_callback): Check for the root node here. + Fixes Ximian bug #11029. + +2001-09-26 Jeffrey Stedfast <fejj@ximian.com> + + * mail-mt.c (do_get_pass): Change the wording of the password + dialog if we are getting a pgp passphrase so that users don't + misinterpret it to mean saving the passphrase forever. + +2001-09-26 Jon Trowbridge <trow@ximian.com> + + * mail-callbacks.c (composer_get_message): strdup our "This + message contains invalid recipients" string, since it gets freed + later. And then don't leak the message string. (Bug #10877) + + * mail-format.c (write_address): Use camel_address_format, + not camel_address_encode. + + * mail-display.c (html_button_press_event): Decode our URL before + extracting the address to pop up contact info. + + * mail-format.c (write_address): When writing out a mailto: link, + make sure we construct a valid URL w/ correct encoding. Make sure + our address is properly quoted, if necessary. + +2001-09-26 Dan Winship <danw@ximian.com> + + * mail-folder-cache.c: Add a big comment explaining unread message + counts so no one can mess them up again in the future. :-) + (update_1folder): If info->unread_message_count is -1, don't do + anything. + + * component-factory.c (component_factory_init): warn and exit if + oaf_active_server_register returns OAF_REG_ALREADY_ACTIVE. + +2001-09-26 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config.c (config_read): Oops, translate the fake account + name to UTF-8. + +2001-09-26 Christopher James Lahey <clahey@ximian.com> + + * message-list.c (message_list_foreach): Use + e_tree_selected_path_foreach instead of + e_tree_selected_row_foreach here. + +2001-09-27 Michael Meeks <michael@ximian.com> + + * mail-config.c (mail_config_init): report the + exception on failure and abort quickly instead of hitting + a strange assert later. + +2001-09-25 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (decode_pgp): Update to not send the + remember-passphrase option to the context, it doesn't need it + anymore. + (try_inline_pgp_sig): Same. + + * mail-accounts.c (construct): The remember-passphrase option is + no longer there. This can now be set on the passphrase prompt + dialog. + (construct): Add confirm expunge options. + + * mail-config.c (config_read): We no longer read-in the + remember-passphrase state because we no longer need it. + (mail_config_write_on_exit): We no longer save it either. + (mail_config_get_remember_pgp_passphrase): Removed. + (mail_config_set_remember_pgp_passphrase): Removed. + + * mail-crypto.c (mail_crypto_pgp_mime_part_sign): No longer do we + need to send the remember passphrase state to the pgp context. + (mail_crypto_pgp_mime_part_verify): Same. + (mail_crypto_pgp_mime_part_encrypt): Here too. + (mail_crypto_pgp_mime_part_decrypt): And here. + +2001-09-25 Ettore Perazzoli <ettore@ximian.com> + + [Patch for Automake 1.5 compatibility pointed out by Richard + Boulton <richard@tartarus.org>, as per #9258.] + + * Makefile.am (CLEANFILES): Assign directly, not with `+='. + +2001-09-25 Jeffrey Stedfast <fejj@ximian.com> + + * mail-folder-cache.c (update_1folder): The folder-info needs to + take priority over the folder because of the way IMAP works (which + is that it doesn't actually update the folders until you SELECT + them and so when you do get_folder_info(), it doesn't actually + SELECT the folders, it just STATUS's them). + +2001-09-25 <NotZed@Ximian.com> + + * folder-browser.c (folder_browser_destroy): Deal with destroy vs + finalise semantics. Only destroy widgets here. + (folder_browser_finalise): object finalise function, actually + unref/free all other objects here. + (folder_browser_class_init): Init the finalise hook. + (got_folder): Check if message_list == NULL -> we've been + destroyed before the thread got a chance to finish loading the + folder. + (folder_browser_is_drafts): Dont use a g_return_if_fail to return + in what could be a valid state of the object. + (folder_browser_is_sent): Likewise. + (folder_browser_copy): Do nothing if message_list == NULL. + + * main.c (main): call mail_msg_cleanup() before leaving threads. + + * component-factory.c (owner_unset_cb): Wait for all outstanding + operations to finish before setting up to quit. + (idle_quit): Wait for all outstanding ops to finish before + cleanup. + (unref_standard_folders): NULL out the standard folder before + unreffing it. + + * mail-mt.c (mail_msg_wait_all): New function to wait for all + outstanding thread operations. + (mail_msg_cleanup): Destroy the io channels before we're + finished. Also wait for all outstanding threads first. Made + public. + (mail_msg_init): Dont call mail_msg_cleanup atexit automatically. + + +2001-09-25 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (get_data_wrapper_text): If the data wrapper + contains raw text, treat the contents as if they were in the + user's default charset and convert them to UTF-8. + + * component-factory.c (owner_set_cb): Throw up a warning dialog if + we suspect the config database is corrupt. + + * mail-config.c (config_read): If the account name is NULL, then + we have a corrupt config database most likely - so generate a fake + account name and set the corrupt but to TRUE. + (mail_config_is_corrupt): New function to find out if the config + is suspected of being corrupted. + +2001-09-25 Iain Holmes <iain@ximian.com> + + * mail-config.c (impl_GNOME_Evolution_MailConfig_addAccount): + Check if the transport is NULL. + +2001-09-25 Iain Holmes <iain@ximian.com> + + * mail-display.c (link_menu): Remove the Save Link as (FIXME) + item. + +2001-09-25 Jeffrey Stedfast <fejj@ximian.com> + + * mail-mt.c (pass_got): Only cache the password for the service if + it has an entry in the account database. Fixes bug #10875. + +2001-09-24 Christopher James Lahey <clahey@ximian.com> + + * message-list.c (filter_date): Use e_strftime_fix_am_pm instead + of strftime. + +2001-09-24 <NotZed@Ximian.com> + + * mail-local.c (mls_get_folder): Removed unused variables. + + * component-factory.c (storage_create_folder): Remove unused + variable. + + * mail-format.c (write_default_header): Used to write a header + that we know about/normally print. Use a static header table to + index these. + (write_header): removed. + (default_header_index): Return the index of the default header. + (write_headers): Changed the way it writes headers a bit. Use + write_default_header or write_text_header directly. Also try and + use the header charset as a fallback if the header can't be + decoded using the locale charset. + +2001-09-23 Jeffrey Stedfast <fejj@ximian.com> + + * mail-mt.c (pass_got): Always cache POP and IMAP passwords, even + if the user didn't tell us to. Fixes bug #10569. + +2001-09-21 <NotZed@Ximian.com> + + * mail-mt.c (mail_msg_check_error): If we have an operation that + failed before, dont show the dialogue for the the new error. Also + use gtk_widget_show rather than invoking another main loop. Fix + for lazy people who like to leave their mailers running and go + home. + +2001-09-21 Jeffrey Stedfast <fejj@ximian.com> + + * mail-ops.c (mail_send_message): Use the mail-tools convenience + functions to remove and restore the X-Evolution headers. + (mail_update_subfolders): Removed. + +2001-09-21 <NotZed@Ximian.com> + + * mail-callbacks.c (mail_storage_create_folder, folder_created, + create_folders): All made redundant by new mail-folder-cache + code. + (delete_folders, folder_deleted): Uh, code that isn't used + anywhere. Removed. + + * component-factory.c (storage_create_folder): Dont call + folder_created, let the folder_created event handle the update. + + * mail-local.c (mail_local_store_add_folder): Use url path as + full_name, not shell path. + (mail_local_folder_construct): Remove path argument, and use the + full_name instead. + (mls_get_folder): Dont lookup folderinfo in cache. Like duh the + shell hasn't told me its there yet, smaaaart. + + * mail-folder-cache.c (mail_note_store): Take a new argument + 'done' that can callback when complete. Fixed callers + appropriately. + + * mail-ops.c (mail_update_subfolders): Removed. Isn't used + anymore. + (mail_scan_subfolders): Remove, no longer used. + + * mail-send-recv.c (receive_update_got_store): Remove call to + mail_update_subfolders. + +2001-09-20 <NotZed@Ximian.com> + + * mail-vfolder.c (check_source): Dont let drafts/outbox/sent be + added via a generic 'all local folders' rule. + + * component-factory.c (got_folder): trigger a folder changed + event, so the folderinfocache stuff has a chance to see if this is + the outbox_folder or not. + + * mail-folder-cache.c (update_1folder): If we have -1 unread + count, pass that as 0 to the shell so it doesn't go bolding. + (setup_folder): Same. + +2001-09-20 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-gui.c (mail_account_gui_save): Only add the account + if it doesn't already exist in the config db. + + * mail-config.c (mail_config_find_account): New convenience + function. + + * mail-config-druid.c (wizard_finish_cb): Do not add the account + here as this is taken care of in mail_account_gui_save() since it + has to be able to set the default account. + + * mail-config.c (mail_config_set_default_account): Don't allow the + index to become invalid. + + * mail-account-gui.c (mail_account_gui_save): Add the account + before setting it as the default. + +2001-09-20 <NotZed@Ximian.com> + + * folder-browser.c (folder_browser_set_shell_view): Update the + status bar here, assuming we've just been activated. + + * mail-ops.c (add_vtrash_info): Scan whole list, rather than + missing the last one. Also dont assume its always the last, + otherwise we could lose following folders. + +2001-09-20 Jeffrey Stedfast <fejj@ximian.com> + + * mail-tools.c (mail_tool_uri_to_folder): Don't "note" the folder + if we failed to get it. + +2001-09-20 Iain Holmes <iain@ximian.com> + + * mail-account-gui.c (mail_account_gui_new): Set the sensitivity + of the edit buttons correctly. + +2001-09-20 <NotZed@Ximian.com> + + * mail-vfolder.c (vfolder_register_source): Lock around + hashtable/list manipulation. Also dont try scan vfolder_hash if + it hasn't been setup yet. + (source_finalise): Lock around list access. + (rule_changed): Lock around hash access. + (context_rule_added): Lock around hash access. + (context_rule_removed): " + (rule_changed): Lock around list access. + (all): d(x) out debug printfs + + * mail-local.c (storage_listener_startup): Fix for api change. + (local_storage_new_folder_cb): Dont skip over leading / in path. + (local_storage_removed_folder_cb): ditto. + + * mail-folder-cache.c (create_folders): No longer pass prefix + between recursive calls - we have the path in the folderinfo. + (setup_folder): No longer take path arg, we get it from + folderinfo. + (mail_note_folder): No longer take path arg, we use + folder->full_name to key the folder table. + (mail_note_store): Consolidate note_store interface, pass storage + or corba_storage to it. + (mail_note_local_store): Removed. + (update_1folder): If its a vtrash folder, or the outbox_folder, + and we have a folder, then make the 'count' the total message + count, not unread messages count. + +2001-09-20 Jeffrey Stedfast <fejj@ximian.com> + + * mail-local.c (mail_local_store_add_folder): Set the folder info + path. + +2001-09-20 <NotZed@Ximian.com> + + * mail-tools.c (mail_tool_uri_to_folder): Register vfolder sources + here. + + * folder-browser.c (got_folder): Dont register vfolder sources + here. + + * mail-ops.c (mail_get_folder): Add thread parameter. Fix callers. + (add_unmatched_info): Scan for unmatched name and re-title. + + * mail-vfolder.c (vfolder_setup): Use the 'slow' queue for setting + up vfolders. + + * mail-mt.c (mail_msg_init): Limit the maximum number of threads + on the 'new' thread to 10. + (mail_msg_init): Create a new queue 'slow' for doing slow + operations. + +2001-09-20 Iain Holmes <iain@ximian.com> + + * mail-display.c (mail_error_write): Add a <blockquote> to make + the error message look better. + +2001-09-20 <NotZed@Ximian.com> + + * mail-tools.c (mail_tool_uri_to_folder): Dont special case file: + url's anymore. + + * mail-local.c: Add real_path to MailLocalFolder. + (mail_local_folder_construct): Added path argument, setup + full_name == path, and real_path == full_name. + (mls_get_folder): First lookup folderinfo to confirm this folder + exists, then use that to properly construct the folder paths. + (mail_local_folder_reconfigure): Use real_path not full_name to + create the store uri. + (mlf_set_folder): Use real_path not folder_name to get real uri + path. + +2001-09-19 <NotZed@Ximian.com> + + * mail-folder-cache.c (setup_store): Use the wrong spelling of + finalised for the event hook. + (real_note_folder): Use the wrong spelling of finalised for the + event hook. + (free_folder_info): Free the full_name parameter. + (setup_folder): + (real_note_folder): Key the folderinfo table on full_name, not + path. + +2001-09-20 Jeffrey Stedfast <fejj@ximian.com> + + * mail-ops.c (save_messages_save): Convert all textual parts to + 8bit before saving. Fixes bug #10388. + + * mail-callbacks.c (ask_confirm_for_unwanted_html_mail): Oops, + don't free memory that we don't own. + +2001-09-20 Dan Winship <danw@ximian.com> + + * mail-config.c (evolution_mail_config_factory_init): No need to + have g_warnings here. If it's done properly, therapeutically, + there's no danger involved. + +2001-09-19 Jon Trowbridge <trow@ximian.com> + + * mail-callbacks.c (mail_generate_reply): Truncate extremely long + subjects. (inspired by bug #9158) + + * mail-tools.c (mail_tool_generate_forward_subject): Truncate + extremely long subjects. (bug #9158) + +2001-09-19 Jeffrey Stedfast <fejj@ximian.com> + + * mail-send-recv.c (receive_update_got_store): Here too. + + * component-factory.c (create_view): Call mail_note_store() + instead of mail_scan_subfolders() here so that these folders get + hooked up with the unread count code. + +2001-09-12 Iain Holmes <iain@ximian.com> + + * importers/evolution-mbox-importer.c (load_file_fn): Fix memory + leak. + +2001-09-19 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (ask_confirm_for_unwanted_html_mail): Convert + the names to the locale charset. + +2001-09-19 Dan Winship <danw@ximian.com> + + * mail-callbacks.c (create_folders): Pass the actual unread + message count, not just whether or not it's > 0. Fixes ximian + 9089. + +2001-09-19 <NotZed@Ximian.com> + + * component-factory.c: Added missing header. + + * mail-local.c (mail_local_store_add_folder): Async load the + folder we just added, so it can update the folder counts in the + display. We just discard the folder afterwards? + + * mail-ops.c (mail_get_folder): Use the queued thread to get + folders. + + * General cleanup of mail debug printfs. + + * mail-folder-cache.[ch]: Completely rewritten. Removed all calls + to the old code everywhere they were used. Nuff said. + + * folder-browser.h: Add shell_view to folder_browser & api to set + it. + + * folder-browser-factory.c (control_activate): Set the shell-view + on the folder_browser. + (control_deactivate): And clear it here. + + * folder-browser.c (folder_browser_destroy): Unhook from changed + events on the folder before giving it away. + (got_folder): Hook onto the folder-changed events. + (folder_changed): Event hook proxy for folder_changed events + (main_folder_changed): And the main code version. + (update_status_bar): And the one that actually does the work. + (on_selection_changed): Also call update_status_bar() to update + the selection count. + (folder_browser_set_shell_view): Implement function to set the + shell_view on the folder_browser. + (folder_browser_destroy): Release the shell_view here too. + + * mail-tools.c (mail_tool_uri_to_folder): Dont 'note' the new + folder if its from a file: url, this is handled by hte local store + (yeeruughck). + + * mail-local.c (mls_init): + (free_info): + (mls_finalise): Setup init/finalise funcs for the folderinfo hash. + (local_storage_removed_folder_cb): re-enable. + +2001-09-18 <NotZed@Ximian.com> + + * mail-local.c (MailLocalStore): Add a hash table to store + uri<>folderinfo data. + (mail_local_store_add_folder): Add a new folderinfo to our hash. + (mail_local_store_remove_folder): Remove a folder by uri. + (storage_listener_startup): Add this store to those monitored by + the folder tree. + +2001-09-18 Jeffrey Stedfast <fejj@ximian.com> + + * mail-mt.c (do_get_pass): Make the title translatable, and also + use the account name when possible. Sorta fixes bug #6277. + +2001-09-17 <NotZed@Ximian.com> + + * mail-send-recv.c (get_receive_type): Function to get the real + receive tpe for ag iven url. IMAP/SPOOL/MAILDIR types just update + their info, dont download. + (build_dialogue): + (mail_receive_uri): Use function above to get the right receive + type. + +2001-09-18 Jeffrey Stedfast <fejj@ximian.com> + + * mail-tools.c (mail_tool_remove_xevolution_headers): Oops, forgot + about X-Evolution-Format. + (mail_tool_restore_xevolution_headers): Same. + +2001-09-18 Dan Winship <danw@ximian.com> + + * folder-browser.c (folder_browser_set_uri): Merged into + folder_browser_new: nothing ever changes the URI of an existing + folder browser any more. + (folder_browser_new): Make this take a uri argument and do the + work folder_browser_set_uri used to do, except that we set fb->uri + right away, so that if the folder browser's control is activated + before got_folder() gets called, then folder_browser_ui_add_list() + will have access to the correct uri for purposes of setting + ViewThreaded, etc. Fixes #4913. + (got_folder): Don't set fb->uri here since it will already have + been set. Don't call message_list_set_threaded, since it should be + a noop now (and if it's not, it would make the message list not + match the menu item). + + * folder-browser-ui.c (folder_browser_ui_add_list): Remove some + code that was failing to work around the problems above. + + * message-browser.c (message_browser_new): Pass uri to + folder_browser_new, remove call to set_uri. + + * folder-browser-factory.c (folder_browser_factory_new_control): + Likewise. Also fix a s/destroy/unref/ in an error cleanup. + +2001-09-18 Jeffrey Stedfast <fejj@ximian.com> + + * mail-session.c (get_password): Pass a 'cache-me' argument to + mail_get_password. + + * mail-mt.c (pass_got): Make less confusing... + (mail_get_password): Now takes an argument 'cache' that allows our + caller to determine if the user wanted to cache his/her password + or not. + (pass_got): Set the cache option. + +2001-09-18 Dan Winship <danw@ximian.com> + + * mail-format.c (mail_format_raw_message): Call + mail_content_loaded here rather than blocking if the message data + isn't available. + +2001-09-17 <NotZed@Ximian.com> + + * mail-ops.c (mail_get_folderinfo): Get folderinfo 1 at a time + rather than all at once. + +2001-09-17 Jeffrey Stedfast <fejj@ximian.com> + + * component-factory.c (storage_remove_folder): Unsubscribe from + the folder before deleting it. Also, use the url's path instead of + the shell's path since IMAP doesn't necessarily have to use "/" as + the dir sep. + + * mail-ops.c (remove_folder_get): If the store supports + subscriptions, make sure to unsubscribe from the folder before + deleting it. + +2001-09-17 <NotZed@Ximian.com> + + * mail-local.c (storage_listener_startup): Setup global + corba_storage variable. + (mls_get_folder): Set 'update lstorage' on the newly opened + folder. + +2001-09-17 Jeffrey Stedfast <fejj@ximian.com> + + * mail-display.c (invisible_selection_get_callback): Do nothing if + the selection is NULL? Maybe this is the cause of bug #6817. + + * mail-config.c (mail_config_folder_to_cachename): Go back to + generating the cachename ourselves, but continue doing it the way + the dfault implementation of camel_folder_get_uri worked. + +2001-09-16 Christopher James Lahey <clahey@ximian.com> + + * message-list.c (ml_get_node_by_id): Made save_id const here. + +2001-09-16 Jeffrey Stedfast <fejj@ximian.com> + + * mail-display.c (pixbuf_gen_idle): Don;t destroy the pixbuf + loader, unref it instead. + + * mail-config.c (mail_config_folder_to_cachename): Use + camel_folder_get_uri(). + +2001-09-15 <NotZed@Ximian.com> + + * mail-vfolder.c: Major rewrite of most of the guts, handle + changes based on signals and events, etc. Use the main storage + handling code that imap uses, etc. + + * mail-tools.c (mail_tool_uri_to_folder): Dont special case + vfolder: anymore. + + * component-factory.c (owner_set_cb): use vfolder_load_storage(), + new function to setup vfolder storage, after interaction has been + enabled only. This might need some tweaking ... + (storage_remove_folder): Removed all the folder lookup stuff. + Just delete the folder based on the path passed in. There should + be no reason this wouldn't work, right? + +2001-09-14 <NotZed@Ximian.com> + + * mail-ops.c (get_folderinfo_get): Only add vtrash folder info, if + store supports vtrash. + + * component-factory.c (mail_load_storage_by_uri): Let 'vfolder' + stores show up too. + +2001-09-13 <NotZed@Ximian.com> + + * mail-vfolder.c (vfolder_uri_to_folder): Open a vfolder then set + its expression, since name?query open method is removed. + +2001-09-14 Jeffrey Stedfast <fejj@ximian.com> + + * subscribe-dialog.c (fe_root_value_at): Return the cached value + of camel_service_get_name so that we don't leak memory. + (fe_real_value_at): Don't strdup the node's name. + (folder_etree_construct): Set the service_name. + (fe_destroy): Free the service_name. + + * mail-ops.c (add_vtrash_info): Free the temporary path variable + here. + + * subscribe-dialog.c (store_data_new): Added a refcount variable + so set the refcount to 1. + (sd_got_store): Unref the store-data. + (store_data_async_get_store): Ref the store-data. + (store_data_ref): New function. + (store_data_unref): New function. + (subscribe_dialog_destroy): Instead of freeing the store-data + here, unref it instead. We may just have an async function + running. Set the callback function to NULL so that when the + (remaining) async functions finish, they become no-ops. + + * mail-send-recv.c (build_dialogue): Revert my bar_destroy code + and replace it with dialog_destroy instead. + + * mail-ops.c (mail_send_message): Append a message to any + exception we get appending to any folders after having sent the + message successfully saying that the message was sent successfully + so the user doesn't misinterpret the error. + +2001-09-13 Jon Trowbridge <trow@ximian.com> + + * mail-callbacks.c (composer_get_message): Fixed double-freeing of + EDestination vector when sending html mail to people who don't + necessarily want it. Fixes bug #9848. + +2001-09-13 Jeffrey Stedfast <fejj@ximian.com> + + * subscribe-dialog.c (get_short_folderinfo_desc): + (get_short_folderinfo_get): + (get_short_folderinfo_got): + (get_short_folderinfo_free): + (subscribe_get_short_folderinfo): Modified to take a FolderETree + instead of a CamelStore (since the CamelStore is inside the + FolderETree anyway) so that we could ref the ETree to prevent a + race condition. Should fix bug #9827. + + * mail-format.c (try_inline_pgp_sig): Make sure that the + charset_filter is non-NULL before using it since iconv may fail. + +2001-09-13 Larry Ewing <lewing@ximian.com> + + * mail-tools.c (mail_tool_quote_message): free the credits string. + +2001-09-12 <NotZed@Ximian.com> + + * mail-vfolder.c (vfolder_remove_cb): Fixed the remove callback + prototype, and return the result properly using the listener. + (vfolder_uri_to_folder): Always use the same store uri, so we dont + create a new store for each folder. + +2001-09-12 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config.c (mail_config_write_on_exit): Save transport + passwords too. This fixes bug #3020. + +2001-09-11 Dan Winship <danw@ximian.com> + + * mail-folder-cache.c (mail_folder_cache_note_folderinfo): Don't + set the folderinfo's unread count to 0 when camel reports -1, + since that may overwrite a valid unread count from before. + (get_folder_info): Do it here instead when first creating a new + folderinfo structure. + Should fix bug #1756. + +2001-09-11 Larry Ewing <lewing@ximian.com> + + * mail-account-gui.c (menu_file_save_cb): call menu_file_save_error + when there is an exception while saving. + (menu_file_save_error): pop up a dialog telling the user the file + has not been saved. + +2001-09-10 <NotZed@Ximian.com> + + * mail-local.c (mail_local_reconfigure_folder): Dynamically create + the folder type list from camel. + (reconfigure_clicked): And change code to handle changes. + +2001-09-10 <NotZed@Ximian.com> + + * merged mail_local patch from peterw. Many changes. + +2001-09-10 Iain Holmes <iain@ximian.com> + + * mail-config.c (impl_GNOME_Evolution_MailConfig_addAccount): Add a + none account if the url is empty. + +2001-09-10 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (mail_generate_reply): Don't use + new_with_sig_file, that function no longer exists. + (forward_get_composer): Same here. + +2001-09-10 Zbigniew Chyla <cyba@gnome.pl> + + * mail-config.c + (add_shortcut_entry): Marked string for translation. + (new_source_created): Ditto. + + * mail-send-recv.c + (format_url): Marked strings for translation. + (build_dialogue): Ditto. + +2001-09-10 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-gui.c (mail_account_gui_new): Hide the S/MIME frame + if we don't support S/MIME. + + * mail-send-recv.c (build_dialogue): Attach to the destroy event + for each progressbar using bar_destroyed as the callback. + (bar_destroyed): New callback to unregister the timeout and set + the send-info's bar member to NULL so we don't try to update a + destroyed progressbar. + + * mail-callbacks.c (mail_generate_reply): Pass along the right + string, this fixes bug #9518. + + * mail-account-gui.c (save_service): Don't save the authmech if + the username doesn't exist. Fixes bug #9474. + + * mail-callbacks.c (do_edit_messages): Remove some mailer-set + headers. Fixes bug #9462. + +2001-09-10 Dan Winship <danw@ximian.com> + + * mail-callbacks.c (composer_get_message): Fix obvious dumb + mistake in previous commit that made it *always* complain you had + invalid recipients. + +2001-09-09 Jon Trowbridge <trow@ximian.com> + + * mail-callbacks.c (composer_get_message): Complain if we are + trying to send to invalid recipients. (Bug #8875) + +2001-09-09 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config-druid.c (evolution_mail_config_wizard_factory_fn): + We need to initialize all of the struct fields or else god knows + what will happen later when we try to use 'em. Also set a destroy + function for the MailConfigWizard so we don't leak it. + +2001-09-08 Jon Trowbridge <trow@ximian.com> + + * mail-callbacks.c (ask_confirm_for_unwanted_html_mail): Added. + Shows a (hopefully) informative dialog warning you that some + recipients might not want HTML mail (who are listed), and gives + the option to cancel sending. (FIXME: The wording of this dialog + could use some work.) + (composer_get_message): Check if we are sending HTML to someone + who might not want it, and raise the dialog if we are. Use our + new destination-vector based api when talking to the composer. + Touch our destinations here, boosting their use scores. This is + the right place for this to happen --- closer to the end of the + sending process, where incorrect/artificial use score inflation is + less likely to occur. + + * mail-config.c (config_read): Added + /Mail/Format/confirm_unwanted_html key. This flag determines + whether or not we want to see the warning dialog when we send HTML + mail to contacts who don't want it. Default is TRUE. + (mail_config_write_on_exit): Write out the confirm_unwanted_html + key. + (mail_config_get_confirm_unwanted_html): Added. + (mail_config_set_confirm_unwanted_html): Added. + +2001-09-08 Dan Winship <danw@ximian.com> + + * mail-display.c (mail_display_destroy): Unref the invisible, + don't just destroy it. + +2001-09-07 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (mail_write_authenticity): Give the full path of + the wax-seal icons. + (try_inline_pgp_sig): Convert the charset from UTF-8 to whatever + charset it should be. Now takes a CamelMimePart argument as well. + (try_uudecoding): Now takes a part argument as well. + (try_inline_pgp): Here too. + (try_binhex): And finally here. + (handle_text_plain): Pass along the mime part to the try_* + functions. + +2001-09-06 Chris Toshok <toshok@ximian.com> + + * component-factory.c (notify_listener): new function, to notify + the bonobo listener in remove_folder/create_folder. + (storage_create_folder): match EvolutionStorage create_folder + signal's signature. + (storage_remove_folder): match EvolutionStorage remove_folder + signal's signature. + +2001-09-06 Dan Winship <danw@ximian.com> + + Fix a bunch of replying/forwarding-related formatting bugs. + + 2749 - Message text not included in reply, but html attachment is + 4294 - "forward inline" should quote the same headers as the + normal mail display + 6100 - Reply to a forwarded email displays email headers + 7255 - Replying to HTML message + 7527 - replying to forwarded message w/ attachments does the wrong + thing + + * mail-format.c (mail_get_message_rfc822): New function to get + message headers and body together, for inline forwards, or replies + containing attached messages. + (mail_get_message_body): Redo this to always return HTML, but keep + the "want_plain" flag, to decide whether to return HTML that looks + like HTML or HTML that looks like plain text. Use + mail_get_message_rfc822 to handle attached message/rfc822 parts. + Don't include the text of vcard or icalendar attachments. Don't + fail to include text parts just because we found an HTML part. + (Since we're always returning HTML now, this doesn't cause + problems any more.) + + * mail-tools.c (mail_tool_quote_message): Simplify greatly. + mail_get_message_body always returns HTML now, and we let it take + care of prepending "> "s too. We then let GtkHTML deal with + converting the HTML to plain text if the user wants to reply in + plain text. + (mail_tool_forward_message): Simplify this a ton too: parts of it + are moved into mail_get_message_rfc822 and parts are now + unnecessary. + + * mail-callbacks.c (do_forward_non_attached): Call + mail_tool_forward_message here always, and let it do the "> " + quoting in the "quoted" case, so that we get the headers too when + forwarding quoted. Related to bug #4294. + +2001-09-05 Dan Winship <danw@ximian.com> + + * mail-display.c (launch_cb): the "command" of a + GnomeVFSMimeApplication can include arguments as well. Deal with + that. Fixes support for CodeWeavers' CrossOver Plugin. + +2001-09-05 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config.c (mail_config_remove_account): Adjust the + default_account index correctly. + +2001-09-05 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config.c (mail_config_get_accounts): Added a g_assert to + make sure that config wasn't NULL. This is meant to help debug bug + #4911 and friends. + + * component-factory.c (owner_set_cb): Do not mail_config_init() + here as we've already called this in main() in main.c. + +2001-09-05 Ettore Perazzoli <ettore@ximian.com> + + [Fix #958, ShellComponents should not be created by factories, for + the mailer case.] + + * GNOME_Evolution_Mail.oaf.in: Remove the + GNOME_Evolution_Mail_ShellComponentFactory. + + * component-factory.c: Changed to not use a factory. + (COMPONENT_FACTORY_ID): Removed. + (COMPONENT_ID): New. + (idle_quit): Don't unref the component_factory. + (create_component): Renamed from `component_fn'. Take no args. + (component_factory_init): Create the component with + `create_component' and register it on OAF. + +2001-09-06 Radek Doulik <rodo@ximian.com> + + * everywhere updated for new mail_content_loaded definition + (prototype) + +2001-09-05 Radek Doulik <rodo@ximian.com> + + * mail-display.c (mail_display_redisplay): increase + redisplay_counter + (try_part_urls): new helper function + (try_data_urls): ditto + (load_content_loaded): if it has stream handle available and if + it's still valid, it writes to this stream instead of + redisplaying, uses try_part_urls and try_data_urls + + * mail-display.h: added redisplay_counter to MailDisplay, I use + it in load_content_loaded to be sure that there wasn't any + redisplay and that remembered handle is still valid + + * mail-display.c (on_url_requested): don't end stream with error + if part is not loaded yet + (on_url_requested): don't end stream in cases when we are going to + load image using http + (stream_write_or_redisplay_when_loaded): new helper function, + which is extracted from mail_display_redisplay_when_loaded. it's + extended to handle gtkhtml stream writting + (mail_display_redisplay_when_loaded): use + stream_write_or_redisplay_when_loaded + (mail_display_stream_write_when_loaded): new function, uses + stream_write_or_redisplay_when_loaded + struct _load_content_msg: added handle, url and redisplay_counter + fields + + * mail-format.c (mail_content_loaded): added redisplay, url and + handle parameter for case when we are loading image content and + want it write to stream instead of redisplaying + +2001-09-05 Ettore Perazzoli <ettore@ximian.com> + + * message-browser.c (message_browser_new): s/Evolution/Ximian + Evolution/. + +2001-09-04 Ettore Perazzoli <ettore@ximian.com> + + [Fix #7542, "Crash Afer Closing".] + + * component-factory.c (owner_unset_cb): NULL the + global_shell_client as the first thing here. Otherwise we might + get into a slight race that causes the shell to crash. [Still, of + course the shell shouldn't crash, but I haven't been able to track + that down yet.] + +2001-09-04 Zbigniew Chyla <cyba@gnome.pl> + + Fixes #7251 + + * mail-ops.c (add_vtrash_info): Mark "Trash" with U_(), not _(). + +2001-09-04 Jeffrey Stedfast <fejj@ximian.com> + + * mail-ops.c (fetch_mail_fetch): Unref the source folder here + because it might be a POP folder. We do this because on store + finalize, we now try to disconnect cleanly which means that we may + block. + + * mail-send-recv.c (build_dialogue): Fix capitalization. Fixes bug + #7486. + +2001-09-04 Peter Williams <peterw@ximian.com> + + * mail-local.c (mlf_init): Remove accidentally left-in "choke on + this" preprocessor thingie. + (mail_local_folder_reconfigure): Instead of creating our own local + exception, just assert that ex != NULL. + (*): Staticize everything that can be and remove some obnoxious + prototypes. + +2001-08-31 Peter Williams <peterw@ximian.com> + + * mail-local.c (mail_local_reconfigure_folder): Use (NULL, NULL) + as the arguments to g_hash_table_new instead of g_direct_foo. + Instead of checking the URI, check MAIL_IS_LOCAL_FOLDER (fb->folder) + to check whether we can reconfigure the folder. Instead of + gnome_dialog_run_and_close, use gnome_dialog_run... + (reconfigure_clicked): And deal with removing the hash table + elements here. + (local_storage_new_folder_cb): Set the folder's name to the + displayName to i18nize correctly (after shell patch is applied). + +2001-08-30 Peter Williams <peterw@ximian.com> + + * mail-local.c: Rewrite as a more complete CamelStore. + + * component-factory.c (create_folder): We can now chuck out most + of this function and just call mail_get_folder. + (xfer_folder_done): If we succeeded in moving the messages, now + delete the source folder as we should be. + (xfer_folder): In order to do so, create a new xfer_folder_data + struct that records the value of 'remove_source' Fix a leak by + unreffing the source folder. + + * mail-ops.[ch]: We no longer need the mail_new_folder operation. + + * folder-browser.[ch]: Don't need the 'reconfigure' member + anymore, because the loaded folder's URL doesn't change. + (do_message_selected): Don't check it + (on_right_click): Same. + (folder_browser_set_uri): Same. + (got_folder): Same. + +2001-08-31 Zbigniew Chyla <cyba@gnome.pl> + + * mail-vfolder.c (vfolder_create_storage): Marked string for + translation (with U_). + +2001-08-28 Zbigniew Chyla <cyba@gnome.pl> + + * message-list.c (e_mail_address_compare): Use g_utf8_collate + instead of g_strcasecmp for comparing names. + (subject_compare): Replaced g_strcasecmp, isspace, var++ with + UTF-8 counterparts. + +2001-08-30 Iain Holmes <iain@ximian.com> + + * importer/evolution-mbox-importer.c (load_file_fn): Check if it's + a folder, if so, create a folder. + (process_item_fn): If it was a folder created, just finish up + importing + +2001-08-29 Iain Holmes <iain@ximian.com> + + * importers/evolution-mbox-importer.c: Turn off debugging, remove + spewage. + (process_item_fn): Notify the importer if the folder isn't opened + or created yet. + (load_file_fn): Allow the function to continue if the folder is + being created. + +2001-08-30 Peter Williams <peterw@ximian.com> + + Due to the introduction of mail_folder_cache_remove(), we can no + longer assume that mail_folder_info's always exist, so we need to + robustify a lot of this. + + * mail-folder-cache.c (folder_browser_destroyed): New + function. Called when the folder browser is destroyed -- analogous + to camel_folder_finalized. + (mail_folder_cache_note_fb): Hook it up here. + (struct _mail_folder_info): Add a member, mail_info_id, that + records the get_mail operation's id, so that we can cancel it if + we need to. + (get_folder_info): Initialize it here. + (get_mail_info_reply): Clear it here. + (mail_folder_cache_remove_folder): If necessary, cancel it here. + (mail_folder_cache_note_folder): Check it here before starting a + new operation, just in case. + (update_message_counts_main): Take a URI instead of a + mail_folder_info *, in case the MFI has gotten destroyed. + (update_message_counts): Take a quark of the URI instead of a + mail_folder_info *, for the same reason. We use a quark instead of + an allocated gchar * because figuring out when to free the string + gets tricky. Then go from quark -> URI string -> MFI. Return if + the folder is no longer valid, because this indicates that the MFI + was removed before this signal got called. Pass a string to + update_message_counts_main instead of an MFI. + (camel_folder_finalized): Don't bother unhooking the signals here. + Same change as above, but don't bother checking for a valid folder + because we're about to make it invalid anyway. + (message_list_built): Analogous to the above, except with the + FolderBrowser instead of the CamelFolder. + (selection_changed): As above. + (folder_browser_destroyed): As above. + (struct get_mail_info_msg): Instead of taking a mail_folder_info + *, take a URI, for reasons explained above. + (get_mail_info_receive): Go from URI -> MFI before doing anything. + (get_mail_info_reply): Same. + (get_mail_info_destroy): Free the URI. + (get_mail_info): Take a URI and return the message id so that it + can be cancelled if necessary. + (mail_folder_cache_remove_folder): Disconnect from signals and + events before removing. + (mail_folder_cache_note_folder): Use a GQuark instead of the + mail_folder_info * as the user_data. + (mail_folder_cache_note_fb): Same. + (mail_folder_cache_note_folderinfo): Little formatting change. + +2001-08-30 Jeffrey Stedfast <fejj@ximian.com> + + * message-browser.c (message_browser_message_loaded): Fixed a + memory leak. + (message_browser_new): Added a comment as to why , after + reparenting, we do not unref the mail_display. + (message_browser_destroy): Don't call gtk_widget_destroy() on the + message_list here. + +2001-08-30 Peter Williams <peterw@ximian.com> + + * mail-ops.c (remove_folder_get): Instead of removing the folder + from the folder cache here... + (remove_folder_got): ... do it here, in the main thread. + +2001-08-29 Jon Trowbridge <trow@ximian.com> + + * mail-callbacks.c (composer_get_message): When calling + e_msg_composer_get_message, pass in TRUE for the 'sending' arg. + (Part of the fix for bug #8332) + +2001-08-29 Peter Williams <peterw@ximian.com> + + * folder-browser-ui.c: Fix the pixmap for /commands/MessageUndelete. + + * component-factory.c (owner_set_cb): Toss in a call to + mail_config_init () cause it might contribute to solving + bug 4911, and it won't hurt. + +2001-08-28 Peter Williams <peterw@ximian.com> + + * component-factory.c (owner_unset_cb): Disable interaction once + the shell has quit. + (create_view): Instead of + folder_browser_factory_new_control ("", corba_shell) when looking + at a mailstorage folder, use create_noselect_control(). + +2001-08-27 Ettore Perazzoli <ettore@ximian.com> + + * mail-local.c: Match the studlyCapsification of + shell/Evolution*.idl. + + * mail-config-druid.h: Change type of `event_source' from + `Bonobo_EventSource *' to `Bonobo_EventSource'. + + * mail-accounts.c (mail_delete): Remove unused local variable + `label'. + + * folder-info.c (do_get_info): `#if 0' unused variables. + +2001-08-27 Jon Trowbridge <trow@ximian.com> + + * mail-callbacks.c (mail_generate_reply): Check if we are trying + to reply to a message with no From: field, and try to do something + graceful in that case. (Bug #7028) + + * mail-display.c (ebook_callback): Add paranoid checks for the + case of a message with a From: field. (Also maybe bug #7028) + +2001-08-27 Iain Holmes <iain@ximian.com> + + * mail-config-druid.c (druid_finish): Free the list and hash table. + (druid_cancel): Free the list and hash table. + +2001-08-27 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-gui.c (mail_account_gui_new): Set the source and + transport description labels. + (transport_type_changed): Set the transport description label. + (source_type_changed): Set the source description label. + + * mail-tools.c (mail_tool_make_message_attachment): Remove + X-Evolution* headers. + (mail_tool_remove_xevolution_headers): New function to convenience + removing the X-Evolution headers. + (mail_tool_restore_xevolution_headers): New convenience function + to restore the X-Evolution headers. + (mail_tool_destroy_xevolution): New function to cleanup the + structure. + (mail_tool_forward_message): Remove and restore the X-Evolution + headers here too. + +2001-08-26 Jeffrey Stedfast <fejj@ximian.com> + + * mail-send-recv.c (receive_update_got_store): If the store is not + connected, scan it's subfolders first. + + * mail-ops.c (report_status): Call va_end() so LinuxPPC doesn't + have a caniption. + +2001-08-24 Jeffrey Stedfast <fejj@ximian.com> + + * mail-display.c (launch_cb): Use the new e_mkdtemp function. + + * folder-browser.c (message_list_drag_data_get): Use the new + e_mkdtemp function. + +2001-08-24 Ettore Perazzoli <ettore@ximian.com> + + [Fix #8024, Empty strings marked for translation.] + + * component-factory.c: Don't mark empty strings for translation. + Rather, give descriptions and display names to types "mailstorage" + and "vtrash". + +2001-08-24 Peter Williams <peterw@ximian.com> + + * mail-ops.c (remove_folder_get): Save the folder's full_name, + unref it, and *then* unref the store, so that the folder has been + closed before it gets deleted. + +2001-08-24 Peter Williams <peterw@ximian.com> + + * mail-config.c (add_shortcut_entry): Instead of using the length + of the shortcuts list as the index for the shortcut, use -1, which + means "last". + + * mail-config-druid.c (druid_finish): Remove the account adding + stuff since that happens in wizard_finish now. + + * mail-config.c (add_new_storage): New function. Add a + MailConfigAccount to the shell as a storage. + (maybe_add_shortcut): Renamed to new_source_created. + (new_source_created): Call add_new_storage here. + + * component-factory.c (mail_remove_storage_by_uri): Don't warn if + the storage isn't remote... no point in making the caller do extra + work. + +2001-08-24 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config.c (mail_config_set_thread_list): Don't let the uri + be an empty string (how the fuck is this even happening in the + first place??). + (mail_config_get_thread_list): Same. + (mail_config_set_show_preview): And here. + (mail_config_get_show_preview): And finally here. + +2001-08-23 Larry Ewing <lewing@ximian.com> + + * mail-search.c (mail_search_construct): attach to the destroy + handler to reset the tokenizer. + (dialog_destroy_cb): reset the tokenizer here so that destroying + the dialog with the window manager still clears the hilighted + items. + +2001-08-23 Peter Williams <peterw@ximian.com> + + * mail-account-gui.c (mail_account_gui_save): Eek, let the user create + new accounts if old_account == NULL. + +2001-08-23 Jeffrey Stedfast <fejj@ximian.com> + + * component-factory.c (destination_folder_handle_drop): Check to + make sure we actually have drag data. + + * folder-browser.c (message_list_drag_data_received): Check to + make sure we have valid data. + +2001-08-21 Christopher James Lahey <clahey@ximian.com> + + * Revert fix for Ximian bug #6995. + +2001-08-23 Peter Williams <peterw@ximian.com> + + * mail-folder-cache.c (maybe_update): Record the timeout_id so we + can cancel it if the mail_folder_info is later freed. Also obviates + the use of the _UPDATE_QUEUED flag. + (mail_folder_cache_remove_folder): Cancel the timeout if we need to. + Lock around the hash table operations. Free mfi itself. Add debugging + spew. + (get_folder_info): Initialiae the timeout_id to 0. + +2001-08-22 Jon Trowbridge <trow@ximian.com> + + * mail-callbacks.c (ask_confirm_for_only_bcc): Provide alternative + text for this dialog for the case when a message has only Bcc + recipients because of a hidden contact list's addresses being + moved from To/Cc to Bcc. + (composer_get_message): Try to detect when our message has only + Bcc recipients because of moving addresses around due to a hidden + contact list, and show the dialog with the revised wording in this + case. + +2001-08-22 Jeffrey Stedfast <fejj@ximian.com> + + * component-factory.c (create_view): Don't blindly make all vtrash + folder types have a uri of vtrash:file:/, instead only make it use + vtrash:file:/ if it's a file: uri, else use physical_uri. + +2001-08-22 jacob berkman <jacob@ximian.com> + + * mail-display.c: rework how the e-card-popup thing has its life + managed. we now hide the window on the Hide event and destroy it + on the Destroy event emitted from its event source + +2001-08-22 Peter Williams <peterw@ximian.com> + + * mail-send-recv.c (set_send_status): We don't need to escape this + for printf'ing. + +2001-08-22 Peter Williams <peterw@ximian.com> + + Prevent the user from creating two accounts with the same name. + + * mail-config.c (impl_GNOME_Evolution_MailConfig_addAccount): + Abort if the account has the same name as another account. + + * mail-account-gui.c (mail_account_gui_save): Don't let the user + save if the account has the same name as another account. + + * mail-config-druid.c (management_check): Disable the next button + if the account name is the same as a preexisting account. + (construct): The only part of 'pages' that was being used was the + name. 'wizard_pages' now has the callbacks, while 'pages' is just + an array of char *'s. + (wizard_finish_cb): Save the account first because that's the + right way, and try to honor mail_account_gui_save's return value. + + * mail-config.glade: Add a label noting that you're not allowed to + create two accounts with the same name. + +2001-08-22 Peter Williams <peterw@ximian.com> + + * folder-browser-ui.c (fbui_sensitize_timeout): Check for NULL uic + here as well. + (fbui_sensitize_items): Up the timeout interval to 110 ms. + +2001-08-21 Peter Williams <peterw@ximian.com> + + * mail-account-editor.c (apply_changes): Honor the return value of + mail_account_gui_save. + + * mail-ops.c (sync_folder_desc): Say which folder is getting + saved. + +2001-08-21 Dan Winship <danw@ximian.com> + + * mail-identify.c (mail_identify_mime_part): Don't trust gnome-vfs + when it says "text/plain" if gnome_vfs_mime_type_from_name says + something different. Fixes a problem with recognizing icalendar + attachments labeled "application/octet-stream". Also, don't bother + asking gnome-vfs about winmail.dat attachments, since it will + often claim that they're MPEGs due to some mis-magic. + +2001-08-21 Jeffrey Stedfast <fejj@ximian.com> + + * mail-session.c (mail_session_forget_password): zero-ize the + password before freeing. + (forget_password): Same. + +2001-08-21 Peter Williams <peterw@ximian.com> + + * message-list.c (message_list_set_folder): Don't sink the extras + since _set_folder can get called more than once (on reconfigure.) + (message_list_destroy): So just unref the extras here. + + * mail-send-recv.c (build_dialogue): Treat the spool provider like + IMAP: update instead of performing an explicit receive. + +2001-08-21 Peter Williams <peterw@ximian.com> + + * folder-browser-ui.c (fbui_sensitize_items): Rename to + fbui_real_sensitize_items. Now we queue a change and set up a + timeout, making sure weed out redundant changes, fixing flicker. + (fbui_sensitize_timeout): New function. The timeout. + (fbui_real_sensitize_items): Semi-new function. Rename of old + fbui_sensitize_items. + (folder_browser_ui_set_selection_state): Pass the FB instead of + only the UIC to sensitize_items. + (folder_browser_ui_message_loaded): Same. + + * folder-browser.c (folder_browser_destroy): Kill the new timeout + if it is registered. + + * folder-browser.h: Add some members to FolderBrowser for keeping + track of the queue of changes. + +2001-08-20 Iain Holmes <iain@ximian.com> + + * mail-config.druid: Fix the jumping around. + +2001-08-20 Peter Williams <peterw@ximian.com> + + * mail-ops.c (remove_folder_get): Fix double-unref of the store. + +2001-08-20 Jeffrey Stedfast <fejj@ximian.com> + + * component-factory.c (create_folder): Modify the url and set the + protocol to mbox rather than hacking it and prepending mbox: to + the uri. + + * mail-local.c (get_folder): Don't prepend the folder_name with + the store's path because the hash key is folder_name, not + /folder_name. + +2001-08-20 Iain Holmes <iain@ximian.com> + + * mail-config-druid.c: Change some of the text labels. + (create_label): Make a label instead of a GtkHTML widget. + +2001-08-18 Iain Holmes <iain@ximian.com> + + * mail-account-gui.c (mail_account_gui_setup): Stop hiding the source + and transport frames. + +2001-08-20 Ettore Perazzoli <ettore@ximian.com> + + * folder-browser-ui.c (folder_browser_setup_property_menu): + Updated as ChangeFolderProperties is now in the + ComponentPlaceholder. + +2001-08-20 Peter Williams <peterw@ximian.com> + + * mail-accounts.c (mail_able): Whoops, make sure that the account + has a source before removing it or what-have-you. + + * subscribe-dialog.c: Add a few comments. + +2001-08-20 Damon Chaplin <damon@ximian.com> + + * folder-browser-ui.c: use new small trash icon for Delete command. + +2001-08-20 Ettore Perazzoli <ettore@ximian.com> + + * mail-ops.c (sync_folder_desc): s/Synchronising/Synchronizing/. + +2001-08-20 Jeffrey Stedfast <fejj@ximian.com> + + * component-factory.c (storage_create_folder): + camel_folder_create_folder can now return a heirachial tree so + subscribe to down the tree. + +2001-08-20 Damon Chaplin <damon@ximian.com> + + * folder-browser-ui.c: use new Cut/Copy/Paste icons. + +2001-08-19 Ettore Perazzoli <ettore@ximian.com> + + * component-factory.c: Update the folder list to include a display + name and a description. + +2001-08-19 Jeffrey Stedfast <fejj@ximian.com> + + * mail-mt.c (do_op_status): Allow the activity to be NULL if there + isn't a global_shell_client so that we don't try and report status + updates when the shell is destroyed. + + * mail-config.c (add_shortcut_entry): Return if there isn't a + global_shell_client. + + * component-factory.c (owner_set_cb): set the global_shell_client + here and connect to the destroy signal. + + * mail-vfolder.c (vfolder_create_storage): Use an extern + global_shell_client. + +2001-08-19 Christopher James Lahey <clahey@ximian.com> + + * mail-callbacks.c (delete_msg): Made delete make the cursor go + backwards if the user is sorting by descending date. Fixes Ximian + bug #6995. (Reverted.) + +2001-08-19 Jeffrey Stedfast <fejj@ximian.com> + + Note: The following changes were based on Zbigniew Chyla's fixes. + + * mail-callbacks.c (mail_generate_reply): Convert the date string + to UTF-8. + (do_forward_non_attached): Same here. + +2001-08-05 Zbigniew Chyla <cyba@gnome.pl> + + * folder-info.c: Added missing #include <config.h>. (applied by Damon) + +2001-08-18 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config.c (config_read): Change the default values for + "always-sign" to false. + + * mail-callbacks.c (open_msg): if the folder is Outbox, let the + user edit the message(s) too I guess. + +2001-08-18 Ettore Perazzoli <ettore@ximian.com> + + * folder-browser-ui.c: Hook the new `delete-message.png' up. + +2001-08-17 Damon Chaplin <damon@ximian.com> + + * mail-display.c (pixmap_press): stop signal emission so the GtkButton + class method doesn't mess up the popup menu. Hopefully fixes bug #1828. + +2001-08-17 Zbigniew Chyla <cyba@gnome.pl> + + * mail-search.c (mail_search_construct): Put _() instead of N_() + around of the "Search" string, gnome_dialog_constructv doesn't + translate button names. + +2001-08-17 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (mail_write_authenticity): We want wax-seal.png + instead, since I added the png files to cvs and renamed it to + wax-seal.png. + +2001-08-17 Iain Holmes <iain@ximian.com> + + * importers/evolution-mbox-importer.c (load_file_fn): Fix + warnings. + +2001-08-17 JP Rosevear <jpr@ximian.com> + + * component-factory.c (owner_set_cb): don't init the config here + + * main.c (main): init the config here + +2001-08-17 JP Rosevear <jpr@ximian.com> + + * mail-config-druid.c: remove dead structure + +2001-08-17 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config.c (mail_config_write): Save the always-sign options + for pgp and smime. + (config_read): Read in the always-save options for pgp and smime. + +2001-08-17 Christopher James Lahey <clahey@ximian.com> + + * message-list.etspec: Made the default values for column + expansions here more reasonable. + +2001-08-16 Iain Holmes <iain@ximian.com> + + * GNOME_Evolution_Mail.oaf.in: Add the Wizard stuff. + + * component-factory.c (component_fn): Init the Wizard factory. + (mail_load_storages): Check service isn't NULL before it's been + dereferenced. + + * mail-account-gui.c (mail_account_gui_setup): Only show the top level + widget is it's not NULL. + Change the gtk_widget_set_usizes to gtk_widget_hides. + + * mail-config-druid.c: Rewrite to use the EvolutionWizard stuff. + + * mail-config-druid.h: Add stuff to the MailConfigDruid struct. + + * mail-config.c (mail_config_get_default_account): Init the config if + it's not been inited. + +2001-08-16 Jason Leach <jleach@ximian.com> + + * mail-tools.c (mail_tool_quote_message): Only starting cutting + the signature out when we match "-- \n", so "--\n" in the middle + of a mail won't omit the rest for a quoted reply. Bug #7454. + +2001-08-16 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (confirm_expunge): Respect the user's desire to + be prompted to confirm that he wants to expunge the blasted + folder. Also, don't set the usize - that's just an evil hack and + you may find it will cut off text once the label has been + translated. + (create_msg_composer): In order for the security options to be + checked when composing a new message, we must set the from account + explicitly even though the composer hdrs sets the default from + account and emits the signal because at that stage the composer + hasn't yet connected to the signals and thus the bonobo menu items + don't get set. + + * mail-config.c (mail_config_set_confirm_expunge): New. + (mail_config_get_confirm_expunge): New. + +2001-08-16 Peter Williams <peterw@ximian.com> + + * subscribe-dialog.c (fe_got_children): Sort the nodes here... + (fe_sort_folder): ... using this function. + + * folder-browser-ui.c (folder_browser_ui_message_loaded): Check + for uic == NULL. I'm not sure how this could happen, but... + +2001-08-16 Peter Williams <peterw@ximian.com> + + * folder-browser-ui.c (folder_browser_ui_set_selection_state): + Disable "Search Message" when more or less than exactly one + message is selected. + + * subscribe-dialog.c (fe_done_subscribing): Instead of hackfully + getting the path, use a CamelURL so that escaping is + handled. Silly me. -- See below -- + (fe_node_to_shell_path): Use node->name and node->full_name to + generate the the shell path of this item. Don't need to escape the + URL, and handle cases when dir_sep != '/' + (fe_done_subscribing): Use fe_node_to_shell_path instead of the + CamelURL. Third time's the charm... * folder-browser-ui.c + (folder_browser_ui_set_selection_state): Disable "Search Message" + when more or less than exactly one message is selected. + + * subscribe-dialog.c (fe_done_subscribing): Instead of hackfully + getting the path, use a CamelURL so that escaping is + handled. Silly me. -- See below -- + (fe_node_to_shell_path): Use node->name and node->full_name to + generate the the shell path of this item. Don't need to escape the + URL, and handle cases when dir_sep != '/' + (fe_done_subscribing): Use fe_node_to_shell_path instead of the + CamelURL. Third time's the charm... + +2001-08-15 Jeffrey Stedfast <fejj@ximian.com> + + * mail-display.c (save_part): Remember the filename is in utf8, so + use the e_utf8 functions to set the filename in the file selection + dialog. + +2001-08-15 Peter Williams <peterw@ximian.com> + + * message-list.c (on_cursor_activated_idle): Always remove the + idle and return FALSE, instead of returning TRUE if more than one + message is selected. + +2001-08-15 Jason Leach <jleach@ximian.com> + + * mail-tools.c (mail_tool_quote_message): Stop building the quote + after a sigdash, hence, omitting the signature from a + reply/forward. Bug #5529. + +2001-08-15 Anna Marie Dirks <anna@ximian.com> + + * mail-callbacks.c (expunge-folders): Re-added, at Ettore's + request, the confirm-expunge dialog. + +2001-08-15 Jason Leach <jleach@ximian.com> + + * message-list.c (message_list_init): Use ALWAYS for scroll frame + policy because ETable acts lame with AUTOMATIC. Bug #6925. + +2001-08-16 Not Zed <NotZed@Ximian.com> + + * mail-callbacks.c (expunge_folder): Don't confirm expunge. + +2001-08-15 Not Zed <NotZed@Ximian.com> + + * mail-local.c (register_folder_register): Remove operation + registration/etc. Handled by mail-mt.c + + * message-list.c (regen_list_regen): Remove camel operation + registration/etc. + +2001-08-14 Jeffrey Stedfast <fejj@ximian.com> + + * mail-accounts.c (load_accounts): Convert the UTF-8 account name + string into a gtk-string before using it in the GtkCList. + +2001-08-14 Peter Williams <peterw@ximian.com> + + * mail-callbacks.c (previous_unread_msg): Make previous unread + wrap around too. + + * mail-accounts.c (load_accounts): If the account is enabled, + set a checkmark pixmap instead of a strange plus sign. + (mail_accounts_dialog_init): Load the pixmap here. + (mail_accounts_dialog_finalise): Free it here. + + * mail-accounts.h: Prototype it here. + +2001-08-14 Dan Winship <danw@ximian.com> + + * folder-browser.c (message_list_drag_data_get): Fix the fix for + #6722. + + * mail-ops.c (save_messages_save): Likewise. + (save_part_save): Deal with the possibility that + camel_mime_filter_charset_new_convert will return NULL (bad + charset name). Fixes #6611. + +2001-08-13 Jon Trowbridge <trow@ximian.com> + + * mail-search.c (mail_search_construct): Disable the "search + forward/backward" option in the search dialog. Why? Well, it + doesn't work properly (bug #4869), and the reason it doesn't work + is because of some scary stuff deep inside of gtkhtml that I don't + understand at all. So since I'm paranoid, and since the GUI + freeze is tomorrow, and since it isn't really an important feature + at all, I'm #if 0-ing it out. If the gtkhtml stuff gets sorted + out, we can slip it back in for 1.1. + +2001-08-13 Peter Williams <peterw@ximian.com> + + * component-factory.c (user_create_new_item_cb): New function, + handle "user creatable items". + (component_fn): Tell the shell that we're capable of creating + mail messages. + +2001-08-13 Jason Leach <jleach@ximian.com> + + * mail-local.c (get_folder): Fix this so it can actually get + folders from the hash of folders on the local store (it was + looking up plain @folder_name, which is typically "mbox", instead + of the full URI, /home/jleach/evolution/local/Foo/mbox). + + * component-factory.c (do_remove_folder): Rename to + remove_folder_done, more fitting for it's purpose. + (do_xfer_folder): Similar name change. + (do_create_folder): Similar name change. + (remove_folder): Don't notifyResult for the component here, we + will notify with our result in remove_folder_done. + (xfer_folder): Ditto. + + * mail-vfolder.c (vfolder_refresh): Create new folders with unread + counts of "0" instead of #FALSE (which just happens to be #defined + as zero). + +2001-08-13 Peter Williams <peterw@ximian.com> + + * mail-send-recv.c (mail_autoreceive_setup): Break most of the + functionality into a separate function. + (autoreceive_setup_list): Rename of mail_autoreceive_setup that is + passed a list of accounts. + (mail_autoreceive_setup_account): New function. Set up a single + account using autoreceive_setup_account. + + * mail-send-receive.h: Prototype mail_autoreceive_setup_account. + + * mail-account-gui.c (mail_account_gui_save): Instead of setting + up all accounts, set up only this source with the new + mail_autoreceive_setup_account. + + * mail-config-druid.c (druid_finish): ... which means we can call + mail_config_add_account() after the MailConfigAccount has been + created by mail_account_gui_save() because we no longer need the + account to be in the list for mail_autoreceive_setup() + + * mail-config.c (mail_config_add_account): ... which means we can + possibly add a shortcut to the account's sources's Inbox here. + (maybe_add_shortcut): New function. If the store is a storage, add + a shortcut to its inbox. Hope that /INBOX exists. + (add_shortcut_entry): New function. Creates a shortcut if it doesn't + yet exist. + +2001-08-13 Peter Williams <peterw@ximian.com> + + * mail-account-gui.c (service_complete): Take account of the fact that + service->path may be NULL (if service is a transport.) + + * mail-config-druid.c (druid_finish): Bleah, bugfix in case the + account has no source. + +2001-08-13 Anna Marie Dirks <anna@ximian.com> + + * mail-config.glade: Changed all instances of "Wizard" and "Druid" + to "Assistant". + + * mail-config-druid.c: Ditto. + +2001-08-13 Anna Marie Dirks <anna@ximian.com> + + * mail-accounts.c: Changed the title of the Mail Settings + dialog from "Evolution Account Manager" to "Mail Settings" . + +2001-08-13 Jeffrey Stedfast <fejj@ximian.com> + + * message-list.c (get_message_uid): Do some g_assert() + action. Make sure that the node passed in is non-NULL and also + make sure that the CamelMessageInfo gotten from the ETree is + non-NULL. + (get_message_info): Same here. + + * mail-callbacks.c (expunge_folder): Confirm that the user really + wants to expunge. + (save_msg_ok): Set the parent window here. + +2001-08-13 Peter Williams <peterw@ximian.com> + + * mail-config.c (remove_account_shortcuts): Remove the shortcuts + corresponding to an account (they all point to + evolution:/accountname/..) + (mail_config_remove_account): When deleting the account, remove + its shortcuts. + +2001-08-10 Peter Williams <peterw@ximian.com> + + * mail-config-druid.c (druid_finish): Whoa, fatal typo. Sorry. + +2001-08-13 Jason Leach <jleach@ximian.com> + + * mail-local.c (init_trash): Tell folder cache the path for our + Trash is /Trash, because that's what Shell needs to hear for + updating folders. + +2001-08-11 Jason Leach <jleach@ximian.com> + + * mail-offline-handler.c (impl_goOnline): Set the session as + online so auto mail checking (and the composer) will be doing the + right things when you go online. Bug #6343 and #4601. + + * folder-browser.c: Make the right click "Resend..." into "Edit as + New Message...", bug #6838. + + * mail-accounts.h: Remove unecessary #include <camel.h> + + * mail.h: Removed a prototype for a non-existant + mail_view_create(). + +2001-08-10 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-gui.c (build_auth_menu): Fix bug #4523 for good. + (save_service): If service->authitem is NULL, then the user tried + to enable authentication but the provider doesn't actually support + it. + +2001-08-10 Jon Trowbridge <trow@ximian.com> + + * folder-browser.c: Set our ESearchBarItems subitems to NULL. + +2001-08-10 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (transfer_msg): Prepend the uri with evolution: + to fix bug #6916. + +2001-08-10 Jason Leach <jleach@ximian.com> + + * folder-browser.c: Make the context menu for the Sent folder have + "Resend..." instead of "Resend", to clarify that it will bring up + a dialog needing your input rather than just blindly sending the + message again. Also give it the 'e' accelerator. Bug #6838. + + * mail-callbacks.c (next_unread_msg): Since 'N' keypresses go + through here now, use wrap-around selecting. + (previous_unread_msg): Same for 'P' here. + + * message-list.c (on_cursor_activated_idle): Stop this idle timer + when we have multiple items selected, this keeps it from loading + and then marking the last item in your selection list as read. + Bug #4693. + +2001-08-10 Peter Williams <peterw@ximian.com> + + * mail-accounts.c (mail_delete): Don't remove the account from the + tree if it's not enabled. + +2001-08-10 Jason Leach <jleach@ximian.com> + + * mail-ops.c (remove_folder_get): Remove all the messages from a + folder that's being deleted before actually doing the + camel_store_delete_folder, so it won't leave behind an mbox file + that's going to prevent the actual directory from being deleted, + and strange effects like new folders with the same name being made + in it's place. Bug #5618. + + * mail-folder-cache.c (mail_folder_cache_remove_folder): New + function, a way to get something out of the folder cache, like + folders being deleted. Bug #6878. + +2001-08-10 Peter Williams <peterw@ximian.com> + + * mail-accounts.c (news_add_destroyed): Whoops, compile fix. + +2001-08-10 Jason Leach <jleach@ximian.com> + + * mail-callbacks.c (mark_as_unseen): If marking messages as + unread, remove the automatic mark-as-read timer. Bug #4153. + +2001-08-08 Peter Williams <peterw@ximian.com> + + * component-factory.c (mail_load_storages): Don't load the storage + if it isn't enabled. + (mail_remove_storage_by_uri): New function. Goes through the + gymnastics of getting a CamelStore from the URI and calling + mail_remove_storage. Copied from mail_delete(). + (mail_load_storage_by_uri): Break out the storage-loading part of + mail_load_storages into a single function. + (mail_load_storages): Just call mail_load_storage_by_uri several + times. + + * mail.h: Prototype our new _by_uri functions. + + * mail-accounts.c (news_add_destroyed): Instead of hacking around + mail_load_storages, call mail_load_storage_by_uri. + (mail_delete): Move this chunk of code into + mail_remove_storage_by_uri. + (mail_able): Add or remove the storage as necessary, with our + new _by_uri functions. + + * mail-config-druid.c (druid_finish): See news_add_destroyed above. + +2001-08-10 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config.c (mail_config_get_show_preview): Free dbkey if we + don't use it. + + * folder-browser.c (on_right_click): Added a comment about leaking + memory here, but we seem to not even use the 2 strings we + strdup...is this code still under construction? + + * mail-ops.c (mail_send_message): Free the sent_folder_uri at the + bottom of the function (ironically enough we were freeing it if we + encountered an error but never free'd it on success :-) + (get_folderinfo_got): Fixed a memory leak...this one would have + gone away once we got rid of the debug g_warning though. + +2001-08-10 Not Zed <NotZed@Ximian.com> + + * mail-ops.c (mail_transfer_messages): Dont want it to keep on + running if it got bad arguments, want it to bloody well crash. + (mail_append_mail): Same here. + +2001-08-09 Jeffrey Stedfast <fejj@ximian.com> + + * message-list.c (mlfe_callback): Added a g_assert_not_reached() - + I'm hoping this will help us track down the "can't delete message + sometimes" (ie bug #6637 and friends) bugs that users have been + reporting. If herein lies the problem, then we can expect some + crashes and some good backtraces, hopefully. + +2001-08-09 Peter Williams <peterw@ximian.com> + + * folder-browser.c (on_key_press): The bonobo menu items now + handle 'n' and 'p'. + (on_key_press): 'q' as well. + + * message-list.c (message_list_select): Fix inline documentation. + +2001-08-09 Anna Marie Dirks <anna@ximian.com> + + Fixes bug #6918 + + * folder-browser.c: Changed the "Store search as vFolder" menu + item to "Create vFolder from Search". + +2001-08-09 Jeffrey Stedfast <fejj@ximian.com> + + Fixes bug #6722 + + * mail-ops.c (save_messages_save): Don't set the default perms + here, let the user's umask deal with permissions. + + * folder-browser.c (message_list_drag_data_get): Don't set any + default perms. + +2001-08-09 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-gui.c (mail_account_gui_save): Save the pgp and + smime always-sign options. + + * mail-config.c (account_copy): Copy the always-sign options over + too. + +2001-08-08 Not Zed <NotZed@Ximian.com> + + * mail-ops.c (send_mail_send): Dont double-register this + operation, mail-mt will do it for us. + (get_folderinfo_get): " + (get_folder_get): " + (get_store_get): " + (create_folder_get): " + (remove_folder_get): " + (sync_folder_sync): " + (get_message_get): " + + * message-list.c (message_list_setup_etree): Free the etstate + object after we're done using it. + +2001-08-08 Peter Williams <peterw@ximian.com> + + * subscribe-dialog.c (sc_selection_changed): New function. Set the + sensitivity of the subscribe buttons based on whether any folders + are selected. + (menu_item_selected): If getting the widget for the first time, + hook up sc_selection_changed. + +2001-08-08 Peter Williams <peterw@ximian.com> + + * mail-ops.c (mail_update_subfolders): Change this gtk_object_ref + on the storage to a bonobo_object_ref. + + * component-factory.c (mail_lookup_storage): And here. + + * mail-vfolder.c (mail_vfolder_get_vfolder_storage): And here. + +2001-08-07 Ettore Perazzoli <ettore@ximian.com> + + * message-browser.c (set_bonobo_ui): Remove the "Customize + Toolbar" thing. + +2001-08-07 Not Zed <NotZed@Ximian.com> + + * mail-config.c (mail_config_get_thread_list): Free the dbkey if + we found the config option. + + * mail-send-recv.c (build_dialogue): Free the pretty_url after + we've used it. + (free_send_info): Free the 'what' string. + (receive_done): Use free_send_info to make sure we free + everything. + + * mail-ops.c (send_queue_free): Unref the filter driver when done. + (send_queue_send): Unref the driver here too, force any long + taking operations to run in our thread. + +2001-08-07 Peter Williams <peterw@ximian.com> + + * Revert Jeff's changes to subscribe-dialog.[ch]. It's not a widget, + it's an object from which you can obtain a widget. + +2001-08-07 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (manage_subscriptions): Hide the app->window. + (do_mail_print): Set the parent of the gnome-dialog to be the + folder-browser so that when evolution is closed, the print dialog + gets destroyed. Should fix bug #4781. + + * subscribe-dialog.c (subscribe_dialog_new): This should return a + GtkWidget not a GtkObject. + + * mail-session.c (get_filter_driver): Update to use user's logging + preferences. + + * mail-accounts.c (filter_log_toggled): New. + (filter_log_path_changed): New. + (construct): Get and attach signals to the filter logging option + widgets. + + * mail-config.c (config_read): Read in filter logging options. + (mail_config_write_on_exit): Save filter logging options. + (mail_config_set_filter_log_path): Implemented. + (mail_config_get_filter_log_path): Implemented. + (mail_config_set_filter_log): Implemented. + (mail_config_get_filter_log): Implemented. + +2001-08-07 Peter Williams <peterw@ximian.com> + + * subscribe-dialog.c (folder_etree_construct): Move + fe_create_root_node farther down, so we can check for its children + without problems. + + * mail-callbacks.c (folder_created): Use bonobo_object_unref on + the storage since it's a bonobo object. + (mail_storage_create_folder): Same. + (folder_deleted): Same. + + * mail-send-recv.c (receive_update_got_store): Same. + + * mail-ops.c (do_update_subfolders): Same. + + * subscribe-dialog.c (fe_destroy): Unref the e_storage since + lookup_store gives us a ref. + +2001-08-07 Peter Williams <peterw@ximian.com> + + * subscribe-dialog.c (folder_etree_construct): Move + fe_create_root_node farther down, so we can check for its children + without problems. + (storage_tree_path): Removed, this was broken. + (subscribe_get_short_folderinfo): Use the queued thread instead of + the new thread. + (subscribe_do_subscribe_folder): Same. + (ftree_node_new_root): Don't create the path anymore; it was + broken and there's a better way to get it now. + (fe_got_children): Remove some debugging output. + (fe_check_for_children): Here too. + (fe_done_subscribing): Get the path from the URI instead of the + ftree_node. + (_SubscribeDialogPrivate): Add all of our useful widgets as + members. + (sc_refresh_pressed): Don't clear the search... that makes no + sense now. + (sc_search_activated): Don't set the filter radio button as active + now; we use sensitivity instead. + (sc_all_toggled): Make the search entry insensitive. + (sc_filter_toggled): Make the search entry sensitive. + (kill_default_view): New function. Gets rid of the default view + stuff and makes all the widgetry sensitive. + (menu_item_selected): Check if we moved off of the default view + and, if so, call kill_default_view(). + (subscribe_dialog_construct): Initialize our new private widget + members, and by default insensitize most of the buttons because + they make no sense in the default view. + +2001-08-06 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config.glade: Added key accelerators to a bunch of the + config options and moved the Bcc and empty-subject checkboxes to + the composer tab where they belong. + + * mail-callbacks.c (providers_config): Raise the dialog if it + exists already. + (manage_subscriptions): Raise the dialog if it already exists. + (main_select_first_unread): Removed (we haven't needed this code + in ages). + (select_first_unread): Same. + (save_msg_ok): If the path is empty, just return. + + * mail-local.c (mail_local_reconfigure_folder): Raise the dialog + if it already exists. + +2001-08-06 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (expunge_folder): Set the message-display + message to NULL if we can't get an info too. + +2001-08-06 Jason Leach <jleach@ximian.com> + + * mail-callbacks.c (create_folders): Make vtrash folders on other + storages with a "vtrash" type, so they get the little trashcan + icon. + +2001-08-06 Peter Williams <peterw@ximian.com> + + * subscribe-dialog.[ch]: Reimplement to be asynchronous and pretty, + with progressive folder loading and all sorts of wonderful + improvements. + + * mail-callbacks.c (manage_subscriptions): Change to reflect API + update. + + * Makefile.am (etspec_DATA): Add subscribe-dialog.etspec. + (glade_DATA): And the glade file. + + * subscribe-dialog.etspec: New file, break out the specification + from inside the subscribe-dialog.c + + * subscribe-dialog.glade: Update this, actually use it now. + +2001-08-06 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (empty_trash): Yuck. Special case whether or + not we want to expunge all the trash folders syncronously or + asyncronously based on whether or not we are doing Empty-On-Exit + or emptying trash by user request respectively. + +2001-08-06 Jason Leach <jleach@ximian.com> + + * mail-folder-cache.c (make_folder_name): Removed this function, + it's not needed anymore. + (mail_folder_cache_note_folderinfo): Initialize mfi->unread to 0 + always, so the shell won't get sent a random int for vtrash or + potentially other folders. + + * message-list.c (message_list_select): Fix a minor glitch with + how it started a backwards wraparound at the 2nd to last message, + skipping the very last message. + +2001-08-06 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config.glade: s/character set/character encoding + +2001-08-05 Ettore Perazzoli <ettore@ximian.com> + + * message-browser.c (message_browser_message_loaded): Make the + title of the window "subject - Message" instead of just "subject". + Also, display "(No subject)" if the subject is NULL. + + [Fix #6399, 8-bit characters are not displayed in window title.] + + * message-browser.c (message_browser_message_loaded): Convert the + subject from UTF-8 to GTK. + +2001-08-05 Ettore Perazzoli <ettore@ximian.com> + + [Revert the previous changes, there seems to be something wrong + with it.] + + * component-factory.c (component_factory_init): Back to using + `bonobo_generic_factory_new()'. + (component_fn): Updated accordingly. + +2001-08-04 Ettore Perazzoli <ettore@ximian.com> + + * component-factory.c (component_factory_init): Use + `e_bonobo_generic_factory_multi_display_new()' instead of just + `bonobo_generic_factory_new()'. + (component_fn): Added @component_id arg. + +2001-08-04 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (mail_part_is_inline): Add yet another + special-case hack for application/pgp. + +2001-08-04 Jason Leach <jleach@ximian.com> + + * message-list.c (message_list_select): Add a @wraparound + argument, so the 'n' and 'p' keypresses (or anything else that + wants to) can wrap around to find the next unread. + + * folder-browser.c (on_key_press): Tell it to wrap around here. + + * mail-callbacks.c (delete_msg): Don't wrap around here (or the + other callbacks in this file). + +2001-08-03 Jason Leach <jleach@ximian.com> + + * mail-folder-cache.c (update_idle): Updates for EvolutionStorage + API changes. + + * mail-importer.c (mail_importer_create_folder): Ditto. + + * mail-local.c: Same here. + +2001-08-03 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-gui.c (build_auth_menu): Try to restore the choice + the user had chosen before hitting the "Check Supported Types" + button. + + * mail-format.c (write_headers): Removed a no-longer-needed + g_warning. + +2001-08-03 Not Zed <NotZed@Ximian.com> + + * mail-session.c (get_password): return the source url for + popb4smtp auth request. + +2001-08-02 Jon Trowbridge <trow@ximian.com> + + * mail-ops.c (filter_folder_describe): Added. Provide + description for filter_folder_op. + (fetch_mail_describe): Added. Provide description for + fetch_mail_op. + + * message-list.c (regen_list_describe): Added. Provide + description for regen_list_op. + + * mail-config.c (check_service_describe): Added. Provide + description for check_service_op. + + * folder-info.c (do_describe_info): Added. Provide description + for get_info_op. + +2001-08-02 Larry Ewing <lewing@ximian.com> + + * mail-send-recv.c (format_url): handle null paths in the dialog + so that we avoid printing NULL strings + +2001-08-02 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (filter_edit): Raise the filter-editor window + if it's already created. + + * folder-browser.c (message_list_drag_data_received): I obviously + can't spell recieved, er, received...uh, yea. + +2001-08-02 Jason Leach <jleach@ximian.com> + + * mail-config.glade: Set history_id's for the sig and html sig + gnome file entry boxes so it can persist history, also add titles + to the dialogs that popup when you click the "Browse..." button. + Bug #5595. + +2001-08-02 Jeffrey Stedfast <fejj@ximian.com> + + * mail-vfolder.c (vfolder_create_storage): Connect to the + folder_remove signal on the storage. + (vfolder_remove): New function to remove a vfolder. + (vfolder_edit): Raise the window if it already exists. + +2001-08-02 Not Zed <NotZed@Ximian.com> + + * Makefile.am (INCLUDES): Add EVOLUTION_BUTTONSDIR to get to some + different icons. + + * mail-ops.c (mail_sync_folder): Queue the folder sync operation, + rather than running it in parallel. + + * mail-send-recv.c: applies anna's patch for prettier send-recv + dialogue. + (parse_url): Renamed to format_url, fixed callers. + (format_url): Use camel_url_free instead of g_free, also handle + case where we have no host (use path instead). + (build_dialogue): Cleaned up some whitespace. + (build_dialogue): Create the label directly with the right text, + dont set any text in the progress bar, and save the label into the + info struct for later updating. + (struct _send_info): Added 'status' the label with the status + string. + (operation_status_timeout): + (receive_done): + (receive_cancel): Set the status label, not the progress format + text. + (hide_send_info): NULL out status too. + (mail_receive_uri): Init status. + (free_folder_info): Initiate a folder sync here, so we can ... + (free_send_data): ... Remove the awful hack of iterating through + bonobo controls to sync all open folders. + (free_send_data): Initiate a sync of the inbox too. + (build_dialogue): Remove set_alignment on the icon, its not a + gtkmisc object. + +2001-08-01 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser.c (folder_browser_copy): Do the Right Thing (tm) + if the message list is not the widget in focus (which is to copy + the text selected in the html viewer instead). Fixes bug #5868. + +2001-08-01 Jason Leach <jleach@ximian.com> + + * folder-browser-ui.c: Use the new Save As and Message Search + icons from Jakub. + + * mail-callbacks.c (delete_msg): Don't move cursors around when + deleting last message and Hide Deleted Messages isn't enabled. + Bug #5928. + +2001-07-31 Anna Marie Dirks <anna@ximian.com> + + * mail-mt.c (do_get_pass): Changed the title of this dialog + to "Enter Password". + +2001-07-30 Jeffrey Stedfast <fejj@ximian.com> + + * mail-mt.c (do_get_pass): We are not guarenteed to have a + non-NULL service (ie. PGP) thus check for it. + (pass_got): And again here. + (mail_get_password): And of course here too. + + * mail-format.c (decode_pgp): When writing out a CamelException to + the HTML stream, be sure to translate it first. + (handle_message_external_body): Convert to UTF8 here too - I know + this function is basically a dead end right now but eventually we + will want to do something. I mostly did this because param values + are UTF8 encoded so we should avoid mixing and matching UTF with + non UTF8. + (format_mime_part): Avoid writing non-UTF8 to the HTML stream. + + * mail-tools.c (mail_tool_make_message_attachment): Convert + translated strings to UTF8 here too. + (mail_tool_forward_message): Here too. + +2001-07-23 Zbigniew Chyla <cyba@gnome.pl> + + * mail-format.c (attachment_header, write_address, decode_pgp, + mail_write_authenticity): + Convert translated strings to UTF8 before calling mail_html_write. + + I modified the patch slightly and cleaned up bits of code around + it as well. For example, we probably want to avoid having HTML + tags in the strings to be translated. -- fejj + +2001-07-30 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-gui.c (mail_account_gui_new): Restore old security + settings from the saved configuration. Fixes bug #5710. + +2001-07-30 Not Zed <NotZed@Ximian.com> + + * mail-session.c (do_register_timeout): Actually add the timeout, + this time in the gtk thread. + (do_remove_timeout): And same for remove. + (register_timeout): + (remove_timeout): Proxy the gtk calls to the main thread, and + wait for them to execute synchronously. + (register_timeout): Instead of return with fail for a too small + timeout, just increase the timeout. + +2001-07-27 Zbigniew Chyla <cyba@gnome.pl> + + * component-factory.c (populate_folder_context_menu): Added (unused) + table with strings intended to be translated (i18n tools can't extract + strings from XML data inside .c file). + +2001-07-27 Jeffrey Stedfast <fejj@ximian.com> + + * mail-mt.c (focus_on_entry): Don't need this anymore. + (do_get_pass): Since we already have the entry widget, no need to + do the nasty focus_on_entry hack. + +2001-07-26 Peter Williams <peterw@ximian.com> + + * mail-mt.c (do_get_pass): Figure out whether we're getting the + password for the source or the transport, and get the toggle + button accordingly. + (pass_got): Same. + + * mail-config.c (mail_config_get_account_by_transport_url): New + function. Cut + paste + search + replace of _by_source_url. + + * mail-config.h: Prototype here. + +2001-07-26 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser.c (message_list_drag_data_get): If we don't have + any messages selected, break out. This fixes bug #5612. + + * component-factory.c (xfer_folder): Fixed a strstr (url, + "noselect=yes") brokenness. + (destination_folder_handle_motion): Same. + (destination_folder_handle_drop): And again here. + + * mail-format.c (handle_application_pgp): Implemented. + (setup_mime_tables): Setup the application/pgp handler to use + handle_application_pgp instead of handle_text_plain. + (handle_text_plain): Remove special-case hacks for application/pgp + types. + + * mail-config.glade: beautification. + +2001-07-26 Peter Williams <peterw@ximian.com> + + * mail-mt.c (do_get_pass): Use magic to make the password + remembering checkbutton come after the entry, visually. + +2001-07-26 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (write_headers): Respect Gtk theme colors for the + fonts and calculate a new table gbcolor based on gtk theme + preferences. + + * mail-config.glade: Label the enabled field. + +2001-07-26 Peter Williams <peterw@ximian.com> + + * message-list.etspec: Make the date column smaller and the + subject column larger, relatively. + + * mail-folder-cache.c (make_folder_status): Don't display "0 + hidden". + + * folder-browser.c (on_key_press): Make 'q' a toggle, not one-way. + + * message-list.etspec: Rename "Date" column to "Sent". + +2001-07-25 Anna Marie Dirks <anna@ximian.com> + + * mail-config.glade: fixed a mis-spelling of "Fashion" in the mail + accounts window. (See bug 5433) + +2001-07-25 Jeffrey Stedfast <fejj@ximian.com> + + * mail-session.c (make_key): Don't make the key url:item if we + have the url, just make it url. This fixes bug #5339. + (mail_session_set_password): Removed. + +2001-07-25 Peter Williams <peterw@ximian.com> + + * folder-browser.c (etree_key): Make it so Enter always opens the + message in another window. + +2001-07-25 Peter Williams <peterw@ximian.com> + + * mail-mt.c (mail_get_password): Now take a CamelService parameter + (as passed by Camel). Allows us to have a "remember password" + checkbox that is set correctly and whose settings can be + propagated back to the proper MailConfigService. + (do_get_pass): Add a checkbutton allowing the user to change + whether the password is remembered or not. + (pass_got): Apply the setting of the "remember password" + checkbutton (if not cancelled.) + + * mail-mt.h: Update the prototype here. + + * mail-config.c (mail_config_service_set_save_passwd): New + function, pretty bland. + + * mail-config.h: Prototype our bland new function. (Get it? It's a + pun!) + + * mail-session.c (get_password): Pass the service as well. + +2001-07-25 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-gui.c (build_auth_menu): Now takes a + check_supported gboolean argument saying whether or not to disable + non-supported authtypes. + (source_type_changed): Update for build_auth_menu. + (transport_type_changed): Same. + (service_check_supported): Pass in TRUE for the disable + non-supported authtypes to build_auth_menu and also disable + check-supported button and the authtype menu if we get a NULL + supported auth list. + + * mail-callbacks.c (mail_generate_reply): Initialize `me' to NULL. + (forward_attached): If we are only forwarding a single message, + pass the message along as the callback data, else pass NULL. + (do_forward_attach): Updated for changes to + forward_get_composer(). + (do_forward_non_attached): Same. + (forward_get_composer): Try to guess which account to forward the + message from if the message passed in is non-NULL. + +2001-07-24 Peter Williams <peterw@ximian.com> + + * mail-config.c (mail_config_write): Um, write the HTML signature + settings in the right place. Whoops. + +2001-07-24 Jason Leach <jleach@ximian.com> + + * mail-callbacks.c (delete_msg): If we're deleting the last + message, select the previous, not next, which actually selects + nothing. Fixes #5323. + +2001-07-24 Jeffrey Stedfast <fejj@ximian.com> + + * mail-ops.c (save_part_save): Pass the O_TRUNC flag to open so + that we don't leave trailing garbage at the end of the file if the + new file content is shorter than the old file content. + + * component-factory.c (create_view): Fix for bug #5174. + +2001-07-24 Jason Leach <jleach@ximian.com> + + * mail-config.c (config_read): Match the prefix for the + "remember_passphrase" setting with where it's being saved to + (/Mail/Prompts), so the setting gets loaded correctly. Fixes + #5351. + +2001-07-24 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (handle_text_plain): check_specials if this is an + application/pgp type as well. + + * mail-ops.c (add_vtrash_info): When dumping the CamelURL to a + string, hide all the params. + +2001-07-24 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (guess_me): Do a case-insensitive comparison. + (mail_generate_reply): Only resort to the source account's + identity if we can't find out which identity to use based on the + recipients of the message first. + + * mail-config.c (mail_config_get_default_account): Make sure to + return the 0th account if we don't have a default. We don't want + to return NULL. + + * mail-callbacks.c (empty_trash): Use mail_tool_get_trash for the + remote store trash folders. + + * mail-tools.c (mail_tool_get_trash): New convenience function. + +2001-07-24 Jason Leach <jleach@ximian.com> + + * mail-config.c (config_read): get_boolean_with_default for the + "Mark as read" timeout, not get_long_with_default. Fixes #5176. + +2001-07-24 Peter Williams <peterw@ximian.com> + + * mail-folder-cache.c (make_folder_name): Don't display "(0 unsent)" if + the outbox is empty. + + * mail-local.c (init_trash): Set up the local trash in the folder + cache. + + * mail-folder-cache.c (update_idle): Make the error reporting a little + but more descriptive. + +2001-07-24 Peter Williams <peterw@ximian.com> + + * mail-config.glade: Add new label widgets with a message that SSL + isn't supported. + + * mail-account-gui.h: Add a new member to the Transport GUI struct + for the 'SSL is not supported' message. + + * mail-account-gui.c (source_type_changed): Change logic to display + a message stating that SSL isn't supported if SSL isn't supported. + (transport_type_changed): Same. + (mail_account_gui_new): Also load the labels for the the no-SSL + message. + + * mail-accounts.c (construct): Fix typo. + +2001-07-24 Not Zed <NotZed@Ximian.com> + + * component-factory.c (create_folder): Dont call notifyResult here + if we've just launched a thread to do the work, it calls it + itself. This apparently breaks the importers, but thats a + different issue. + +2001-07-23 Not Zed <NotZed@Ximian.com> + + * mail-mt.c (mail_msgport_replied): Go back to calling + mail_msg_free here. + (mail_msg_destroy): Remove the operation unregistration stuff. + (mail_msg_received): And put it here, so we unregister as soon as + the async part of the operation is complete. I thought about this + and we should be doing this anyway so we register/unregister + always in the same thread, although the camel_operation api + doesn't enforce it, this *is* what it expects. + + * message-list.c (regen_list_regen): re-add reporting to + rebuilding the message list. Basically fixes #4931 + +2001-07-23 Jeffrey Stedfast <fejj@ximian.com> + + * mail-search.c (toggled_fwd_cb): Oops. Uncomment this code since + Trow fixed GtkHTML to actually have this function now. + + * mail-config.glade: Fixed the "Read" to be Read in the glade file + per menesis' request. + + * mail-accounts.c (construct): Give the dialog a Close button + instead of an OK button. + (prompt_bcc_only_toggled): New. + (threaded_list_toggled): New. + (show_preview_toggled): New. + (construct): Add code for the bcc-only-prompt, threaded-list, and + show-preview checkboxes. + + * mail-ops.c (transfer_messages_transfer): If the source and + destination folders are the same, just mark the uids as undeleted + (in case they were marked as deleted before). + +2001-07-23 Jon Trowbridge <trow@ximian.com> + + * mail-search.c (begin_cb): Carefully check for NULL everywhere, + and do the right thing if the message we are currently looking at + gets expunged. (Bug #4870) + +2001-07-23 Jason Leach <jleach@ximian.com> + + [Bug #5225: No UI way to mark as unimportant] + + * folder-browser.c (on_right_click): Do the necessary stuff to + show or hide the correct "Mark Important" or "Mark as Unimportant" + menu items depending on the status of messages that are selected. + + * folder-browser-ui.c: Add the MarkAsUnimportant verb here. + + * mail-callbacks.c (mark_as_unimportant): Simple function that's + the callback for these new menu items. + +2001-07-22 Ettore Perazzoli <ettore@ximian.com> + + * component-factory.c (remove_folder): Updated to get a @type + argument. Return an error if the type isn't "mail". + (xfer_folder): Likewise. + +2001-07-21 Ettore Perazzoli <ettore@ximian.com> + + * component-factory.c: Make types "mailstorage" and "vtrash" + non-user-creatable. + +2001-07-20 Jason Leach <jleach@ximian.com> + + * mail-summary.c (generate_html_summary): Change this back to the + "evolution:/local/Inbox" URI. + +2001-07-20 Peter Williams <peterw@ximian.com> + + * component-factory.c (storage_remove_folder): Don't let the user + remove vtrash folders. + +2001-07-20 Peter Williams <peterw@ximian.com> + + * mail-mt.c (mail_msgport_replied): Fix DanW's fix. Pass the right + arguments to mail_msg_destroy. + + * component-factory.c (component_fn): Don't populate the context + menu; our only action didn't even work. + (populate_folder_context_menu): Removed. ChangeFolderProperties + needs a FolderBrowser which we don't have. It didn't even work + before. + + * mail-local.c (mail_local_reconfigure_folder): Bring the creation + of the hash table to the beginning to prevent warnings. Complain + if the mailbox is non-local. + +2001-07-20 Jeffrey Stedfast <fejj@ximian.com> + + * mail-ops.c (filter_folder_filter): Don't expunge the source + folder if we have a cache. + +2001-07-20 Dan Winship <danw@ximian.com> + + * mail-mt.c (mail_msgport_replied): Use mail_msg_destroy rather + than mail_msg_free, so the cancellation operation gets + unregistered and doesn't leak two file descriptors. + +2001-07-19 Jason Leach <jleach@ximian.com> + + * mail-summary.c (generate_html_summary): Update this + evolution:/local/ URI to evolution:/Local Folders/ to go along + with today's shell changes. + +2001-07-19 Jason Leach <jleach@ximian.com> + + * mail-display.c: Fix #4605: "Save Image as" should be "Save Image + as...". + +2001-07-19 Jason Leach <jleach@ximian.com> + + * mail-display.c (mail_display_new): Set the vertical scrolling + policy for the mail display to AUTOMATIC, only get a scrollbar if + the e-mail is longer than one frame. + + * folder-browser.c (my_folder_browser_init): We were setting the + policy twice (and to two different things). Removed this one. + + * message-list.c (message_list_init): Set the policy for the + message list scroll frame to be horizontal=NEVER, + vertical=AUTOMATIC (scrollbar only if you have >1 page of + messages). + +2001-07-19 Peter Williams <peterw@ximian.com> + + Track the NoSelect changes in Camel. + + * mail-callbacks.c (create_folders): We don't need to check if + the URL is NULL or not anymore. + + * component-factory.c (create_noselect_control): New + function. Create a dummy control for folders that can't contain + messages (ie \NoSelect) + (create_view): If the URI says the folder is noselect, make a + dummy control. FIXME: still should merge in the global UI + elements. + (xfer_folder): Don't allow the operation if the destination is + NoSelect. + (destination_folder_handle_motion): Ditto. + (destination_folder_handle_drop): Ditto. + +2001-07-19 Not Zed <NotZed@Ximian.com> + + * mail-local.c (reconfigure_folder_reconfigure): remvoed + register/start/end etc code. + + * mail-ops.c (get_messages_desc): Add the count here. + (get_messages_get): Remove the register/start code, its handled + above us. + (save_messages_desc): Added count. + (save_messages_save): Removed register/start/end code. + + * mail-mt.c (mail_msg_received, mail_msg_destroy): Changed to use + camel_operation rather than mail_status. + (mail_msgport_received, mail_msgport_replied): Turn of the + mail_status stuff, we dont need to report on stuff running in the + gui thread right? + (retrieve_shell_view_interface_from_control, set_view_data, + mail_statusf, mail_status, mail_status_end, mail_status_start, + status_timeout, do_del_status, set_status_op): removed now + redundant stuff. + (mail_msg_free): Removed reference to timeout_id. + +2001-07-18 Not Zed <NotZed@Ximian.com> + + * mail-local.c (reconfigure_folder_reconfigure): Changed to use + camel_operation rathre than mail_status. + (reconfigure_folder_describe): re-enabled this function. + + * mail-ops.c (get_messages_get): Changed to use camel-progress for + status reporting. + (save_messages_save): Likewise. + +2001-07-17 Not Zed <NotZed@Ximian.com> + + * mail-mt.c (struct _mail_msg_priv, destroy_objects, mail_msg_new, + mail_msg_free, do_op_status): Changed to use an EvolutionActivityClient for + progress. + +2001-07-18 Jason Leach <jleach@ximian.com> + + * mail-tools.h (mail_tool_get_local_inbox_url): Remove this + prototype for a function that was removed long ago. + (mail_tool_get_local_movemail_url): Ditto. + +2001-07-18 Jason Leach <jleach@ximian.com> + + [Simplifying how default account is stored and used internally, + fixes possabilities of having multiple default accounts and things + like deleting the current default account] + + * mail-account-gui.c (mail_account_gui_new): Update for new way of + finding out the default account. + (mail_account_gui_save): Ditto. + + * mail-accounts.c (load_accounts): Ditto. + + * mail-config-druid.c (make_default_account): Ditto. + + * mail-config.c: Added an int MailConfig::default_account, to be + used instead of a 'default_account' boolean on each mail account. + (mail_config_set_default_account_num): New function, facilitates + things. + + * Mail.idl: removed the Account::default_account boolean. + +2001-07-18 Jeffrey Stedfast <fejj@ximian.com> + + * mail-tools.c (mail_tool_generate_forward_subject): Do what was + suggested in #4596. + +2001-07-18 Peter Williams <peterw@ximian.com> + + * mail-accounts.c (construct): Add GTK_WIDGET to the charset + picker. Reportedly prevent a craash for someone... ? + + * mail-config.glade: Typo fix. + Later: And actually fix the typo. + +2001-07-17 Jeffrey Stedfast <fejj@ximian.com> + + * mail-accounts.c (mail_delete): Setup the auto-receive here + instead. + + * mail-config.c (mail_config_remove_account): Don't setup the + auto-recv here. + +2001-07-17 Iain Holmes <iain@ximian.com> + + * mail-accounts.c (mail_able): Reset the auto receive. + + * mail-config.h (mail_config_remove_account): Reset the autoreceive. + +2001-07-17 Jason Leach <jleach@ximian.com> + + * mail-account-gui.c (source_type_changed): Fix for last change: + hide the entire widget, not just the entry. + +2001-07-17 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser.c (message_list_drag_data_recieved): Fix to + correctly handle text/uri-lists that contain more than a single + url. + + * component-factory.c (destination_folder_handle_drop): Fix to + correctly handle text/uri-lists that contain more than a single + url. + +2001-07-17 Jason Leach <jleach@ximian.com> + + * mail-config.glade: Make the Path: entry into a GnomeFileEntry so + you get a nice "Browse..." button that pops up a file selector to + locate your mbox files. Bug #3501. + +2001-07-17 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (mail_part_toggle_displayed): Cleaned up a bit. + (handle_multipart_encrypted): Replace the encrypted part with the + decrypted part. + +2001-07-17 Iain Holmes <iain@ximian.com> + + * mail-accounts.c (mail_delete): Make a nicer dialog. + +2001-07-17 Jeffrey Stedfast <fejj@ximian.com> + + * mail-local.c (init_trash): Use CAMEL_VTRASH_NAME. + + * mail-ops.c (add_vtrash_info): Use CAMEL_VTRASH_NAME. + + * folder-browser.c: turned off some debugging + +2001-07-16 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (transfer_msg): Disallow vtrash for now... + + * mail-ops.c (add_vtrash_info): Use g_strcasecmp() when looking + for a Trash folder - it may be lowercase or something funky. + (transfer_messages_transfer): Special-case vtrash folders. + + * mail-local.c (init_trash): No need to specify the vfolder + expression here. This code was moved into camel-vtrash-folder.c + ages ago. + + * component-factory.c: Let VTrash folders accept/export the same + dnd types as normal folders. + +2001-07-16 Peter Williams <peterw@ximian.com> + + * mail-folder-cache.c (outbox_folder): prototype outbox_folder so + we can check if a folder is it. + (make_folder_name): If the folder is the outbox, display the count + of total messages as "unsent". + (make_folder_status): If the folder is the outbox, display + "unsent" instead of "total" + +2001-07-16 Peter Williams <peterw@ximian.com> + + * mail-display.c (mail_display_redisplay): Use our own + display_style member instead of the global setting. + (mail_display_init): Initialize display_style. + + * mail-display.h: Include "mail-config.h" and add a display_style + member. + + * mail-format.c (write_headers): Look at the MailDisplay's + display_style instead of using the full_headers data. + + * folder-browser.c (folder_browser_set_message_display_style): Set + the MailDisplay's display style as well as the global display + style. + (my_folder_browser_init): Don't save preference changes by + default. (This is only observered wrt. the message display style + but should apply to other items.) + + * folder-browser-factory.c (folder_browser_factory_new_control): + Set this FB to save the preferences set in it. + + * folder-browser-ui.c (folder_browser_ui_add_message): Read our + display's state instead of the global setting. + +2001-07-16 Peter Williams <peterw@ximian.com> + + * mail-folder-cache.c (mail_folder_cache_set_folder_browser): DUH. + No need to update every folder if we set the folder browser to + NULL. + +2001-07-15 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-gui.c (mail_account_gui_save): Call + mail_autoreceive_setup() so that any changes to the list of + accounts will be respected the next time mail is checked. + +2001-07-13 Peter Williams <peterw@ximian.com> + + * mail-callbacks.c (expunge_folder): Segfault prevention here if + no uid is currently loaded. + + * mail-vfolder.c (unlist_vfolder): New function. If a vfolder in + our list gets finalized, NULL out info->folder (Is it wrong if + this happens?) Also, locking issues? + (vfolder_uri_to_folder): Hook up to the finalize event here. + +2001-07-13 Jeffrey Stedfast <fejj@ximian.com> + + * mail-ops.c (filter_folder_filter): Updated to reflect changes in + the filter API by passing in the provided uid cache to + camel_filter_driver_filter_folder. + (mail_filter_folder): Set the cache to NULL. + (mail_fetch_mail): Set the cache to NULL. + (fetch_mail_fetch): If a cache exists for this folder, set + it. When we are finished filtering the incoming messages, the + logic changes a bit. We now save the cache if keep_on_server is + set *or* if there was an exception this way if the user's download + gets interrupted, he won't have to download all the messages + again. + (fetch_mail_fetch): Oh yea, and just so if we get an exception + with `delete' turned on, the next time the user checks mail and an + exception *doesn't* occur, it will go back and mark all the + messages for deletion. + +2001-07-12 Iain Holmes <iain@ximian.com> + + * importers/evolution-mbox-importer.c (load_file_fn): Check that + the folder does exist before trying to import it. + +2001-07-12 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (expunge_folder): Force-hide all deleted + messages before expunging. + (expunged_folder): Restore the user's "hide deleted messages" + preference. + +2001-07-12 Jason Leach <jleach@ximian.com> + + * mail-callbacks.c (expunge_folder): Only blank the mail display + if the message being viewed is one of those to be expunged. Bug + #4030. + +2001-07-12 Jason Leach <jleach@ximian.com> + + * mail-config.c (config_read): Should be saving the + 'identity_html_signature' and 'identity_has_html_signature" keys + in the /Mail/Accounts prefix (with the rest of the per-account + stuff, not on it's own) + +2001-07-11 JP Rosevear <jpr@ximian.com> + + * mail-display.c (get_embedded_for_component): no longer need to + set a my address property + +2001-07-10 Federico Mena Quintero <federico@ximian.com> + + * mail-display.c (link_copy_location): Set the CLIPBOARD selection + as well as the primary selection so that Edit/Paste will work in + other programs (e.g. Netscape). + (mail_display_new): Add the target for the CLIPBOARD selection. + +2001-07-10 Jason Leach <jleach@ximian.com> + + [Bug #4305: Make the automatic mark-as-read timer optional] + + * mail-config.glade: Necessary changes to make the Mark as "Read" + label a toggle button instead. + + * mail-accounts.c (construct): Connect to the "toggled" on our new + toggle. + (timeout_toggled): New callback, called from above. + + * mail-config.c (mail_config_get_do_seen_timeout): New. + (mail_config_set_do_seen_timeout): New. + (mail_config_write_on_exit): Save the preference here. + (config_read): Load it here. + +2001-07-10 JP Rosevear <jpr@ximian.com> + + * folder-browser.c: Cosmetic patch - replace our defines with the + e-popup ones + + * Makefile.am: Typo + +2001-07-10 Peter Williams <peterw@ximian.com> + + * mail-format.c (attachment_header): Took the logic of whether or + not to make the attachment header out of the actual function. + (mail_part_is_displayed_inline): Return if the part is being + displayed inline (regardless of whether it is actually inline). + (mail_part_toggle_displayed): Toggle whether it's displayed inline + or not. + (get_inline_flags): Determine whether the part is displayed inline + and whether it is actually inline. + (mail_format_mime_message): Initialize the attachment_status hash + table. + + * mail-display.c (inline_cb): Instead of modifying the + CamelMimePart, use mail_part_toggle_displayed + (button_press): As above. + (pixmap_press): Use mail_part_is_displayed_inline instead of + mail_part_is_inline. Get the MailDisplay from the popup to do + this. + + * mail.h: Add prototypes. + +2001-07-10 JP Rosevear <jpr@ximian.com> + + * Makefile.am: extra dist the news files + +2001-07-10 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config.c (mail_config_write_on_exit): Use + bonobo_config_set_string_wrapper. + (mail_config_write): Same. + (bonobo_config_set_string_wrapper): Macro wrapping + bonobo_config_set_string that passes "" as the val if the val is + NULL. + + * mail-callbacks.c (mail_generate_reply): Make sure that the + reply-to addr i non-NULL before trying to add it to the hash + table. + +2001-07-09 JP Rosevear <jpr@ximian.com> + + * mail-account-gui.c (get_focused_widget): fix typo so it compiles + +2001-07-09 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (setup_mime_tables): Handle application/pgp using + the text/plain handler. + + * mail-account-gui.c (get_focused_widget): New function to + determine which widget is focused. + + * mail-account-editor.c (apply_changes): Not only flip to the + notebook page that wasn't finished, but also grab the focus of the + incomplete widget. + + * mail-config-druid.c (source_changed): Grab the focus of the + incomplete widget. + (transport_prepare): And here. + (identity_changed): Here too. + + * mail-account-gui.c (mail_account_gui_identity_complete): Take an + incomplete argument so we can set which widget is incomplete and + then the caller can focus it or whatever. + (service_complete): Same. + (mail_account_gui_transport_complete): And again here. + (mail_account_gui_management_complete): And here too. + +2001-07-09 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (decode_pgp): Update to pass in the `remember' + argument when creating a new pgp context. + (try_inline_pgp_sig): And here... + + * mail-crypto.c (mail_crypto_pgp_mime_part_sign): Update to pass + in the `remember' argument when creating a new pgp context. + (mail_crypto_pgp_mime_part_verify): Same. + (mail_crypto_pgp_mime_part_encrypt): And here... + (mail_crypto_pgp_mime_part_decrypt): And finally here. + + * mail-config.c (mail_config_get_remember_pgp_passphrase): New. + (mail_config_set_remember_pgp_passphrase): New. + (config_read): Read in the "remember passphrase" value. + (mail_config_write_on_exit): Save the remember-passphrase value. + + * mail-accounts.c (construct): Allow the user to set "Remember PGP + Passphrase". + (remember_pgp_passphrase_toggled): Set the toggle state. + +2001-07-09 Peter Williams <peterw@ximian.com> + + * mail-ops.c (get_folderinfo_got): Check for an exception and + print it. Call done anyway. + (do_update_subfolders): Check for NULL info. + +2001-07-09 Peter Williams <peterw@ximian.com> + + * mail-config.c (mail_config_write): Some NULL protection for our + strings: pgp_key, html_signature, smime_key. Probably we should do + this for all strings. Either that or change Bonobo Config. + + * message-list.c (message_list_init): Explicitly initialize search + to NULL. Bug 3951 might to be due to a problem wrt this, and it + can't hurt. + +2001-07-09 Dan Winship <danw@ximian.com> + + * mail-display.c (save_part): g_strdup the result of + g_get_home_dir since this variable will get free'd later. + + * mail-format.c (mail_lookup_handler): Use + gnome_vfs_mime_get_short_list_applications rather than + gnome_vfs_mime_get_default_application. + + * mail-display.c (pixmap_press): Construct the EPopupMenu array on + the fly, based on the number of applications available to open the + MIME type. + (launch_cb): Figure out which menu item was clicked, and invoke + the appropriate application. Ugh, messy, because of the EPopupMenu + interface. Probably should get rewritten some day. Also, make this + handle apps with expects_uris set too. + +2001-07-09 Peter Williams <peterw@ximian.com> + + * mail-config.c (mail_config_write): Change html_signature stuff + over to bonobo-config -- someone forgot to do this. + + * mail-folder-cache.c (dm): Gave up and got rid of dm. Just + replaced it with d(g_message()) and set G_LOG_DOMAIN. + +2001-07-09 Peter Williams <peterw@ximian.com> + + * mail-folder-cache.c (mail_folder_cache_set_update_shellview): + Deleted + (as opposed to #if 0) + (get_folder_info): Changed to assume it has the folder lock. + (make_folder_name): Same. + (make_folder_status): Same. + (update_idle): Don't unlock around the make_folder_ functions. + (*): Changed behavior wrt. get_folder_info. Lock before calling, + but also move preconditions before -- get_folder_info can only + return NULL if uri is NULL. Also add preconditions for other + arguments where necessary. + +2001-07-07 Christopher James Lahey <clahey@ximian.com> + + * message-list.c (on_cursor_activated_cmd): Check for new_uid != + NULL here before strcmping. + +2001-07-07 Dan Winship <danw@ximian.com> + + * main.c (main): Only install the segv_redirect handler if SEGV's + handler is not currently SIG_DFL. Otherwise you get an infinite + SEGV loop if you run with GNOME_DISABLE_CRASH_DIALOG. + +2001-07-07 Christopher James Lahey <clahey@ximian.com> + + * message-list.c (message_list_select): Made this handle being + given a row that's outside the range better. + +2001-07-06 Jason Leach <jleach@ximian.com> + + [Fix bug #1100, default account is stored strangely] + + * mail-config.c (mail_config_get_default_account_num): New + function, returns the integer of the position of the default + account, used to save which account is the default to the config + db. + (mail_config_write): Save the default account number here in + "/Mail/Accounts/default_account". + (config_read): Load in which is the default here. + +2001-07-06 Larry Ewing <lewing@ximian.com> + + * mail-callbacks.c (composer_send_cb): add a NULL check since that + is a valid return. + +2001-07-06 Peter Williams <peterw@ximian.com> + + * mail-format.c (format_mime_part): Prevent infinite recursion when + viewing attachments that we can't / shouldn't display but are some + form of plaintext. Cf bug #2234 + +2001-07-06 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser.c (folder_browser_copy): Freeze and Thaw the + folder. + +2001-07-06 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser.c (folder_browser_copy): Mark the messages as + Seen also. + (folder_browser_class_init): Create an atom type for + X-Evolution-Message selection type. + (my_folder_browser_init): Add our multiple selection types, one of + which is the default string type. + + * component-factory.c (destination_folder_handle_drop): Update to + use the new X-Evolution-Message type format. + + * folder-browser.c (selection_get): Convert the + X-Evolution-Message clipboard type to whatever format the target + wants. + (message_list_drag_data_get): Update because the + X-Evolution-Message type changed. + (folder_browser_copy): Same. + (x_evolution_message_parse): And here too. + +2001-07-06 Peter Williams <peterw@ximian.com> + + * mail-callbacks.c (composer_postpone_cb): Don't free the psd here -- + it will be freed on the "destroy" signal. + + * mail-folder-cache.c (maybe_update): Instead of an idle, use a very + short timeout in hopes of reducing the number of redundant updates. + + * mail-tools.c (mail_tool_uri_to_folder): Only note the folder in the + cache if we successfully got it. + +2001-07-06 Jason Leach <jleach@ximian.com> + + * mail-callbacks.c (delete_msg): Select the very next message + after deleting, not the next undeleted (it can make things jump + around in annoying ways if you are deleting many messages), bug #4032. + + * folder-browser.c: Forgot to commit the "Mark as Important" right + click menu item. + + * message-list.c (message_list_set_folder): Setup the strikeout + column here (after we've gotten the folder) so we can disable + strikeouts for vtrash folders, part of bug #2224. + +2001-07-06 Dan Winship <danw@ximian.com> + + * mail-folder-cache.c (mail_folder_cache_set_folder_browser): Fix + obvious bug in previous bugfix: Pass "fb" to check_for_fb_match() + so only the selected folder gets updated, instead of "all folders + that haven't yet been selected". + +2001-07-06 Ettore Perazzoli <ettore@ximian.com> + + * component-factory.c (populate_folder_context_menu): New function + to populate the right-click menu for mail folders. + (component_fn): Pass it to `evolution_shell_component_new()'. + +2001-07-05 Jeffrey Stedfast <fejj@ximian.com> + + * mail-accounts.c (construct): Add a checkbox for prompting when + sending a message with an empty subject. + + * mail-ops.c (mail_send_message): If filtering fails, return right + away. + + * mail-config.c (mail_config_set_show_preview): Okay, apparently I + was wrong. Oh well. + (mail_config_set_thread_list): Fix this one too. + +2001-07-05 Peter Williams <peterw@ximian.com> + + * mail-vfolder.c (vfolder_uri_to_folder): Add mail folder cache + hookups. + + * Makefile.am: Remove the ridiculuous relic known as + test-mail. Clean up a bit. + + * mail-vfolder.c (vfolder_uri_to_folder): Add mail folder cache + hookups. + +2001-07-05 Peter Williams <peterw@ximian.com> + + * mail-folder-cache.c (mail_folder_cache_set_folder_browser): + Clear the shell view label if mailer loses focus. + + * mail-ops.c (do_update_subfolders_rec): Check for NULL url before + calling folder cache functions. + +2001-07-04 Gediminas Paulauskas <menesis@delfi.lt> + + * folder-browser-ui.c (message_pixcache): set icon for + ApplyFilters command. + +2001-07-04 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config.c (mail_config_set_show_preview): Revert Sam's + changes. + + Note: Uhm, g_hash_table_lookup_extended gives us a pointer to the + original value which we can just change to update the hash table + without the need to re-insert - it's already there!! Also, you + don't want to g_hash_table_insert the new value with the same key + without at least first removing the existing bucket. And, you + certainly don't want to g_free() the key after you insert it - + eek!! + +2001-07-03 Sam Creasey <sammy@oh.verio.com> + + * mail-config.c (mail_config_set_show_preview): Replace value in + config->preview_hash when it already exists. Old code never + re-inserted into the hash, just assigned to val -- it's an int + here, not a real pointer. + +2001-07-03 Joe Shaw <joe@ximian.com> + + * mail-callbacks.c (expunge_folder): Unset the message being displayed + when expunging. This makes expunged messages not show in the preview + pane when they're not there anymore. Fixes #3591. + +2001-07-03 Joe Shaw <joe@ximian.com> + + * mail-callbacks.c (mail_reply): If msg is NULL, fetch the message + and requeue a mail_reply call. Fixes bug #3816. + (requeue_mail_reply): Callback from mail_get_message(). + +2001-07-03 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config.c (mail_config_get_show_preview): Use a better + GHashTable technique that will hopefully solve some bugs and also + use _with_default bonobo-config call. + (mail_config_set_show_preview): No sense in removing the entry + from the hash table and then re-inserting it. Just reset the + value. + (mail_config_get_thread_list): Use the same logic. + (mail_config_set_thread_list): And again here. + +2001-07-03 Peter Williams <peterw@ximian.com> + + * mail-folder-cache.c (make_folder_name, make_folder_status): + Split make_string into these. + (update_idle): Use (name and status) instead of (wide and thin) + for the text. + +2001-07-03 Jason Leach <jleach@ximian.com> + + * folder-browser-ui.c: "Mark as Important" menu thingy here. + +2001-07-03 Peter Williams <peterw@ximian.com> + + * folder-browser.c (message_list_drag_data_get): Compile fixes. + #include errno.h and gnome-dialog-utils.h. s/dirname/tmpdir/ + +2001-07-03 Peter Williams <peterw@ximian.com> + + Prevent folders from appearing to have -1 new messages. Prevent + nonactive folders from updating the title bar. Make the title bar + update when switching to an already-opened folder. + + * mail-folder-cache.c (update_message_counts): Ignore the value + for 'unread' if it is -1. + (get_mail_info_receive): Same + (mail_folder_cache_note_folderinfo): Same. + (get_folder_info): Initialize 'fb' to NULL. + (mail_folder_info): Add 'fb' member. + (mail_folder_cache_note_fb): Change note_message_list to this. + (update_idle): Only update the ShellView if the active folder + browser is the same as the one that the MFI references. + (mail_folder_cache_set_folder_browser): New function. Use it to + set the active folder browser. NULL is okay. + (check_for_fb_match): Called from the above. If the MFI has the + new folder browser as its view, queue an update. + + * mail-folder-cache.h: Fix prototypes. + + * mail-callbacks.c (create_folders): Check if fi->url is nonnull. + + * folder-browser.c (got_folder): Change to use note_fb instead of + note_messge_list. + + * folder-browser-factory.c (control_activate): Set the folder + browser + (control_deactivate): Clear it here. + (fb_get_svi): Kill some inappropriately cut-n-pasted code. + +2001-07-03 Dan Winship <danw@ximian.com> + + * mail-config.glade: Rename some of the widgets in the news config + to not conflict with the mail config stuff, so the mail config + druid will work again. + +2001-07-03 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser.c (message_list_drag_data_get): Use mkdtemp if we + have it, else use mktemp but make the code safer than it was + previously. + + * mail-display.c (launch_cb): Free the template string if the + tempdir failed to be created. + + * folder-browser.c (message_list_drag_data_get): Hide the URL + passwd, auth, and params. + (folder_browser_copy): Same. + +2001-07-03 Dan Winship <danw@ximian.com> + + * mail-ops.c (filter_folder_filter): Don't pass a dirty exception + to camel_folder_sync. Fixes an IMAP filtering crash. + +2001-07-02 Sam Creasey <sammy@oh.verio.com> + + * mail-account-editor-news.c: Added an MailAccountEditorNews, for + NNTP configuratuion. Based on MailAccountEditor, but stripped. + + * Makefile.am: added mail-account-editor-news.c and + mail-account-editor-news.h to SOURCES if ENABLE_NNTP is defined. + + * mail-accounts.c (load_news): Moved this function, and fixed some + slight brokenness. + (news_edit): Added functional code using MailAccountEditorNews + (news_add): Added functional code using news_edit after + allocation. + + * mail-config.glade: news_editor_window widget added. Used by + MailAccountEditorNews. + + * mail-display.c (save_data_cb): Store the pathname used when + saving messages so that the next save box will default to the + previous path. + + * message-browser.c (message_browser_new): add signal handler for + size_allocate on the message browser. Thus new windows are size + as they were last allocated. + (message_browser_size_allocate_cb): handler to store allocations. + + * message-list.c (message_list_setup_etree): connect to the + info_changed signals for the state of the message_list->tree. + Save the folder state to disk, so that when additional + message_lists are created, they are consistant. e.g. the next + buttons do the same thing in the browser, and in the message + viewer after changing sorting options. + + * subscribe-dialog.c (build_tree): freeze sc->folder model while + building the tree. Not doing so takes a very long time over 40000 + newsgroups. + +2001-07-02 Jeffrey Stedfast <fejj@ximian.com> + + * mail-accounts.c (construct): Setup the Empty Trash On Exit + widgets. + + * mail-config.c (config_read): Option to emtpy trash on exit. + (mail_config_write_on_exit): Same. + (mail_config_set_empty_trash_on_exit): Set the option. + (mail_config_get_empty_trash_on_exit): Get the option. + + * component-factory.c (owner_unset_cb): Empty the trash folders if + the user set the "empty trash on exit" option. + +2001-07-02 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (transfer_msg): Updated for the + mail_transfer_messages API. + + * folder-browser.c (message_list_drag_data_recieved): Update for + the mail_transfer_messages API. + (selection_received): Same. + + * mail-ops.c (mail_transfer_messages): Renamed from + mail_do_transfer_messages and also added a callback/data arguments + since we need it component_factory::xfer_folder. + + * component-factory.c (xfer_folder): Use mail_transfer_messages + instead. + (destination_folder_handle_drop): Update to pass in a NULL + callback arg and a NULL data argument to mail_transfer_messages. + +2001-07-02 Larry Ewing <lewing@ximian.com> + + * mail-display.c (save_part): move the saving logic out of save_cb + so that we can reuse it for the image saving code. + (save_cb): call save_part. + (save_url): new function to resolve an save an html url. + (image_save_as): save function for images and. Add it to the + link_menu, and add MASK_URL and MASK_SRC to the structure so that + we cans show the proper menus. + (html_button_press_event): call get_src as well to find external + urls references. Add popup masking. + +2001-07-02 Peter Williams <peterw@ximian.com> + + * README.async: Add a warning about how wrong this document is. + +2001-07-02 Peter Williams <peterw@ximian.com> + + * mail-folder-cache.h: New file. Protoypes for the Mail Folder + Cache, which provides a place for all the disparate pieces of the + mailer to save bits of information about a folder. Centralizes the + information display code. + + * mail-folder-cache.c: New file. Implements the Mail Folder Cache. + + * Makefile.am (evolution_mail_SOURCES): Add the + mail-folder-cache.{c,h} + + * folder-browser-factory.c (fb_get_svi): Copy of that absurdly + long-named function in mail-display.c that gets the + GNOME_Evolution_ShellView. + (control_activate): Set the ShellView for the folder cache. + + * folder-browser.c (got_folder): Tell the folder browser about + this folder. + + * mail-callbacks.c (create_folders): Tell the folder cache about + the new folders. + + * mail-local.c (reconfigure_folder_reconfigure): Don't unhook our + events as we no longer hook them up. + (register_folder_registered): Tell the folder cache about this + folder's place in the local storage. + (register_folder_register): No longer hook events; the Folder + Cache will do this. + (local_folder_changed, local_folder_changed_proxy): Move to + mail-folder-cache.c + (free_local_folder): No longer unhook events. + + * mail-ops.c (do_update_subfolders_rec): Instead of setting the + folder status ourselves, inform the Folder Cache about the + changes. + + * mail-tools.c (mail_tool_uri_to_folder): Replace danw's cache + with the new Mail Folder Cache. + (cache_folder, etc): removed. + +2001-07-02 Jeffrey Stedfast <fejj@ximian.com> + + * mail-accounts.c: #include widgets/misc/e-charset-picker.h since + it was moved there from libgal. + +2001-07-02 Peter Williams <peterw@ximian.com> + + * importers/evolution-mbox-importer.c (mbox_factory_fn): Kill + irritating "Returning" g_warning. + +2001-07-02 Dan Winship <danw@ximian.com> + + * mail-session.c (get_filter_driver): Implement this, based on + code that used to be in mail-ops.c + + * mail-ops.c (mail_load_filter_context, setup_filter_driver): + Moved into MailSession::get_filter_driver. + (filter_get_folder): Moved to mail-session.c + (mail_filter_folder, mail_filter_on_demand, mail_fetch_mail, + mail_send_mail, mail_send_queue): Remove FilterContext args, use + camel_session_get_filter_driver. + + * mail-send-recv.c (mail_send_receive, mail_receive_uri): + Remove FilterContexts + +2001-07-01 Chris Toshok <toshok@ximian.com> + + * subscribe-dialog.c (subscribe_dialog_gui_init): the FolderSearch + control is in a different dockitem now. + +2001-07-01 Dan Winship <danw@ximian.com> + + * mail-tools.c (update_unread_count): Ref the folder before + proxying the event, in case there's only one reference to it and + it gets unreffed before the other end of the event handler runs. + (update_unread_count_main): And unref it when we're done. + (mail_tool_uri_to_folder): Only hold the lock around the hash + table operations, not the entire function. Holding the lock the + whole time can cause deadlock when resolving vfolders, and the + CamelSession and CamelStore locks ensure that multiple threads + calling this function will end up with the same CamelFolder object + at the end anyway, so we just need to lock and re-check the cache + at the end before adding the folder to the cache. + +2001-06-30 Ettore Perazzoli <ettore@ximian.com> + + * folder-browser-ui.c: Get MailNext/MailPrevious to use + next-message.png and previous-message.png, respectively. Also + change Print to use print.png. + +2001-06-30 Jon Trowbridge <trow@ximian.com> + + * mail-display.c (make_popup_window): Changed to return the + created window. + (find_socket): Added. Copied from e-shell-view.c. The fact + that I'm copying this bit of code all over isn't cool. + (html_button_press_event): Properly destroy the popup window when + the widget inside the control is destroyed. + + * mail-callbacks.c (addrbook_sender): Added. Implements + the "Add sender to addressbook" right-click. (Bug #3645) + (find_socket): Added. Copied from e-shell-view.c. + + * folder-browser.c: Added "Add sender to addressbook" to + context_menu[]. + + * mail-display.c: (handle_embedded_address_object): Removed. + (on_object_requested): Removed handling for embedded address + objects. (Which was obsolete crap.) + +2001-06-29 Larry Ewing <lewing@ximian.com> + + * mail-display.c (html_button_press_event): remove redundant + logic. + + * mail-callbacks.c (create_msg_composer): make sure we show the + sig file. + +2001-06-29 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser-factory.c (control_deactivate): Turn folder + syncing back on here so that IMAP folders will sync without + needing to hit Send & Receive. + + * mail-callbacks.c (ask_confirm_for_only_bcc): Throw up the + confirmation dialog. + (composer_get_message): If the user only specified Bcc recipients, + prompt him/her to make sure we should continue and risk the server + adding an Apparently-To header. + + * mail-config.c (config_read): Read in config option for prompting + when only Bcc recipients are specified. + (mail_config_write_on_exit): Save the option. + (mail_config_get_prompt_only_bcc): New. + (mail_config_set_prompt_only_bcc): New. + +2001-06-29 Dan Winship <danw@ximian.com> + + * mail-account-gui.c (build_auth_menu): Take two authtypes lists, + "all", and "supported", and make the unsupported authtypes grayed + out in the menu rather than missing. + (source_type_changed, transport_type_changed, + service_check_supported): Update build_auth_menu calls. + +2001-06-29 Radek Doulik <rodo@ximian.com> + + * mail-account-gui.c (menu_file_save_cb): implemented plain saving + +2001-06-28 Radek Doulik <rodo@ximian.com> + + * mail-account-gui.c (load_signature): implemented plain load + (load_signature): use e_msg_composer_get_signature_html + +2001-06-28 Peter Williams <peterw@ximian.com> + + * mail-ops.c (mail_send_message): Revert fejj's Bcc header removal; + this unsets the BCC recipients and so doesn't send to the Bcc'd + people at all. + +2001-06-28 Jeffrey Stedfast <fejj@ximian.com> + + * mail-send-recv.c (free_send_data): The e_iterator_get() returns + a gconstpointer and we need a non-const BonoboControl so cast it. + + * mail-account-gui.c (mail_account_gui_new): + gui->check_html_signature is GtkToggleButton not a GtkCheckButton. + + * folder-info.c: Added some #include's to supress warnings. + +2001-06-28 Ettore Perazzoli <ettore@ximian.com> + + * mail-display.c: Fix case of labels in the `link_menu' so that it + is consistent with that of the other menus in Evolution + [i.e. "Copy Link Location" instead of "Copy Location" etc.]. + +2001-06-28 Ettore Perazzoli <ettore@ximian.com> + + * mail-display.c (invisible_selection_get_callback): New, signal + handler for "selection_get" on the GtkInvisible widget we use for + selections. + (invisible_selection_clear_event_callback): New, signal handler + for "selection_clear_event" on the same invisible widget. + (mail_display_init): Initialize the `selection' and `invisible' + members. Also, explicitly initialize all the other fields as + well. + (mail_display_destroy): Free `selection'. Destroy `invisible'. + (link_copy_location): Re-implemented to just make the mail display + become the owner of the primary selection. + (on_selection_get): Remove `#if 0'ed code. + (mail_display_new): Remove the `#if 0'ed code that would connect + selection stuff to the HTML widget. + (mail_display_new): Connect the signals and add the targets to the + invisible widget. + + * mail-display.h: New members `selection' and `GtkInvisible' in + `MailDisplay'. + +2001-06-28 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config.c (mail_config_write_on_exit): Don't bother trying + to save the passwd if the url is NULL. + + * folder-browser.c (vfolder_mlist): Strip the mlist name to fix + bug #3732. + + * component-factory.c (destination_folder_handle_drop): Since we + have an exception variable, we might as well use it when getting + folders too. + + * folder-browser.c (message_list_drag_data_recieved): Call + gtk_drag_finish. + +2001-06-28 Dan Winship <danw@ximian.com> + + * mail-tools.c (mail_tool_uri_to_folder): After finding a folder, + attach to its "folder_changed" and "message_changed" signals. + (update_unread_count, update_unread_count_main): Moved here from + folder-browser but basically unchanged. Doing this here lets us + get folder tree updates for folders that have had messages + moved/copied/filtered into them, but which don't yet have a view + associated with them. + + * folder-browser.c (update_unread_count, update_unread_count_main, + etc): Moved to mail-tools.c + +2001-06-28 Radek Doulik <rodo@ximian.com> + + * mail-config.c: use new fields everywhere + + * mail-config.h: as below + + * Mail.idl: added html_signature and has_html_signature + +2001-06-28 Ettore Perazzoli <ettore@ximian.com> + + * component-factory.c (component_fn): Register for the "mailto" + schema. + (handle_external_uri_cb): Callback for the "handle_external_uri" + signal. + (component_fn): Connect it. + +2001-06-27 Ettore Perazzoli <ettore@ximian.com> + + * component-factory.c (component_fn): Pass NULL as the + @external_uri_schemas argument to + `evolution_shell_component_new()'. + +2001-06-27 Peter Williams <peterw@ximian.com> + + * folder-browser-ui.c: Uncomment EditSelectThread. Yaay! + + * mail-callbacks.c (select_thread): New function. Self-explanatory + name. Implementation is a little hairy. + + * mail-callbacks.h: Prototype it here. + + * mail-callbacks.c (invert_selection): Here too. + (select_all): Here too. + + * subscribe-dialog.c (subscribe_select_all): Update to use new + ETree accessors. + (subscribe_invert_selection): Here too. + +2001-06-27 jacob berkman <jacob@ximian.com> + + * folder-browser.c (save_cursor_pos): work around an e-tree bug + +2001-06-27 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser.c: Fixed Cut/Copy/Paste to work - it turns out I + couldn't share a single GtkInvisible between all the + FolderBrowser's after all. + +2001-06-27 Peter Williams <peterw@ximian.com> + + * folder-browser-factory.c (control_deactivate): Change to use + more reality-based API below. + Include folder-browser-ui.h too. + (control_activate): Remove now-unused 'int state'. + + * folder-browser-ui.h: Changed prototypes to match changes below. + + * folder-browser-ui.c (folder_browser_ui_rm_message): Commented out + to reflect reality of how this stuff works (you can't actually remove + the pieces). + (folder_browser_ui_rm_global): Same. + (folder_browser_ui_rm_list): Left because here we add the view menus. + (folder_browser_ui_add_list): ... which were moved here. + (folder_browser_ui_rm_all): New function, does the job of old ui_rm() + +2001-06-26 Peter Williams <peterw@ximian.com> + + * folder-browser-ui.c: New file derived from + folder-browser-factory.c. Contains the Bonobo UI code, split into + three groups as described in ui/ChangeLog. Also contains the + GalView stuff and the hookups into the Bonobo UI stuff. + + * folder-browser-factory.c: Move most of the UI stuff to + folder-browser-ui.c. + (control_activate): Add all three kinds of UI element to this + folderbrowser. + (control_deactivate): Remove all three kinds. + + * folder-browser-ui.h: New file. Prototypes functions to add UI + elements to a FolderBrowser. + + * Makefile.am: Add folder-browser-ui.{c,h} + + * message-browser.c (PARENT_TYPE): Change to BONOBO_TYPE_WINDOW + (message_browser_destroy): Chain to parent destroy function. + (set_bonobo_ui): New function. Add the 'message' functions from + the folder browser to our UI. + (message_browser_close): BonoboVerbify this. + + * message-browser.h: Convert to BonoboWindow. + +2001-06-26 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser.c (my_folder_browser_init): Helps if I spell + "received" correctly. + + * mail-config.c (mail_config_set_thread_list): If the value is + already in the hash table, first remove it before setting the new + value so we don't leak. + (mail_config_set_show_preview): Same. + +2001-06-26 Dan Winship <danw@ximian.com> + + * mail-mt.c (op_status_timeout): Don't pop up a progress dialog to + say "I already finished this a while ago". + + * component-factory.c (storage_create_folder): Pass the path + prefix to folder_created so it can add it to the folder tree in + the right place. + + * mail-callbacks.c (folder_created): Take a path prefix. + +2001-06-26 jacob berkman <jacob@ximian.com> + + * mail-config.c (mail_config_get_show_preview): make ettore stop + complaining so i can get back to work + +2001-06-26 Jeffrey Stedfast <fejj@ximian.com> + + * component-factory.c (message_rfc822_dnd): No longer returns a + gboolean and also takes a CamelException. + (destination_folder_handle_drop): Do better error checking. + + * folder-browser.c (my_folder_browser_init): Connect to the + tree-drag-data-recieved signal. + (message_list_drag_data_recieved): New function that handles the + recieving end of the DnD event. + (x_evolution_message_parse): New convenience function to parse the + x-evolution-message type so that the cut/paste and DnD code can + share it. + (selection_received): Use x_evolution_message_parse(). + + * mail-config.c (config_read): Read in the default show_preview + value. + (mail_config_write_on_exit): Save the default show_preview value + as well as saving the individual settings for each URI that has + been changed. + +2001-06-25 Joe Shaw <joe@ximian.com> + + * folder-browser.c (invisible_destroyed): Check to make sure that + clipboard_selection is non-NULL before we g_byte_array_free() it. + +2001-06-25 jacob berkman <jacob@ximian.com> + + * mail-send-recv.c (free_send_data): sync folders after we've + gotten mail + + * folder-browser-factory.c (control_activate): set the ui + component on the folder browser + (control_activate): update the view preview item + (control_deactivate): don't sync the folder here + (control_deactivate): unset the ui component of the folder browser + + * mail-callbacks.c (toggle_flags): stuff from jleach to add an + importance keybinding + (mark_as_important): ditto + (toggle_as_important): again + + * mail-config.c (mail_config_get_show_preview): + (mail_config_set_show_preview): basically a copy of + get_thread_list() but for the preview pane + + * folder-browser.c (folder_browser_destroy): unref the our ui + component + (folder_browser_set_ui_component): new function for setting the ui + component + (save_cursor_pos): + (set_cursor_pos): try to show the selected row when the preview + pane is shown + (folder_browser_set_message_preview): implement + (folder_browser_toggle_preview): toggle the preview (duh) + (on_key_press): add keybindings for marking as important (!), and + hiding the preview pane (q) + (etree_key): clean up a little bit, and make enter either show the + preview pane or open the message + (fb_resize_cb): only save the paned size if the preview is alread + shown + (folder_browser_gui_init): pass ourselves to fb_resize_cb + (on_message_selected): only add the timeout if the preview is + shown + +2001-06-25 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser.c (folder_browser_destroy): Unref the invisible + window that we use for slections. + (folder_browser_class_init): Init the clipboard_atam type. + (selection_get): New + (selection_clear_event): New + (selection_received): New + (folder_browser_copy): New function to copy the message-list + selection. + (folder_browser_cut): New function to cut the message-list + selection. + (folder_browser_paste): New function to paste the message-list + selection. + (my_folder_browser_init): Initialize `invisible` if it's NULL else + ref it - also set some signals on it. + + * folder-browser-factory.c: Added verbs for cut/copy/paste. + +2001-06-23 Jason Leach <jleach@ximian.com> + + * mail-local.c (local_storage_removed_folder_cb): Fixes here for + removing folders. + + * mail-ops.c (remove_folder_get): Some fixes in here too. + +2001-06-22 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config.c (config_read): Duh, we saved the charset as + "default_charset", not "charset" - no wonder the correct charset + menu item was never being set. + +2001-06-21 Jeffrey Stedfast <fejj@ximian.com> + + * mail-ops.c (mail_send_message): Temporarily remove the Bcc + header before sending the message. + +2001-06-21 Jon Trowbridge <trow@ximian.com> + + * mail-display.c (html_button_press_event): Remove empty "name" + property setting from the popup control. + +2001-06-21 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (composer_get_message): Allow the message to be + sent even if there are no To recipients but only as long as there + are other recipients defined. + +2001-06-21 Jason Leach <jleach@ximian.com> + + * component-factory.c (mail_remove_storage): Deregister the + storage from the shell so it will get removed from the folder + tree. + +2001-06-20 Kjartan Maraas <kmaraas@gnome.org> + + * folder-browser.c: More than one accel key is a tad + confusing. + +2001-06-19 Jeffrey Stedfast <fejj@ximian.com> + + * mail-display.c: #include "folder-browser-factory.h" + + * component-factory.c (mail_remove_storage): New function to + remove an EvolutionStorage. + + * mail-accounts.c (mail_delete): Remove the storage from the + folder-tree. + (news_delete): Same. + +2001-06-19 Jeffrey Stedfast <fejj@ximian.com> + + * component-factory.c (destination_folder_handle_drop): Accept + text/uri-list mime types - this allows us to drag messages from + Nautilus into an Evolution folder. + + * folder-browser.c (message_list_drag_data_get): Do cleanup and + better error handling. + +2001-06-19 Jon Trowbridge <trow@ximian.com> + + * mail-tools.c (mail_tool_do_movemail): Properly clean up the + movemail files when no mail was received. + +2001-06-19 Radek Doulik <rodo@ximian.com> + + * mail-format.c (write_field_row_begin): add column with + between header name and value + (write_field_row_begin): hmm, use just bold as it looks + better + +2001-06-18 Jeffrey Stedfast <fejj@ximian.com> + + * component-factory.c (destination_folder_handle_drop): Use a nice + switch statement and use the new enum values. + + * mail-callbacks.c (list_add_addresses): Now takes a hash table of + already-used-recipients so that we don't get duplicates. + (mail_generate_reply): Pass in a rcpt_hash argument to + list_add_addresses(). These changes fix bug #1639. + +2001-06-18 Dan Winship <danw@ximian.com> + + * Makefile.am (evolution_mail_LDADD): Remove DB3_LDADD + +2001-06-18 Jeffrey Stedfast <fejj@ximian.com> + + * component-factory.c: Change the drop-type "x-evolution-dnd" to + "x-evolution-message" since we want to be able to DnD more than + one data type ;-) + + * folder-browser.c: Change supported DnD drop types to disclude + URI_LIST as that seems to crash Nautilus and seems overly + complicated. Since I am going to be supporting message/rfc822, + hopefully Nautilus can handle that or else maybe something like + text/plain. + (message_list_drag_data_get): Remove the code for URI_LIST. + +2001-06-14 Not Zed <NotZed@Ximian.com> + + * mail-tools.c (mail_tool_uri_to_folder): If we have a fragment in + the url, use that as the folder name, and not the path component. + +2001-06-13 Not Zed <NotZed@Ximian.com> + + * component-factory.c (mail_load_storages): Added temp hack to let + spool providers show up in the list. + +2001-06-16 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser.c (my_folder_browser_init): Allow user's to + "copy" drag & drop rather than just "move". + +2001-06-15 Jeffrey Stedfast <fejj@ximian.com> + + * component-factory.c (destination_folder_handle_drop): Implemented. + + * message-list.c (message_list_construct): Don't connect to the + DnD signals here. + (message_list_drag_data_get): Removed. + (add_uid): Removed. + + * folder-browser.c (my_folder_browser_init): Connect to DnD signals. + (message_list_drag_data_get): Implemented. + +2001-06-15 Jeffrey Stedfast <fejj@ximian.com> + + * mail-ops.c (mail_send_message): Fixed misuse of an uninitialized + variable. + + * component-factory.c (destination_folder_handle_drop): Implemented. + + * mail.h: Added prototype for evolution_folder_info_factory_init. + + * mail-ops.c (mail_do_transfer_messages): Now takes a const char* + as the dest_uri. This works better all around since we strdup'd + the string anyway. + +2001-06-15 Dan Winship <danw@ximian.com> + + * mail-format.c (mail_format_mime_message): We can't output + "<html>" and "</html>" here because it gets called recursively to + display message/rfc822 subparts. + (mail_format_raw_message): Add padding to match the formatted + display. + + * mail-display.c (mail_display_redisplay): Move rodo's html header + changes from mail_format_mime_message to here. + +2001-06-14 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser.c (got_folder): Updated to reflect changes to + mail_config_[g,s]et_thread_list(). + (folder_browser_toggle_threads): Same. + + * folder-browser-factory.c (control_activate): Updated to reflect + changes to mail_config_[g,s]et_thread_list(). + + * mail-config.c (mail_config_write_on_exit): Do cleanup when we're + done. + (mail_config_set_thread_list): Send in a URI so we can save the + state on a per-folder basis. + (mail_config_get_thread_list): Send in a URI so we can retrieve + the state on a per-folder basis. + + * component-factory.c: Setup the accepted_dnd_types. Also added + skeleton code for DnD. + +2001-06-14 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser-factory.c: Add Reply-to-List bonobo verbs. + + * folder-browser.c: Add Reply-to-List menu items. + + * mail-callbacks.c (mail_reply): Use an enum for specifying the + reply mode, becaus enow we can reply-to-list. + (reply_to_list): Implement. + (reply_to_sender): Use REPLY_SENDER. + (reply_to_all): Use REPLY_ALL. + (mail_generate_reply): Handle the different modes. + +2001-06-12 JP Rosevear <jpr@ximian.com> + + * Makefile.am: Remove folder-info.h until iain checks it in + +2001-06-12 Not Zed <NotZed@Ximian.com> + + * mail-account-gui.c (source_type_changed): Setup default spool + location same as for mbox mail retrieval. + +2001-06-08 Dan Winship <danw@ximian.com> + + * folder-browser-factory.c: fix some commands to match the ui file + again. + +2001-06-07 Iain Holmes <iain@ximian.com> + + * GNOME_Evolution_Mail.oaf.in: Add server info for FolderInfo + Remove server info for the Summary server + + * Mail.idl: Add a FolderInfo interface to retreive information about + a mail folder. + + * Makefile.am: Remove the executive summary stuff. Add the folder-info + files. + + * component-factory.c: Remove the mail-summary.h include. + Remove summary_factory. + (summary_fn): Remove. + (component_factory_init): Remove the summary_factory creation. + Initialise the info_factory. + +2001-06-08 Jon Trowbridge <trow@ximian.com> + + * mail-ops.c (mail_send_message): Reattach X-Evolution-Account + information to the message after sending it. This way it can + be used to set the identity properly if we later Resend the + message. + + * mail-tools.c (mail_tool_get_local_movemail_path): If you had + multiple accounts that used mboxes, and if you received mail in N + of those accounts, you would get N copies of each of your e-mail + messages. This is because everything was being dumped into one + big file by movemail, and the filters would run on that file N + times. To work around this, each mbox account now gets its own + distinct temporary movemail file. + +2001-06-07 Jon Trowbridge <trow@ximian.com> + + * mail-ops.c (fetch_mail_fetch): Pass the original source URI + to camel_filter_driver_filter_mbox. + (mail_send_message): Pass NULL as the orginal source URI + to camel_filter_driver_filter_message. + +2001-06-06 Jon Trowbridge <trow@ximian.com> + + * mail-account-gui.c (source_type_changed): Check that the chain + of deferences in gui->account->source->url is safe. This was + causing a segfault when adding a new account if any of the + existing accounts had their sources set to "None". + (i.e. gui->account->source == NULL) + + * mail-accounts.c (load_accounts): Check that account->source != + NULL before dereferencing it. + (load_accounts): The selection is cleared when the account clist + is rebuilt (say after a call to add), but no unselect event is + emitted. Yes, the clist is evil. We work around this by + explictly calling mail_unselect, our unselect signal handler. + (Otherwise, the edit and delete buttons remain sensitive and + accounts_row != 0, but the user can't see which row the dialog + thinks is selected.) + (load_news): Check the account->source != NULL before + dereferencing it. + (mail_unselect): If an insensitive button in a button box has the + focus, and if you hit tab, there is a segfault deep inside of gtk. + This is probably a gtk bug. We work around it by having the add + button (which is always sensitive) grab the focus on an unselect. + +2001-06-05 Jason Leach <jleach@ximian.com> + + (Fix bug #3211: Should undelete when flagging a delete message as + important) + + * message-list.c (on_click): When flagging a message as important, + check to see if it's flagged as deleted, if so, undelete it. + + (Fix bug #314: Display URLs in statusbar on mouseover) + + * mail-display.c (html_on_url): New function, callback for + GtkHTML's "on_url" signal. + +2001-06-05 Radek Doulik <rodo@ximian.com> + + * mail-format.c: make HTML and plain mails to have the same + boundary + +2001-06-03 Ettore Perazzoli <ettore@ximian.com> + + * Makefile.am (evolution_mail_LDADD): Move `$(DB3_LDADD)' before + libeutil. + +2001-06-01 Federico Mena Quintero <federico@ximian.com> + + * folder-browser.h (FolderBrowser): Added fields for the + GalViewMenus and GalViewCollection, since we need to keep them + around while the component is active. + + * folder-browser-factory.c (folder_browser_setup_view_menus): Plug + leaks; unref the spec and factory. Set the view collection and + the view menus on the FolderBrowser object. + (folder_browser_discard_view_menus): New function. + (control_deactivate): Discard the menus. + + * folder-browser.c (folder_browser_destroy): Destroy the view + collection and the view menus. + +2001-06-01 Ettore Perazzoli <ettore@ximian.com> + + * Makefile.am (evolution_mail_LDADD): Add `$(DB3_LDADD)'. + +2001-06-01 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-gui.c (mail_account_gui_save): Save the pgp and + smime settings. + (mail_account_gui_new): Setup the pgp and s/mime page (but disable + the s/mime frame if we are not compiled with s/mime support). + + * mail-config.c (account_copy): Updated to save extra pgp and + smime options. + (account_destroy): Free draft/sent folder info and also the new + pgp/smime keys. + (config_read): Read in the pgp and s/mime config options. + (mail_config_write): Save the account pgp and smime options. + +2001-06-01 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-gui.c (source_type_changed): Call + build_extra_conf() here too. This is when we REALLY want to call + it anyway, not on switch-page because then we'd lose any data on + the Receive Options page if we never switch to that page before + applying the changes. + + * mail-account-editor.c (construct): Don't connect to the + switch-page event, instead just call build_extra_conf() here with + the source->url. + +2001-06-01 Dan Winship <danw@ximian.com> + + * mail-config.c (config_read): Fix dumb misuse of g_get_charset. + +2001-05-31 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (handle_multipart_signed): Removed the code to + check for the validity of an S/MIME part. Stuff works differently + now. + + * mail-crypto.c: Rewrote how the S/MIME stuff is going to work. + +2001-05-30 Dan Winship <danw@ximian.com> + + * mail-config.glade: Rename the "PGP" page back to "Other" and add + a "default charset" option menu. + + * mail-config.c (config_read, mail_config_write_on_exit, + mail_config_get_default_charset, mail_config_set_default_charset): + Handle "default charset". + + * mail-accounts.c (construct): Fill in the "default_charset" menu + with an e_charset_picker menu. + (charset_menu_deactivate): Update the default charset. + +2001-05-29 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (list_add_addresses): Take another argument to + ignore a certain address. + (mail_generate_reply): Ignore references to the reply-to address + when constructing the Cc list. + +2001-05-29 Jason Leach <jleach@ximian.com> + + * message-browser.c (message_browser_new): one-line fix for bug + #2536: File->Close in message viewer doesn't work. + (message_browser_new): Also replaced like 4 lines of code with a + one-liner featuring gnome_app_create_toolbar_with_data(). + +2001-05-28 Jason Leach <jleach@ximian.com> + + * mail-local.c (load_metainfo): Don't need to check if (foo!=NULL) + before doing an xmlFreeDoc(). + +2001-05-28 Dan Winship <danw@ximian.com> + + * mail-format.c (write_text_header): Fix a bug that could cause a + crash on messages with an empty subject. Oops. + +2001-05-27 Jeffrey Stedfast <fejj@ximian.com> + + * message-list.c: Removed the etable spec string. + (message_list_construct): Load the etable spec from a file. + + * folder-browser-factory.c: Load the etable spec from the file, + not a string. + + * Makefile.am: Add message-list.etspec to be installed. + + * message-list.etspec: New file containing the ETable file + specification. + + * mail-config.h: Prototype evolution_mail_config_get_type. + +2001-05-27 Dan Winship <danw@ximian.com> + + * folder-browser-factory.c: #include + "evolution-shell-component-utils.h" rather than "e-gui-utils.h" + for e_pixmaps_update. + + * subscribe-dialog.c: Likewise. + +2001-05-26 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (try_inline_pgp_sig): Fix to work properly. + (handle_multipart_signed): Fixed a bug that caused some + multipart/signed messages to be handled by the multipart_mixed + handler. + +2001-05-25 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser-factory.c: Added callbacks for Next/Previous + Unread and Next/Previous Flagged message. + + * mail-callbacks.c (previous_flagged_msg): Implemented. + (next_flagged_msg): Implemented. + +2001-05-26 Dan Winship <danw@ximian.com> + + * mail-ops.c (mail_send_message, transfer_messages_transfer, + set_offline_do): When unreffing a folder we got ourselves (as + opposed to one passed in by the caller), sync before unreffing, + since we might be holding the only reference to it. + (mail_refresh_folder): New op, like mail_sync_folder, but does a + camel_folder_refresh_info instead. + + * folder-browser-factory.c (control_activate): Call + mail_refresh_folder, not mail_sync_folder. (The goal is to see new + messages: sync used to work with imap because imap_sync was + broken, but it doesn't work for that any more.) + +2001-05-25 Peter Williams <peterw@ximian.com> + + * Makefile.am: Reference libeshell.la instead of libeshell.a. + +2001-05-25 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser-factory.c (control_activate): Disable Resend on + non-Sent folder FolderBrowsers. Thanks to Wayne Davis for this + patch. + + * component-factory.c (xfer_folder): This code should be correct + now. Still waiting on the shell to do it's job of creating the + metadata xml file in the destination folder though. + +2001-05-24 Jeffrey Stedfast <fejj@ximian.com> + + * message-list.c (message_list_select_uid): g_strdup the uid into + the ml->cursor_uid. + + * message-browser.c (message_browser_forward_msg): Use the default + forward style. + +2001-05-24 Dan Winship <danw@ximian.com> + + * mail-identify.c (mail_identify_mime_part): If the message data + is online, sniff the data for a MIME type first, and use the + filename second. Makes it more reliable, and deals with the + specific case of "application/octet-stream; name=foo.vcf" which + gnome-vfs will identify as vcalendar, but which can also be a + vcard. + +2001-05-24 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (try_inline_pgp_sig): Only write the message up to + (but not including) the attached signature block. + +2001-05-23 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (composer_postpone_cb): Don't free the + folder-info here, instead have mail_append_mail() call our new + function, append_mail_cleanup() which'll free the + folder-info. This fixes the problem of send-later segfaulting. + + * message-list.c (message_list_set_folder): Make the message-list + respect the "hide deleted messages" setting. Fixes bug #2248. + + * component-factory.c (xfer_folder): New function that the shell + component calls to copy/move a folder. + (component_fn): Set the xfer_folder_fn argument. + + * mail-ops.c (mail_remove_folder): New async function to remove a + folder. God knows if it does what the ShellComponent needs or not + yet. + (mail_xfer_folder): Yet another yummy async function to move or + copy a folder to a new location. + + * component-factory.c (storage_remove_folder): New function for + removing folders. + (remove_folder): New function that the shell component calls to + delete a folder. + (component_fn): Set the remove_folder_fn argument. + +2001-05-22 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config.c (mail_config_write_on_exit): Save the + message-display style. + (config_read): Read the message-display style. + +2001-05-22 Dan Winship <danw@ximian.com> + + * mail-display.c (on_url_requested): If http mode is + HTTP_SOMETIMES, use e_book_query_address_locally to check the From + address and load images if it's found. + + * mail-config.c (config_read): Default http_mode to + MAIL_CONFIG_HTTP_SOMETIMES. Fix typo to make default forward style + actually work. + +2001-05-22 Jeffrey Stedfast <fejj@ximian.com> + + * Makefile.am: Use MAILER_CFLAGS and MAILER_LIBS. + + * message-browser.c (message_browser_folder_loaded): Instead of + calling message_list_select_uid() here, instead connect to the + "message_list_loaded" signal since the message-list is not built + yet at this point. + (message_browser_message_list_built): Call + message_list_select_uid() here instead. + + * message-list.c: Lets have a new signal, MESSAGE_LIST_BUILT, that + gets emitted when the message-list has finished being built by one + of the built_*() functions. + (message_list_class_init): Setup the signal stuff. + (regen_list_regened): Emit the signal here (should this perhaps be + moved into each of the build_*() functions instead?). + +2001-05-21 Kjartan Maraas <kmaraas@gnome.org> + + * mail-local.c: Mark a string for translation. + +2001-05-18 Jon Trowbridge <trow@ximian.com> + + * Makefile.am (evolution_mail_LDADD): Added libebook.la (which is + now required by the composer.) + +2001-05-17 Dan Winship <danw@ximian.com> + + * mail-callbacks.c (composer_postpone_cb): mark Outbox messages as + read. + +2001-05-17 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (mail_write_authenticity): New convenience + function for all signature verification functions to use to + display whether or not the signed part was authentic. + (try_inline_pgp_sig): Use mail_write_authentic(). + (handle_multipart_signed): Add code to handle S/MIME + multipart/signed parts and also use mail_write_authenticity(). + +2001-05-17 Dan Winship <danw@ximian.com> + + * mail-config.glade: add new icons from jimmac. + +2001-05-16 Dan Winship <danw@ximian.com> + + * mail-format.c (mail_format_raw_message): add + E_TEXT_TO_HTML_ESCAPE_8BIT to the flags + +2001-05-16 Dan Winship <danw@ximian.com> + + * folder-browser.c (folder_browser_is_drafts, + folder_browser_is_sent, folder_browser_is_outbox): Functions to + determine if a folderbrowser is one of the drafts, sent, or outbox + folders. + (got_folder): Pass TRUE for the "outgoing" flag to + message_list_set_folder if this is a Sent, Drafts, or Outbox + folder. + + * message-list.c (message_list_set_folder): Take a flag saying + whether or not the folder is an "outgoing" folder. + (message_list_setup_etree): Ditto. Use that rather than a + hardcoded list of foldernames for deciding whether to swap From + and To in the default layout. + + * mail-config.c (mail_config_folder_to_cachename): Make IMAP + folders have unique cachenames rather than only one per store, so + that IMAP Sent and Drafts folders don't get forced into having the + same layout as the INBOX. + + * mail-callbacks.c: (is_sent_folder, is_drafts_folder): Gone. + Replaced with simpler folder_browser_is_* routines. + (edit_msg, resend_msg, open_msg): Use folder_browser_is_* + routines. + + * mail-local.c (reconfigure_clicked): Update call to + message_list_set_folder. + +2001-05-16 Jeffrey Stedfast <fejj@ximian.com> + + * mail-crypto.c (mail_crypto_is_smime_v3_signed): Removed (this + now exists in camel/camel-smime.c). + (mail_crypto_is_pkcs7_mime): Same. + (mail_crypto_smime_part_sign): new + (mail_crypto_smime_part_verify): new + (mail_crypto_smime_part_encrypt): new + (mail_crypto_smime_part_decrypt): new + (mail_crypto_pgp_mime_part_sign): Added code to set an exception + if the context fails to be created. + (mail_crypto_pgp_mime_part_verify): And here... + (mail_crypto_pgp_mime_part_encrypt): Same. + (mail_crypto_pgp_mime_part_decrypt): And here too. + +2001-05-16 Dan Winship <danw@ximian.com> + + * mail-display.c (mail_display_redisplay): Deal with full-header + mode in addition to source mode + + * mail-format.c (write_field_row_begin): Add WRITE_NOCOLUMNS flag + to write the header in a single table cell rather than two. Output + the second columns's "<td>" when not in NOCOLUMNS mode. Don't + include the ":" in the passed-in header name. + (write_date, write_address): Update for write_field_row_begin + changes. + (write_text_field): Genericified and updated from write_subject. + (write_headers): Deal with both normal and full-header mode. + +2001-05-15 Dan Winship <danw@ximian.com> + + * mail-display.c (on_url_requested): Load http images if the user + has force-loaded images too. + (mail_display_redisplay): Update for normal/headers/source changes. + (mail_display_load_images): New. Force HTTP image loading for the + current message. + + * mail-config.c (mail_config_get_message_display_style, + mail_config_set_message_display_style): Updated and renamed from + mail_config_{get,set}_view_source + + * mail-callbacks.c (load_images): New. + + * folder-browser.c (folder_browser_set_message_display_style): + Renamed and updated from folder_browser_toggle_view_source. + + * folder-browser-factory.c (verbs): Add ViewLoadImages. + (control_activate): Update for normal/headers/source change to + radio group. + +2001-05-15 Dan Winship <danw@ximian.com> + + * folder-browser-factory.c (verbs): Update for changes in + evolution-mail.xml (many commands were renamed to better match the + current menu layout). + (pixcache): Refer to commands via their paths in /commands/ + rather than hardcoding their menu paths. + +2001-05-14 Jon Trowbridge <trow@ximian.com> + + * mail-search.c (mail_search_construct): Put frame around dialog + vbox, put mail subject in that frame's label. (Patch by Duncan.) + (mail_search_set_subject): Break out subject-setting code. + Truncate long subjects with ellipses. + +2001-05-14 Duncan Mak <duncan@ximian.com> + + * mail-search.c (mail_search_construct): set the dialog's + window_icon to jimmac's new find_message.xpm. + +2001-05-13 Iain Holmes <iain@ximian.com> + + * Makefile.am: Make the LDADD line longer so it actually compiles + everything correctly. + +2001-05-14 Dan Winship <danw@ximian.com> + + * mail-config.glade: Split "Other" page into three pages, Display, + Composer, and PGP. Add HTML image stuff on the Display page and + default forward style on the Composer page. + + * mail-config.c (mail_config_get_default_forward_style, + mail_config_set_default_forward_style): User-specified default + style for forwarding messages. + (config_read, mail_config_write_on_exit): Deal with forward style. + + * mail-accounts.c: Handle HTML image display options and default + forward style. + + * mail-callbacks.c (forward): New. Forward in the user-selected + default style. + (forward_inline, forward_quoted): Simplify these some. Remove the + fallback to forward attached when forwarding multiple messages: it + should just forward the multiple messages inline or quoted in + those cases. (Which it doesn't yet, but that's a bug.) + + * folder-browser.c (context_menu): Remove "Forward inline" and + make "Forward" call forward() rather than forward_attached(). + + * folder-browser-factory.c: Update command/menu/toolbar/pixmap + gunk for the "MessageForwardAttached" vs "MessageForward" split. + + * mail-session.c (mail_session_get_type): + * mail-format.c (format_mime_part): + * mail-account-gui.c (setup_service): Fix warnings. + + * mail-mlist-magic.c: Remove this... it's not used any more. + + * folder-browser.c: + * message-browser.c: Remove references to mail-mlist-magic.h + +2001-05-14 Jon Trowbridge <trow@ximian.com> + + * folder-browser.c (folder_browser_config_search): Use secondary + searches here, so that we control the interference between the two + bits of searching UI. + +2001-05-13 Jon Trowbridge <trow@ximian.com> + + * mail-search.c (mail_search_construct): Destroy the MailSearch + dialog if the underlying MailDisplay is destroyed. I don't like + the way that label in the dialog with the message subject in it + looks, so I've #ifdef-ed it out for now. Center the Matches + label --- it makes the dialog look more balanced, I think. + (dialog_clicked_cb): Changed to reflect adjusted + ESearchingTokenizer API, using primary searches. + (toggled_case_cb): Use the primary search API. + + * e-searching-tokenizer.c: Make searching routines utf8-friendly. + Rationalize how the match begin/end markup is handled; allow for + begin/end markup that varies by search. Add concept of primary and + secondary matching, to disentangle possible interactions between + search-bar searches and search-dialog searches. + +2001-05-13 Jeffrey Stedfast <fejj@ximian.com> + + * mail-local.c (mail_local_storage_shutdown): Get rid of this - we + don't need it. + + * component-factory.c (owner_unset_cb): Don't unref the LocalStore + - we don't own a ref on it!! + +2001-05-12 Duncan Mak <duncan@ximian.com> + + * mail-search.c (begin_cb): Updates the subject on refresh and + sets subject to "Untitled Message" if subject is NULL. + (mail_search_construct): Moved msg_subject to its own GtkLabel, + sets subject to "Untitled Message" if subject is NULL. Give focus + to entry by default. Made <enter> in entry run + dialog_clicked_cb by setting gnome_dialog_editable_enters. + +2001-05-12 Gediminas Paulauskas <menesis@delfi.lt> + + * folder-browser-factory.c: load pixmaps for MessageCopy and + MessageForwardAttached. Thanks Wayne Davis <wfdavis@seas.upenn.edu> + for a patch. + +2001-05-11 Dan Winship <danw@ximian.com> + + * mail-display.c (load_http): callback to use GNOME-VFS to load + http data. + (on_url_requested): Handle http: URLs that refer to either MIME + parts or web data. + (mail_display_redisplay_when_loaded): Moved out of + mail_content_loaded and made more generic. + + * mail-format.c (add_url): Handle two different kinds of URLs + (URLs that point to CamelMimeParts and URLs that point to + GByteArrays). + (mail_content_loaded): Use mail_display_redisplay_when_loaded. + (format_mime_part): Renamed from "call_handler_function". Also, + record Content-Location if the part has one. (This is not yet 100% + correct: it doesn't deal with relative URLs at all.) + (handle_text_html): Use Content-Location URL rather than + Content-ID, when available (will help deal with relative URLs once + GtkHTML supports that better). + (etc): Update for changes. + + * mail-config.c (mail_config_get_http_mode, + mail_config_set_http_mode): get/set HTTP image downloading mode. + (config_read, mail_config_write_on_exit): save/load that data. + +2001-05-11 JP Rosevear <jpr@ximian.com> + + * mail-importer.h: add proto + + * mail-importer.c (mail_importer_uninit): release and unref the + local storage + + * mail-local.c (mail_local_store_finalize): use + bonobo_object_release_unref rather than doing Bonobo_Unknow_unref + and a corba release + (register_folder_registered): "sink" the local_store ref to + prevent circular ref + (mail_local_storage_shutdown): unref the local store + + * mail-local.h: new proto + + * component-factory.c (owner_unset_cb): uninit the importer and + shutdown the local storage + +2001-05-11 Jeffrey Stedfast <fejj@ximian.com> + + * mail-local.c (mail_local_reconfigure_folder): Set a title on the + window "Reconfigure %s" where %s is the folder name. Also, don't + allow more than one of these type windows to be opened per folder. + + * mail-tools.c (mail_tool_get_folder_name): Fix Danw's kludge to + actually work :-) + +2001-05-11 Martha Burke <martha@ximian.com> + + * gui/Makefile.am: sanitize LD_ADDS and CFLAGS so the libtool + lines are shorter (fixes problem on solaries due to sed) + +2001-05-11 Jeffrey Stedfast <fejj@ximian.com> + + * mail-vfolder.c (vfolder_edit): Don't allow multiple copies of + this to be run at a time. + + * mail-callbacks.c (providers_config): Don't allow multiple copies + of this to be run at a time. + (manage_subscriptions): Same, but this was a tad more kludgy since + we don't gnome_dialog_run_and_close() this one. I had to make the + widget a semi-global variable. yuck :\ + (filter_edit): Same. + +2001-05-11 Jon Trowbridge <trow@ximian.com> + + * e-searching-tokenizer.c (e_searching_tokenizer_new): + Remove a snippet of debugging code I left in by mistake. + +2001-05-11 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (forward_inlined): If the cursor_uid is NULL, + then we can't forward anything so just return. + (forward_quoted): Same. + +2001-05-10 Jon Trowbridge <trow@ximian.com> + + * folder-browser.c (folder_browser_config_search): Use the + ESearchingTokenizer to highlight search matches for folder-level + searches. Still mildly broken, but it works for the simple cases. + + * mail-display.c (mail_display_new): Use our ESearchingTokenizer + for the mail display GtkHTML widget. + + * mail-search.c (dialog_clicked_cb): Use the ESearchingTokenizer to + highlight search matches. + (mail_search_construct): Add a match count to the search dialog. + + * e-searching-tokenizer.c + (e_searching_tokenizer_set_search_string): Added. A custom HTML + tokenizer that does highlighting of search strings. + + * mail-config.c: No, we don't want to include + bonobo-running-context.h... just bonobo-context.h. + +2001-05-10 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config.c: Fix some compiler warnings by including the + correct bonobo headers and by using the correct bonobo types. + (config_read): Some fixes so that we can never have an empty + string as a URL. + +2001-05-10 Dan Winship <danw@ximian.com> + + * folder-browser.c (on_key_press): Don't advance to the next + undeleted message after "Delete"... + + * mail-callbacks.c (delete_msg): ...instead, do it here, whether + the user used Delete, Alt+D, or the toolbar. (But only if they + only deleted a single message.) + + * message-list.c (message_list_select): Don't clear the display on + failure. + (build_tree): Clear the display when the currently-selected + message stops existing and we don't have an obvious message to + select instead of it. (Eg, when deleting the last message with + "hide deleted messages" set, or expunging while a deleted message + is selected.) + +2001-05-09 Dan Winship <danw@ximian.com> + + * mail-offline-handler.c: New file, started by Ettore, finished by + me, to implement the GNOME_Evolution_Offline interface. + + * Makefile.am (evolution_mail_SOURCES): Add + mail-offline-handler.[ch] + + * mail-ops.c (mail_store_set_offline): Set a store online or + offline. + + * mail-send-recv.c (auto_timeout): Don't run auto-check-for-mail + while the session is offline. + + * component-factory.c (component_fn): Set up offline handler. + +2001-05-09 Christopher James Lahey <clahey@ximian.com> + + * importers/evolution-mbox-importer.c (load_file_fn): Made a const + char * here. + +2001-05-08 Iain Holmes <iain@ximian.com> + + * mail-config.[ch]: Moved all references to the Bonobo stuff into the .c file + +2001-05-08 Iain Holmes <iain@ximian.com> + + * mail-callbacks.c (filter_edit): Set the title of the dialog. + + * GNOME_Evolution_Mail.oaf.in: Add a reference for the MailConfig + interface stuff. + + * Mail.idl: Add the MailConfig interface, and a MailFilter interface. + + * component-factory.c (component_factory_init): Call + evolution_mail_config_factory_init. + + * mail-account-gui.c (setup_service): Just return if url == NULL, + don't crash. + + * mail-config.c: #include bonobo-object.h, #include Mail.h and define + the Config factory IID. + Implement the MailConfig interface with a BonoboObject. + (impl_GNOME_Evolution_MailConfig_addAccount): Convert the CORBA struct + into the correct MailConfig structures and add the account. + (evolution_mail_config_class_init): Initialise the class. + (evolution_mail_config_init): This function is intentionally left blank. + + (evolution_mail_config_factory_fn): Create an EvolutionMailConfig object + and return it. + (evolution_mail_config_factory_init): Set up the bonobo factory. + + * mail-config.h: #include bonobo-xobject.h and Mail.h + Declare the object structures. + + * importers/Makefile.am: Remove the intelligent importers. + + * importers/evolution-mbox-importer.c (folder_created_cb): Callback + from when the folder is created. Opens the folder and unrefs the + listener. + (load_file_fn): Create the folder if it doesn't exist. + +2001-05-08 Jeffrey Stedfast <fejj@ximian.com> + + * mail-tools.c (mail_tool_forward_message): Convert the Subject + header to HTML and also make sure that the Subject, To, and From + header values are non-NULL before feeding them into + e_text_to_html(). + + * mail-callbacks.c (edit_msg_internal): Free the UIDs if the user + decides to not go through with editing all the messages he + selected. + (resend_msg): If the user attempts to resend more than 10 + messages, make sure he really means it. + (do_resend_messages): Richard Zach feels that "Resend" should open + the message(s) in a composer since he might want to edit at least + the recipients (maybe he needs to resend because the message + bounced the first time) and Ettore wants pretty much the same + thing. This makes "Resend" basically the same as "Edit" but for + previously sent messages, whereas "Edit" is only for Drafts. + +2001-05-08 Gediminas Paulauskas <menesis@delfi.lt> + + * mail-search.c: convert search entry to utf8. + + * mail-local.c: d() debugging message. + + * mail-send-recv.c: replace " ..." with "..." + + * Makefile.am: removed EVOLUTION_VERSION. + +2001-05-07 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-gui.c: s/HAVE_NSS/HAVE_SSL for the SSL checkbox + stuff. + +2001-05-07 Dan Winship <danw@ximian.com> + + * folder-browser.c (my_folder_browser_init): Connect to + key_press_event on the GtkHTML widget. + (etree_key): Only handle space/backspace here, pass the rest off + to on_key_press. + (on_key_press): Handle Delete/N/P/Menu in either MessageList or + MailDisplay. + + * message-list.c (message_list_select): Grab focus if we don't + have it. + +2001-05-03 Dan Winship <danw@ximian.com> + + * message-list.c: #include <camel/camel-file-utils.h> + + * mail-ops.c (get_folderinfo_get): + * subscribe-dialog.c (build_tree): Update for + camel_store_get_folder_info prototype change. + + * mail-format.c (handle_text_plain_flowed): Improve more on the + fix from the other day: the first level of indentation adds blank + lines, but further levels don't... + +2001-04-30 Dan Winship <danw@ximian.com> + + * folder-browser.c (folder_browser_destroy): Unhook event handlers + before syncing the folder, since the folder browser will have been + destroyed by the time the sync thread completes and calls the + signal handlers. + +2001-04-29 Dan Winship <danw@ximian.com> + + * mail-format.c (handle_text_plain_flowed): Mojo this a bit so + that "\n\n>" gets translated to "<br><blockquote>" rather than + "<br><br><blockquote>", since the transition to blockquote mode + creates a blank line itself. Makes Mozilla-generated flowed + replies look better. + +2001-04-27 Dan Winship <danw@ximian.com> + + * mail-session.c: Renamed from session.c and made to be a subclass + of CamelSession. + + * mail-mt.c (mail_user_message): Renamed from mail_get_accept and + made more general-purpose, to implement the new + camel_session_alert_user. + +2001-04-26 Jeffrey Stedfast <fejj@ximian.com> + + * main.c (main): No need to camel_shutdown() anymore... + + * mail-callbacks.c (next_msg): Don't filter on Seen status. + (previous_msg): Same. + (next_unread_msg): New function that does what the old callback + next_msg callback did (only better named). + (previous_unread_msg): Same. + + * message-list.c (hide_load_state): Updated to use camel-file-util + routines. + (hide_save_1): Same. + (hide_save_state): And here too. + +2001-04-26 Dan Winship <danw@ximian.com> + + * Makefile.am (INCLUDES): Remove UNICODE_CFLAGS + + * mail-format.c (handle_text_plain_flowed): Use <font color=...> + to mark citations rather than italicizing them, which has never + looked very nice. Now this is more consistent with the non-flowed + case. + +2001-04-26 Jon Trowbridge <trow@ximian.com> + + * folder-browser-factory.c: Added "MessageSearch" verb. + + * mail-callbacks.c (search_msg): Added search callback. + (are_you_sure): Added some casts to fix compiler warnings. + + * mail-search.c: Added. A simple search-in-message widget, + that uses GtkHTML's searching capabilities. + +2001-04-25 Dan Winship <danw@ximian.com> + + * mail-callbacks.c (are_you_sure): New foot-shooting-prevention + helper function. + (edit_msg_internal, view_msg): If the user has more than 10 + messages selected, ask before opening them all in separate + windows, to protect against misclicks/typos after "select all" + (which we've had at least two reports of now). + +2001-04-25 Radek Doulik <rodo@ximian.com> + + * mail-tools.c (mail_tool_quote_message): set object data directly + in HTML source + + * mail-callbacks.c (mail_generate_reply): remove \n from citation + (mail_generate_reply): don't use e_msg_composer_mark_text_orig + +2001-04-24 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser.c: Added a new signal, "message_loaded" that gets + emitted when the message has been loaded and set on the + mail_display. + (folder_browser_class_init): Define the "message_loaded" signal + stuff. + (done_message_selected): Emit the "message_loaded" signal here. + + * message-browser.c (message_browser_next_msg): Do our own + message-list manipulation. We want the next message, not the next + unread message. + (message_browser_prev_msg): Same here but for previous. + (message_browser_new): Connect to the folder browser's + "message_loaded" signal. + (message_browser_folder_loaded): Don't connect to the + message-list's "message_selected" signal. + (message_browser_message_loaded): Nw callback which replaces the + old message_browser_message_selected callback's functionality. + +2001-04-24 Dan Winship <danw@ximian.com> + + * folder-browser.c: Add accelerators to the context menu. + (on_right_click): Use e_tree_get_cell_geometry and a + GtkMenuPositionFunc when responding to a Menu-key press so we can + line the menu up with the selected row rather than the cursor. + + * message-browser.c: include <gal/util/e-util.h> for E_MAKE_TYPE. + +2001-04-23 Jon Trowbridge <trow@ximian.com> + + * mail-display.c (html_button_press_event): Check for mailto: + links, and pop up our mail address menu when we find one. + (make_popup_window): The main piece of code (ignoring a zillion + little callbacks) to pop up our windows with reasonable semantics + for having them close automatically. + (mail_text_write): Enable converting addresses to mailto links + in message bodies. + + * mail-format.c (write_address): Simplify code, removing Radek's + <DATA> hacks. Write out addresses as mailto: links. + +2001-04-23 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (do_view_message): Use the message-browser + widget rather than the mail-view window. + + * mail-view.c: Removed. + + * folder-browser.c: Added a folder_loaded signal. + + * message-browser.[c,h]: New window to solve all our message + browsing needs. This replaces mail-view.c. + + * message-list.c (message_list_select_uid): New function needed by + the new message-browser window. + +2001-04-23 Dan Winship <danw@ximian.com> + + * mail-callbacks.c (save_msg): Append a "/" to the result of + g_get_home_dir so gets the default dir it was supposed to. + +2001-04-22 Jeffrey Stedfast <fejj@ximian.com> + + * mail-ops.c (mail_send_message): Lets do proper refcounting on + the sent-folder. Also, g_strdup() the sent_folder_uri since we + later free it. If we don't, then we get lovely corrupt memory. + + * mail-crypto.c (mail_crypto_pgp_mime_part_sign): Make sure we + have a context before we try and use it. + +2001-04-22 Gediminas Paulauskas <menesis@delfi.lt> + + * folder-browser.c, mail-autofilter.c, mail-callbacks.c, + mail-ops.c, mail-summary.c, mail-vfolder.c: use system = + EVOLUTION_DATADIR "/file" instead of g_strdup_printf. Rename + userrules to user (and system) to be consistent. + + * mail-send-recv.c: set window icon to send-receive.xpm + +2001-04-21 Gediminas Paulauskas <menesis@delfi.lt> + + * mail-summary.c: translate "Mail summary". + +2001-04-20 Dan Winship <danw@ximian.com> + + * mail-config-druid.c (make_default_account): Convert the result + of g_get_real_name() from the locale charset to UTF8. Noted by + Petter Sundlöf (NOT "Petter Sundl_" :) + +2001-04-20 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config.c (mail_config_set_pgp_type): Use a CamelPgpType. + (mail_config_get_pgp_type): Return a CamelPgpType. + (auto_detect_pgp_variables): auto-detect the user's pgp settings. + +2001-04-20 Dan Winship <danw@ximian.com> + + * mail-format.c (handle_text_plain): Fix a dumb thinko in my 04-11 + patch. + +2001-04-20 Kjartan Maraas <kmaraas@gnome.org> + + * mail-ops.c: (send_mail_desc): Convert subject from utf8 + before passing it on. + +2001-04-20 Gediminas Paulauskas <menesis@delfi.lt> + + * mail-display.c: #if 0'd out my not-working selection code + +2001-04-19 Dan Winship <danw@ximian.com> + + * mail-format.c (mail_format_raw_message): Make this more raw: + don't do URLs and citations. + +2001-04-18 Dan Winship <danw@ximian.com> + + * session.c (request_callback): Don't need to dup the string: the + relevant gnome-dialog routine already does. + + * message-list.c (message_list_destroy): Free the uid_nodemap. + (hide_save_state): Free the filename when we're done. + +2001-04-18 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (is_sent_folder): Implemented. + (resend_msg): Use is_sent_folder(). + +2001-04-17 Dan Winship <danw@ximian.com> + + * mail-mt.c (mail_msg_check_error): Fix a memory leak. + +2001-04-16 Ettore Perazzoli <ettore@ximian.com> + + * importers/Makefile.am (INCLUDES): Add `$(EXTRA_GNOME_CFLAGS)' + here. + +2001-04-15 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (mark_all_as_seen): Mark the messages as seen, + not unseen. + (is_drafts_folder): New function to attempt to determine if a + folder is a drafts folder. + (open_msg): Use is_drafts_folder(). + (edit_msg): And here. + (edit_msg_internal): New function that doesn't do the drafts + checking and is only to be used internally. This should save us + from having to doubly-check a folder to see if it's a drafts + folder when doing an Open on the message. + (open_msg): Call edit_msg_internal once we've established that the + folder is a drafts folder. + +2001-04-14 Jeffrey Stedfast <fejj@ximian.com> + + * mail-crypto.c (mail_crypto_pgp_mime_part_verify): Only use + non-NULL contexts. + (mail_crypto_pgp_mime_part_encrypt): Same. + (mail_crypto_pgp_mime_part_decrypt): And here too. + + * mail-format.c (try_inline_pgp_sig): Make sure to not use the + context if it is NULL. + (decode_pgp): Same. + + * folder-browser-factory.c: Added stuff for filtering/vfoldering + on mailinglists. + +2001-04-13 Dan Winship <danw@ximian.com> + + * Makefile.am (evolution_mail_LDADD): Remove some redundant LIBS + variables... purify complained that the command line was too + long. :-} + + * mail-account-gui.c: Plug leaks. + + * mail-display.c (on_url_requested): close the html stream on + error too. + + * mail-ops.c (fetch_mail_fetch): Move a line around that probably + doesn't affect anything, but it's correct. + + * session.c (auth_callback): Plug leak. + + * mail-send-recv.c (receive_status): Initialize "now". + +2001-04-13 Christopher James Lahey <clahey@ximian.com> + + * message-list.c (on_cursor_activated_cmd): Only activate the + message if the cursor has moved. + +2001-04-12 Christopher James Lahey <clahey@ximian.com> + + * message-list.c (e_mail_address_new): Updated this function to be + a correct full ordering. + (ml_has_get_node_by_id, ml_get_node_by_id): Implemented these + functions. + (find_next_undeleted): Changed this to find next sorted undeleted + message. Also, changed it so that if the current message is not + deleted, it returns NULL. + (build_tree, build_flat): Changed these to only set the cursor if + the cursor is changed. + + * subscribe-dialog.c: Changed this to pass NULL, NULL for + has_get_node_by_id and get_node_by_id. + +2001-04-12 Jeffrey Stedfast <fejj@ximian.com> + + * session.c (auth_callback): If the service is NULL, just use the + item as the key. + + * mail-crypto.c (mail_crypto_pgp_mime_part_sign): Use the + CamelCipherHash enum. + (mail_crypto_pgp_mime_part_verify): Use a CamelCipherValidity. + + * mail-format.c (try_inline_pgp_sig): Updated to use + CamelCipherValidity instead of CamelPgpValidity. + (handle_multipart_signed): Same. + +2001-04-12 Dan Winship <danw@ximian.com> + + * folder-browser.c (do_message_selected, on_message_selected): + Don't printf NULL + + * mail-format.c (mail_part_is_inline): Don't leak memory. + +2001-04-12 Jeffrey Stedfast <fejj@ximian.com> + + * mail-accounts.c (pgp_path_changed): Updated for changes to PGP + code. + + * component-factory.c (owner_set_cb): Don't init openpgp anymore + because we don't need it. + + * mail-crypto.c: Simply wrap the camel-pgp-mime functions (also + renamed the functions to be prefixed with mail_crypto). + + * mail-format.c (handle_multipart_signed): Update to use + camel_pgp_mime_is_rfc2015_signed() and other camel-pgp-mime + functions. + (handle_multipart_encrypted): Same but for rfc2015_encrypted. + (decode_pgp): Updated to use camel-pgp-context + (try_inline_pgp): Updated to use camel-pgp-context's. + (try_inline_pgp_sig): Same. + +2001-04-11 Dan Winship <danw@ximian.com> + + * mail-format.c (handle_text_plain): Only look for special + pseudo-multipart-isms (binhex, uucode, old pgp, etc) if the MIME + type is really text/plain. Otherwise, since there's no handler for + applciation/mac-binhex40, it gets sent to mail-identify.c, which + thinks it's text/plain because it starts with English words, and + so it gets sent back to the text/plain handler, which finds an + embedded binhex part... + + * mail-callbacks.c (do_view_message): mark messages as seen when + opening then in a separate window. + +2001-04-11 Jeffrey Stedfast <fejj@ximian.com> + + * openpgp-utils.c (openpgp_encrypt): Don't g_free the recipient + array members here because we free them in the caller. + +2001-04-11 Jeffrey Stedfast <fejj@ximian.com> + + * mail-crypto.c (pgp_mime_part_verify): Huh, somehow I forgot to + apply the from filter when verifying signed parts. Oh well, + probably not all that common. Fixed now though. + +2001-04-11 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (save_msg): Use the homedir as the default + filename. + +2001-04-11 Christopher James Lahey <clahey@ximian.com> + + * message-list.c (save_tree_state, message_list_setup_etree): Save + the expanded state using the ETree built in expanded state code. + +2001-04-05 Not Zed <NotZed@Ximian.com> + + * Merge from evolution-0-10 to evolution-0-10-merge-0 into head. + +2001-04-04 Kjartan Maraas <kmaraas@gnome.org> + + * mail-account-gui.c: Add prototype for service_changed(). + * message-list.h: Remove #include <gal/e-table/e-tree-simple.h> + since it doesn't get installed. + +2001-04-04 Gediminas Paulauskas <menesis@delfi.lt> + + * mail-config-druid.c (create_html): set content type to utf8. + * mail-config.c (mail_config_check_service): fix warning. + * mail-display.c (link_open_in_browser): just call on_link_clicked(). + (link_menu): Open link works. + (link_copy_location): claim selection. + (on_selection_get): new function, selection handler. + (mail_display_new): connect to selection_get. FIXME: does not work. + +2001-04-04 Gediminas Paulauskas <menesis@delfi.lt> + + * component-factory.c: use big trash icon, stolen from mc. + +2001-04-03 Jeffrey Stedfast <fejj@ximian.com> + + * openpgp-utils.c (openpgp_encrypt): Add --no-tty argument to gpg. + +2001-04-03 Dan Winship <danw@ximian.com> + + * folder-browser-factory.c (control_activate): Sync the folder on + activate. + + * session.c (mail_session_remember_password): Use the same + URL-transforming rules we use when hashing the password so this + actually works. + +2001-04-02 Iain Holmes <iain@ximian.com> + + * importers/elm-importer.c (elm_can_import): Call is_kmail to check for + KMail files. + (is_kmail): Checks if the given directory is a KMail directory. + +2001-04-02 Iain Holmes <iain@ximian.com> + + * importers/elm-importer.c (elm_can_import): Check for some MH files + to make sure that the dir really is an Elm dir. + +2001-04-02 Dan Winship <danw@ximian.com> + + * mail-account-gui.c: Add a "provider_type" arg to + MailAccountGuiService. + (transport_needs_auth_toggled): Call service_changed if enabling + the auth pane so the status of the "Check supported types" button + will be correct. + (service_check_supported): Use gsvc->provider_type, not + CAMEL_PROVIDER_STORE. + (mail_account_gui_new): Pass the transport as the user_data to the + "changed" signal on transport.hostname, not the store. + (mail_account_gui_setup): Set up provider_type fields + +2001-04-01 Gediminas Paulauskas <menesis@delfi.lt> + + * component-factory.c: changed vtrash icon to trash. doh + * folder-browser-factory.c: pixmap cache got moved from here to + e-util/e-gui-utils.c. Changed pixmap paths according to file renames. + Added icons for print, get mail, etc., changed get mail icon as Jacub + suggested. + * subscribe-dialog.c: also use new pixmap cache. + +2001-03-30 Dan Winship <danw@ximian.com> + + * mail-config.c (check_service_check): Register for cancellation. + (mail_config_check_service): Pop up a modal dialog with a message + and a "Cancel" button for the duration of the check. + +2001-03-30 Iain Holmes <iain@ximian.com> + + * importers/evolution-mbox-importer.c (load_file_fn): Check if + foldername is \0. + + * importers/evolution-outlook-importer.c (load_file_fn): Ditto. + +2001-03-30 Jon Trowbridge <trow@ximian.com> + + * mail-display.c (mail_text_write): Add (commented-out) + E_TEXT_TO_HTML_CONVERT_ADDRESSES. + + * mail-config.c (mail_config_get_account_by_source_url): + Call e_url_equal to compare URLs. + +2001-03-30 Dan Winship <danw@ximian.com> + + * component-factory.c (debug_cb): If the EvolutionShellComponent + emits a "debug" signal, turn on camel_verbose_debug. + +2001-03-30 Radek Doulik <rodo@ximian.com> + + * mail-display.c (mail_display_redisplay): reset last_active + +2001-03-29 Jon Trowbridge <trow@ximian.com> + + * mail-callbacks.c: Added #include <time.h> to get things + to compile. + + * mail-callbacks.c (mail_generate_reply): Look at the + X-Evolution-Source header, and try to find a corresponding + account. If this works, send the mail from this account. + If not, use the default account. + + * mail-ops.c (send_queue_send): Strip out the X-Evolution-Source + header before sending. + + * mail-config.c (mail_config_get_account_by_source_url): Added. + Look up accounts by source URL. + +2001-03-29 Dan Winship <danw@ximian.com> + + * mail-format.c (call_handler_function): if called with a + multipart that's really a 0-part, spew an error and display as + source. + + * message-list.c: #include <camel/camel-vtrash-folder.h> + + * mail-callbacks.c: #include <libgnome/gnome-paper.h> + for the gnome-print stuff. + + * mail-display.c (pixmap_press): Ignore "funky" button clicks + (like scroll wheel scrolls) + +2001-03-29 Kjartan Maraas <kmaraas@gnome.org> + + * *.*: Cleaned up #includes. Remove unneccesary includes of + <gnome.h>, <gtk/gtk.h>, <bonobo.h> and replaced with more + fine grained headers where needed. Also marked a bunch of + strings for translations and added some missing prototypes. + +2001-03-29 Dan Winship <danw@ximian.com> + + * mail-account-editor.c (switch_page): Fix this so the "Receiving + Options" page gets filled in again. + + * mail-send-recv.c (receive_get_folder): Doh! This was storing + "struct _folder_info"s in the cache and then trying to read them + back as CamelFolders. Fixicate. Fixes the "crash with 2 POP + accounts" bug. + + * session.c (auth_callback): Update call to camel_url_to_string. + (Don't include the params in the password hash table key.) + + * mail-config.c (mail_config_folder_to_cachename): Call + camel_url_to_string with HIDE_PASSWORD and HIDE_PARAMS so that + changing URL params doesn't change the cachename. + + * mail-ops.c (add_vtrash_info): + * mail-local.c (reconfigure_folder_reconfigure): + * mail-account-gui.c (save_service): Update calls to + camel_url_to_string. + +2001-04-03 Dan Winship <danw@ximian.com> + + * folder-browser-factory.c (control_activate): Sync the folder on + activate. + + * session.c (mail_session_remember_password): Use the same + URL-transforming rules we use when hashing the password so this + actually works. + +2001-04-03 Not Zed <NotZed@Ximian.com> + + * mail-ops.c (mail_send_message): Strip header content before using it. + +2001-04-02 Iain Holmes <iain@ximian.com> + + * importers/elm-importer.c (elm_can_import): Calls is_kmail to + check for kmail files. + (is_kmail): Checks if the given directory is a KMail directory. + +2001-04-02 Dan Winship <danw@ximian.com> + + * mail-account-gui.c: Add a "provider_type" arg to + MailAccountGuiService. + (transport_needs_auth_toggled): Call service_changed if enabling + the auth pane so the status of the "Check supported types" button + will be correct. + (service_check_supported): Use gsvc->provider_type, not + CAMEL_PROVIDER_STORE. + (mail_account_gui_new): Pass the transport as the user_data to the + "changed" signal on transport.hostname, not the store. + (mail_account_gui_setup): Set up provider_type fields + +2001-04-02 Iain Holmes <iain@ximian.com> + + * importers/elm-importer.c (elm_can_import): Check for some MH files + to make sure that the dir really is an Elm dir. + +2001-03-30 Not Zed <NotZed@Ximian.com> + + * folder-browser.c (folder_browser_toggle_hide_deleted): New + function to listen for hide_deleted changes. + (folder_browser_toggle_hide_deleted): Only svae the hide-deleted + state if we are not setting a trash folder. + + * folder-browser-factory.c (control_activate): Set the + hide_deleted flag appropriately/setup the menu's appropriately. + (control_activate): Workaround to Force setting of options by + bypassing bonobo notification, since it doesn't properly handle + changed components. + + * mail-config.c (mail_config_get_hide_deleted): + (mail_config_set_hide_deleted): New functions for + accessing/setting the hide deleted state. + (mail_config_write_on_exit): + (config_read): Save/load the hide_deleted flag. + + * message-list.c (main_folder_changed): Oops, remember to copy + over all the rest of the changes too if we removed some. + (find_next_undeleted): Find the first undeleted message below us. + This of course does not follow sorting conventions, but thats + etree. Have to ask chris if there is a way to make it work like + that. + (message_list_set_hidedeleted): Check we dont set hide_delete on a + vtrash. + (build_tree): If the message has vanished, try and get the next + undeleted message set, etc, if it still exists. The set_cursor() + function seems very broken but i'm sure e-lahey will get to it + soon. + (build_flat): Similarly for above. + +2001-03-30 Dan Winship <danw@ximian.com> + + * mail-config.c (check_service_check): Register for cancellation. + (mail_config_check_service): Pop up a modal dialog with a message + and a "Cancel" button for the duration of the check. + + * component-factory.c (debug_cb): If the EvolutionShellComponent + emits a "debug" signal, turn on camel_verbose_debug. + +2001-03-30 Radek Doulik <rodo@ximian.com> + + * mail-display.c (mail_display_redisplay): reset last_active + +2001-03-29 Dan Winship <danw@ximian.com> + + * mail-format.c (call_handler_function): if called with a + multipart that's really a 0-part, spew an error and display as + source. + + * mail-display.c (pixmap_press): Ignore "funky" button clicks + (like scroll wheel scrolls) + +2001-03-29 Dan Winship <danw@ximian.com> + + * mail-account-editor.c (switch_page): Fix this so the "Receiving + Options" page gets filled in again. + + * mail-send-recv.c (receive_get_folder): Doh! This was storing + "struct _folder_info"s in the cache and then trying to read them + back as CamelFolders. Fixicate. Fixes the "crash with 2 POP + accounts" bug. + + * session.c (auth_callback): Update call to camel_url_to_string. + (Don't include the params in the password hash table key.) + + * mail-config.c (mail_config_folder_to_cachename): Call + camel_url_to_string with HIDE_PASSWORD and HIDE_PARAMS so that + changing URL params doesn't change the cachename. + + * mail-ops.c (add_vtrash_info): + * mail-local.c (reconfigure_folder_reconfigure): + * mail-account-gui.c (save_service): Update calls to + camel_url_to_string. + +2001-03-29 Not Zed <NotZed@Ximian.com> + + * mail-local.c (init_trash): Create a vtrash folder, not a vee folder. + + * folder-browser-factory.c (control_activate): Hook in the hide + deleted thingy. + Removed MessageHideDeleted menu stuff. + + * message-list.c (message_list_set_hidedeleted): New function, to + set if we should hide deleted messages automatically/always. + (regen_list_regen): If we have hide deleted messages turned on, + then hide them. + (main_message_changed): Promote to a folder_changed event with a + change list, folder_changed has the optimisations to handle this + appropriately. + (main_folder_changed): IF we get changes events for + deleted/undeleted stuff, change to added/removed events, rebuild + if necessary. + (message_list_set_folder): Setup the default hidedeleted state to + be to hide everything unless it is in a vtrash folder. + +2001-03-28 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-gui.c (setup_service): Move the + gtk_toggle_button_set_active outside the if. + +2001-03-28 Dan Winship <danw@ximian.com> + + * mail-account-gui.c (mail_account_gui_new): Set up the + sent/drafts folder buttons. + (folder_picker_clicked): Pop up the folder selector when sent or + drafts is clicked. + (mail_account_gui_save): Save the sent/drafts folders. + + * mail-config.c (account_copy): copy sent/drafts info + (config_read): read sent/drafts info + (mail_config_write): write sent/drafts info + + * mail-callbacks.c (composer_send_cb, composer_postpone_cb): + split out some common code here (and fix inconsistencies). Always + set headers on the message giving the account name, transport, + and sent folder to use. + + * mail-ops.c (mail_send_message): If the message has an + X-Evolution-Account header, use the transport/sent folder info for + that account (assuming it still exists). Otherwise, if it has + X-Evolution-Transport and/or X-Evolution-Fcc, use those. If not, + use the default transport and sent folder. + FIXME: Falls back silently to the default sent folder if it can't + open the account-specific one... + (send_queue_send): remove the X-Evolution-Transport, etc + processing here, as it gets done by mail_send_message now. + FIXME: We only sync the default sent folder. + + * component-factory.c (owner_set_cb): While setting up the + standard folders, also record their URIs. + +2001-03-27 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-editor.c (switch_page): Lets do some NULL checking + here. First, make sure the gsrc isn't NULL and also make sure that + account->source isn't NULL either. + + * mail-account-gui.c (mail_account_gui_setup): If there isn't a + source_proto, make sure we select "None" as the source type. + +2001-03-27 Dan Winship <danw@ximian.com> + + * mail-config-druid.c (construct): set the initial druid button + state after doing the mail_account_gui_setup, since that may + invoke signal handlers that will change it. + + * mail-account-gui.c (mail_account_gui_new): Fill in signature and + organization too. + (mail_account_gui_save): Preserve the "enabled" flag on the source. + (save_service): Don't look at authtype if the widget is + insensitive. (Fixes the "smtp://;auth=PLAINservername" bug.) + +2001-03-27 Not Zed <NotZed@Ximian.com> + + * mail-send-recv.c (receive_done): Use gnome-dialog-close instead + of object_unref, for some reason it doesn't like being unref'd + with a refcount of 1, _who knows_. Gets rid of that refcount + warning on get mail. + +2001-03-27 Dan Winship <danw@ximian.com> + + * mail-config.glade: Probably the very last new config dialog + ever. (Ha ha). From Anna, based on a story by me. + + * mail-account-gui.c: New code for the new mail-config.glade. This + abstracts out all of the common code between the account editor + and the druid. It also handles the spiffy new provider-specific + config stuff. + + FIXME: The code to check if a service is ok or not is no longer + there... waiting until the online/offline stuff from the shell + appears. + + * mail-account-editor.c, mail-config-druid.c: These are much + smaller now, since most of the interesting bits moved to + mail-account-gui.c + + * mail-accounts.c: Add an enabled/disabled column/button to + replace the checkbox that used to be in the editor, because it + really makes more sense to have it out here. This looks ugly. + Probably ought to ETable it... + (load_accounts): Fill in the enabled column. + (mail_select, mail_unselect): toggle the sensitivity and name of + the Enable/Disable button appropriately + (mail_able): Handle the enable/disable button. + + * mail-config.c: Remove reply-to from MailConfigIdentity since it + didn't belong there (and wasn't being saved anyway). + (mail_config_check_service): Simplify this a bit. This really + needs to pop up a dialog with a "connecting..." message and a + cancel button. + + * mail-ops.c (uid_cachename_hack): Kludge, copied+modified from + mail_config_folder_to_cachename to deal with the different + behavior of the URL code now. Will go away when the keep-on-server + code moves. + (get_folderinfo_get): Only pass "subscribed_only" to + camel_store_get_folder_info if the store supports subscriptions... + + * mail-local.c (local_provider): Update this to reflect the + CamelProvider structure change + +2001-03-26 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (transfer_msg): Add "vtrash" as an allowed mail + folder type. + + * mail-ops.c (transfer_messages_transfer): Updated to reflect + changes made to the move/copy API in camel-folder.c + (add_vtrash_info): Use /Trash as the path instead of Trash. + + * mail-local.c (reconfigure_folder_reconfigure): Updated this too. + +2001-03-20 Not Zed <NotZed@Ximian.com> + + * mail-local.c (init_trash): Fixed vfolder_new api. + +2001-03-26 Dan Winship <danw@ximian.com> + + * mail-format.c (get_cid): Make fake content-id URLs be guaranteed + unique: the old way (with %p on the CamelMimePart *) would + generate duplicates if memory was freed and re-allocated the right + way. + + * mail-display.c (pixbuf_gen_idle, etc): Make the thumbnail cache + global rather than per-MailDisplay, since content-ids ought to be + globally unique. Also, don't leak content-id strings when the + pixbuf generation fails, and remove pixbufs from the cache after 5 + minutes. + + * component-factory.c (mail_load_storages): Simplify a bit using + camel_session_get_provider. + + * mail-callbacks.c (empty_trash): Ditto, and fix up use of + CamelException. + +2001-03-26 Radek Doulik <rodo@ximian.com> + + * mail-format.c (write_address): clear name and email data after + each address + +2001-03-25 Dan Winship <danw@ximian.com> + + * component-factory.c (unref_standard_folders): Fix a bug in this + that probably would have been noticed sooner if ETree hadn't always + made the mailer crash before you got here. :-) + +2001-03-25 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-editor.c (transport_auth_type_changed): Allow the + authtype to be NULL. + (transport_auth_init): If the provider allows authtypes but + doesn't *need* one, create a "None" menu item that the user can + choose. This should fix the bug people have been seeing recently + since dan removed the no_authtype authmech from the smtp provider. + +2001-03-24 Jeffrey Stedfast <fejj@ximian.com> + + * openpgp-utils.c (openpgp_verify): Default to iso-8859-1 as the + user's charset here if it is undefined. This is a better choice + than us-ascii. + +2001-03-23 Jon Trowbridge <trow@ximian.com> + + * mail-display.c (handle_embedded_address_object): #ifdef away + some code I don't quite want to delete yet. + (html_button_press_event): Remove some of Radek's placeholder + code, replace it with code to create my AddressPopup bonobo + control. + + * mail-format.c: Remove some obsolete code that if #ifdef-ed out + a while ago. + + * mail-ops.c (send_queue_send): Strip out the X-Evolution-Identity + header when sending. + +2001-03-23 Christopher James Lahey <clahey@ximian.com> + + * message-list.c: Turned on BROKEN_ETREE. + +2001-03-22 Iain Holmes <iain@ximian.com> + + * importers/evolution-outlook-importer.c: Update for new IDL. + + * importers/evolution-mbox-importer.c: Update for new IDL. + + * importers/Makefile.am: Build the elm importer. + +2001-03-22 Jeffrey Stedfast <fejj@ximian.com> + + * mail-accounts.c (mail_double_click): New callback to handle a + double-click event in the account clist. + (construct): Setup the double-click event for the account list. + +2001-03-22 Radek Doulik <rodo@ximian.com> + + * mail-display.c (mail_display_new): connect to button_press_event + and iframe_created events of GtkHTML widget + (html_button_press_event): new signal handler, runs popup on + address fields and on links, later we should add popups for images + and maybe some more? any ideas? + (html_iframe_created): new signal handler, takes care of + connecting to button_press_event of all iframes : plus bunch of + empty methods for popup menu items - to be implemented + (html_motion_notify_event): new handler, highlights addresses by + underline + (html_enter_notify_event): take care of enter event + (update_active): helper function, extracted from + html_motion_notify_event + (update_active): move to absolute coordinates + (html_button_press_event): ditto + + * mail-format.c (write_address): revert back to raw HTML text, + store name and email to Text objects, workaround gtkhtml tables + bug (to be fixed soon ;-) + +2001-03-21 Ettore Perazzoli <ettore@ximian.com> + + * folder-browser-factory.c (update_pixmaps): Don't return if + loading one image fails. + +2001-03-21 Dan Winship <danw@ximian.com> + + * mail-format.c (handle_multipart_related): Fix a bug in (illegal) + 0-part messages + + * mail-config-druid.c (incoming_check, incoming_type_changed, + transport_check, transport_type_changed): * mail-account-editor.c + (transport_type_changed, source_check): Use the new URL part + macros + + * mail-config.c (check_service_check): Use provider authtype list + if not connecting. + +2001-03-20 Miguel de Icaza <miguel@ximian.com> + + * folder-browser-factory.c: Added new icons. + +2001-03-18 Miguel de Icaza <miguel@ximian.com> + + * folder-browser-factory.c: Remove duplicated verb. + +2001-03-20 Iain Holmes <iain@ximian.com> + + * importers/evolution-mbox-importer.c (process_item_fn): Step the + parser so that it will import more than one message. + +2001-03-20 JP Rosevear <jpr@ximian.com> + + * importers/Makefile.am: extra dist the oaf files + +2001-03-20 Radek Doulik <rodo@ximian.com> + + * mail-tools.c (mail_tool_quote_message): set color in html + citation + + * mail-config.c: added citation highlighting configuration + + * mail-tools.c (mail_tool_quote_message): use citation + highlighting + + * mail-display.c (mail_text_write): use citation highlighting + +2001-03-20 Christopher James Lahey <clahey@ximian.com> + + * folder-browser.c (etree_key): Made this check if the control + mask is set. + +2001-03-20 Christopher James Lahey <clahey@ximian.com> + + * message-list.c (remove_node_diff, build_flat_diff): Remove the + node before freeing the data it points to. + +2001-03-19 Christopher James Lahey <clahey@ximian.com> + + * Merged e-tree-rework-branch: + +2001-03-18 Christopher James Lahey <clahey@ximian.com> + + * message-list.c: Added has_save_id and get_save_id methods. + + * subscribe-dialog.c: Added arguments for + e_tree_memory_callbacks_new of get_save_id and has_save_id to + NULL. + +2001-03-16 Christopher James Lahey <clahey@ximian.com> + + * message-list.c: Added a call to + e_tree_memory_set_expanded_default to TRUE. Removed all calls to + set_expanded on nodes while the tree is frozen since this fails + miserably now. + +2001-03-13 Christopher James Lahey <clahey@ximian.com> + + * message-list.c (message_list_get_layout): Turned off draw-grid. + +2001-03-09 Christopher James Lahey <clahey@ximian.com> + + * folder-browser-factory.c, folder-browser.c, message-list.c, + message-list.h, subscribe-dialog.c, subscribe-dialog.h, + mail-callbacks.c: Converted these all to use ETree instead of + ETable. + +End of branch + +2001-03-19 Iain Holmes <iain@ximian.com> + + * importers/pine-importer.c: Pine intelligent mail importer. + + * importer/elm-importer.c: Elm imtelligent mail importer. + + * importer/GNOME_Evolution_Mail_(Pine|Elm)_Intelligent_Importer.oaf.in: + Pine and Elm oafinfo files. + + * importer/netscape-importer.c (maybe_replace_name): Replace some invalid + names with valid ones (Trash -> Netscape-Trash). Change some netscape names + to Evolution names (Unsent Messages -> Outbox). + (scan_dir): Use less variables. + (netscape_import_file): Simplify. + +2001-03-19 Jeffrey Stedfast <fejj@ximian.com> + + * mail-ops.c: Removed gnome.h and ctype.h + (send_queue_send): Don't remove the X-Evolution header here. + (mail_send_message): Remove it here instead (so we only have to + remove it in one place - no matter if you send a single message or + send_queue. + +2001-03-19 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (write_headers): Write the date header. + + * component-factory.c (owner_unset_cb): Call + unref_standard_folders() here instead. + + * folder-browser-factory.c: Add Resend Message menu item. + + * folder-browser.c (on_right_click): Add resend to the right-click + menu. + + * mail-callbacks.c (composer_sent_cb): Unref the message. + (composer_postpone_cb): Unref the message here too. + (resend_msg): New callback to allow resending of messages in the + Sent folder. + +2001-03-18 Jeffrey Stedfast <fejj@ximian.com> + + * component-factory.c (unref_standard_folders): unref the standard + folders. + (owner_set_cb): Use g_atexit() to call unref_standard_folders() + when evolution-mail exits. This should solve the problem where + these folders are not synced when evolution-mail closes (because + they still had refs on them on close). + +2001-03-17 Not Zed <NotZed@Ximian.com> + + * mail-mt.c (mail_msg_free): Move the proxy event outside the lock + (otherwise we always deadlock). + + * mail-local.c (reconfigure_clicked): Clear the message list + during update inside the folder thingy. This is a hell mess, need + to move the gui stuff to mail-callbacks and make this reconfigure + thing a more generic func. + + * message-list.c (ml_value_to_string): Cleanup the logic to use + lookup tables. + (sort_uid_to_rows): Removed due to rewrite below. + (build_flat_diff): Changes for node/summary/etc changes. Also do + changed nodes too. + (clear_tree): Free the info reference for nodes in our hashtable. + (build_subtree): Ref the info reference in our hash/tree node. + (on_click): Dont free message info, since we just got our ref to + it. + (remove_node_diff): Free messageinfo off node. + (build_flat): Ref messageinfo. + (message_list_set_folder): Allow a NULL folder to be set - + i.e. clear the view. + (message_list_set_folder): Emit a no message sleeted signal. + (build_tree): Change cursor keeping stuff to work with new info. + + Turned off BROKEN_ETREE - well maybe it'll work. Check for + duplicate messages displayed, etc. + +2001-03-16 Not Zed <NotZed@Ximian.com> + + * message-list.h: Added uid_nodemap; mapping of uid's to e-tree + nodes. + + * message-list.c (build_flat): Changed to take a summary argument, + and to store node in node map, etc, and store info's in e-tree. + (build_subtree): Changed to store node in node map, and to store + info's in tree directly. + (ml_tree_value_at): Changed to get info directly from tree node, + removed allocated return value logic. + (ml_tree_value_at): Removed all "fake node" handling, no fake + nodes should ever exist. + (id_is_uid, id_is_subject, id_uid, id_subject): Removed macro's no + longer used. + (new_id_from_uid, new_id_from_subject): Removed no longer used. + (get_message_uid): + (get_message_info): Treat tree node data as messageinfo. + (message_list_select): Dont free the messageinfo, as its part of + our data, not retrieved from folder. + (message_list_drag_data_get): ditto. + (subtree_unread): Treat tree node data as messageinfo. + (subtree_size): ditto. + (subtree_earliest): ditto. + (clear_tree): Reset uid_nodemap on clear. + (save_node_state): tree nodes == messageinfo's. + (add_node_diff): ditto. + (remove_node_diff): ditto. + (main_folder_changed): use uid_nodemap to lookup changed nodes. + (main_message_changed): ditto. + +2001-03-16 Jeffrey Stedfast <fejj@ximian.com> + + * mail-crypto.c (pgp_mime_part_sign_prepare_part): New function to + prepare the mime part and any subparts for pgp signing. + (pgp_mime_part_sign_restore_part): New convenience function to + undo the prepare_part. + (pgp_mime_part_sign): Don't assume the part passed in is a leaf + part, we could very easily get a multipart (and in fact were which + is why people have been having unexpected results when signing + messages with attachments) and set the encoding as if it were a + leaf part. Use our 2 new convenience functions to set the + encoding(s) instead. + +2001-03-15 Miguel de Icaza <miguel@ximian.com> + + * folder-browser-factory.c (folder_browser_setup_view_menus): Fix + memory leak. + +2001-03-15 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-editor.c (apply_changes): We don't care about SSL, + yea baby... + (apply_changes): Don't care about SSL, no baby... + (construct): Yea, I said we don't care 'bout SSL, baby + (construct): That's exactly what I said, uh huh... + (transport_auth_type_changed): Set the sensitivity of the + user/passwd entries. + (transport_type_changed): If the hostname hasn't been set yet, + just use "localhost" as it doesn't really matter, since all we + need is a valid URL object. + + * mail-config.c: We no longer need `use_ssl' for sources and + transports. + +2001-03-15 Dan Winship <danw@ximian.com> + + * mail-display.c (mail_display_redisplay): Remove a stray + camel_object_ref that was causing messages to never be finalized + if they got redisplayed (because of attachments, delayed-loading + IMAP parts, etc) + +2001-03-15 Not Zed <NotZed@Ximian.com> + + * folder-browser.c: Added edit item to search-bar menu. + + * mail-callbacks.c (filter_edit): Changed for filter_editor_new() + api addition/change. + + * mail-vfolder.c (vfolder_edit): Use vfolder_editor_new intead. + +2001-03-14 Jeffrey Stedfast <fejj@ximian.com> + + * session.c (mail_session_init): Tell camel to init NSS. + (mail_session_accept_dialog): Doh! NULL terminate the list of + buttons and show the label. + + * mail-mt.c (do_get_accept): Same. + +2001-03-14 Ettore Perazzoli <ettore@ximian.com> + + * importers/Makefile.am (INCLUDES): Add `-I$(top_builddir)/shell' + and `-I$(top_srcdir)'. + +2001-03-13 Dan Winship <danw@ximian.com> + + * mail-display.c (on_url_requested): Call gtk_html_end() on the + stream so things happen. Fixes a problem with some inline images + (just very small ones maybe?) + + * importers/.cvsignore: create + +2001-03-13 Jeffrey Stedfast <fejj@ximian.com> + + * session.c (mail_session_init): Call camel_init with the + evolution directory passed in. Also, abort if camel cannot be + initialized. + + * main.c (main): Shutdown camel. + +2001-03-04 Michael Meeks <michael@ximian.com> + + * folder-browser-factory.c (free_pixmaps): impl. + (update_pixmaps): accelerate with cache. + +2001-03-13 Iain Holmes <iain@ximian.com> + + * Makefile.am: Removed the importers and created a subdirectory + for them to live happily as plugins. + + * mail-importer.c (mail_importer_create_folder): Modified the + function to take a BonoboListener for the callback. + (get_importer_list): Get a list of importer plugins. + (free_importer_list): Free the list of plugins. + (mail_importer_init): Initalise the list of plugins. + (main_importer_uninit): Unload the modules. + + * GNOME_Evolution_Mail.oaf.in: Remove the oaf_server entries for + the importers. + + * importers/*: Copy the importers in here. + +2001-03-12 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config.c (mail_config_write): Make the transport save + whether or not it's supposed to use SSL as well. + (config_read): Read in whether or not we should remember the + transport password (for those that support SASL). + (mail_config_write): Save whether or not to save transport + passwords (needed for SASL enabled transports). + + * mail-ops.c (add_vtrash_info): Instead of always creating a new + vTrash folder, if the store already has a Trash folder, replace it + with the vTrash. Also, name the folder "Trash" instead of "vTrash" + and i18nify the name. + +2001-03-11 Jeffrey Stedfast <fejj@ximian.com> + + * mail-ops.h: Added protection. + + * folder-browser-factory.c: Add ActionsEmptyTrash. By the way - + should we rename the bonobo verbs now that our menu structure has + changed? + + * mail-callbacks.c (empty_trash): New callback to empty ALL of the + trash folders. + +2001-03-10 Jeffrey Stedfast <fejj@ximian.com> + + * mail-ops.c (send_queue_send): Remove our X-Evolution header + before we send. Also don't send messages that are marked for + deletion. + +2001-03-09 Jeffrey Stedfast <fejj@ximian.com> + + * mail-mt.c (mail_get_accept): New async function that will be + used for SSL certs later. + + * session.c (auth_callback): Changed to return a gpointer value. + (mail_session_accept_dialog): New function to handle the new + _ACCEPT authenticator mode. + +2001-03-08 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser-factory.c: Set the Forward->Quoted callback. + Also set the forward->Attachment callback. + + * mail-view.c (view_forward_msg): Specify FORWARD_ATTACHED. + + * mail-callbacks.c (forward_attached): Don't call + forward_messages() anymore...never really needed to. Just handle + it directly. + (forward_inlined): Specify FORWARD_INLINE as the flag argument. + (forward_quoted): New function sorta like forward_inlined except + this forwards the message quoted. + + * mail-tools.c (mail_tool_forward_message): New function to + prepare a message to be forwarded. + +2001-03-08 Jon Trowbridge <trow@ximian.com> + + * mail-format.c (write_field_row_begin): Added. Table row HTML + broken out into its own function. + (write_subject): Added. Emits the proper HTML for the subject + line. + (write_field_to_stream): #ifdef-ed out of existence. + (write_address): Take a CamelInternetAddress and spit out an + <object> tag with the appropriate <param>s. + + * mail-display.c (on_object_requested): Check for an "address" + object. If found, call... + (handle_embedded_address_object): ...this function, which creates + an AddressWidget bonobo control and passes in the necessary info. + I never really realized just quite how much GtkHTML kicks ass + until I figured out how to make this work. + +2001-03-08 Jeffrey Stedfast <fejj@ximian.com> + + * mail-vtrash.[c,h]: Removed from cvs + + * Makefile.am: Removed mail-vtrash.[c,h] + + * main.c: Don't #include "mail-vtrash" anymore. + + * component-factory.c: Add "vtrash" as a folder type we support. + (create_view): Kludgy-kludge around the vtrash type. + (owner_set_cb): Don't create the vTrash folder here anymore... + + * folder-browser.c (on_double_click): Call open_msg here so that + it does the Right Thing (tm). + +2001-03-08 Jeffrey Stedfast <fejj@ximian.com> + + * mail-local.c (mail_local_store_class_init): Override the default + init_trash() with the our custom one (since MailLocalStore doesn't + let the CamelStore keep a hash of opened folders and instead + keepts track of them itself). + (init_trash): custom implementation of the init_trash method for + MailLocalStores + (get_folder): i18nize. + (register_folder_registered): Don't add the folder to the vtrash + here. + +2001-03-08 Ettore Perazzoli <ettore@ximian.com> + + * component-factory.c (component_fn): Specify a NULL + `EvolutionShellComponentGetDndSelectionFn'. + +2001-03-07 Jeffrey Stedfast <fejj@ximian.com> + + * mail-autofilter.c (filter_rule_from_message): Add an action-part + widget. + (filter_rule_from_mlist): Same here. This should get rid of the + problem where people go to create a rule based on a message and + forget to fill-in the action part. + +2001-03-07 Jeffrey Stedfast <fejj@ximian.com> + + * mail-crypto.c (mail_crypto_is_smime_v3_signed): New function to + decide if a mime part is an S/MIME v3 signed part. + (mail_crypto_is_pkcs7_mime): New function to decide if a mime part + is an application/pkcs7-mime part (or an application/octet-stream + part with application/pkcs7-mime data). + + * mail-account-editor.c (source_auth_init): Move the signal + emittion to after the set_menu call so that it actually works. + (transport_type_changed): Updated to manipulate the user/passwd + fields for the transport. + (construct): Updated to init the user/passwd fields for the + transport. + (transport_auth_init): Renamed. Also fill in the user/passwd + fields if available. + +2001-03-06 Jeffrey Stedfast <fejj@ximian.com> + + * mail-accounts.c (construct): Disable the NNTP code if NNTP is + not enabled. This prevents some runtime warnings... + + * mail-config-druid.c: Updated to have a transport auth page. + +2001-03-01 Miguel de Icaza <miguel@ximian.com> + + * folder-browser.c (on_right_click): Move the context menus to + the toplevel code; Use enumerations for the various bitfield + constants. + + Add support for hiding items that are not required (read/unread + and delete/undelete). + + This requires my previous patch, as it assumes "Open" does the + right thing instead of having two operations: Open and Edit. + +2001-02-28 Miguel de Icaza <miguel@ximian.com> + + * folder-browser.c (on_right_click): Removed draft folders op + here, since open_msg now does the right thing (edit or view). + + * folder-browser-factory.c (update_pixmaps): Removed MessageEdit + from here. + + * mail-callbacks.c (open_msg): New function, does the "right + thing" to a message (either, edit or open). + + * folder-browser-factory.c: Register new command here. + (update_pixmaps): Rename keys that have been shuffled around. + (update_pixmaps): Rename to match new updates on xml file. + + Rename MessageOpenNewWindow to MessageOpen. Change action from + "view_message" to "open_message". + + * mail-callbacks.c (mark_all_as_seen): New command. Marks all + messages as seen. + +2001-03-06 Dan Winship <danw@ximian.com> + + * mail-ops.c (get_folderinfo_got): If the folderinfo has no URL + (ie, can't contain messages), don't add it as a vtrash source. + +2001-03-05 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config-druid.c: Don't access the `active` data member of a + GtkToggleButton directly - bad programming, shame on me. + + * mail-account-editor.c: Same here. + + * mail-accounts.c: And here too. + + * mail-callbacks.c (empty_subject_destroyed): And finally here. + + * mail-crypto.c (pgp_mime_part_sign): Correcty set the mime type + for the multipart. Hmmm, still doesn't wrap correctly. NotZed? + Ideas? + (pgp_mime_part_encrypt): Here too. + +2001-03-03 Not Zed <NotZed@Ximian.com> + + * mail-tools.c: Remove very old camel lock stuff. + + * mail-local.c (register_folder_registered): Add the local folder + as a potential vfolder source. + + * folder-browser.c (got_folder): When we have a new folder, + register it as a potential vfolder source. + + * mail-vfolder.c: Added the source rule to the vfolder_info. + (vfolder_refresh): Store the rule in the vfolder info, etc. + (vfolder_register_source): Function to register a newly opened + folder with us. + (vfolder_uri_to_folder): Save the folder in the vfolder_info too. + (source_finalise): Handle clenaup when the folder dies. + +2001-03-02 Not Zed <NotZed@Ximian.com> + + * mail-mt.c (set_stop): Check the container is not NIL before + trying to set thje prop. + +2001-03-01 Not Zed <NotZed@Ximian.com> + + * folder-browser.c (folder_browser_search_menu_activated): Fixes + for changes to search bar. + (search_save): Removed. + (search_full): Removed. + (search_full_clicked): Removed. + (folder_browser_search_option_items[]): Removed. + (folder_browser_search_query_changed): Changed for search bar + changes. + (folder_browser_clear_search): Removed. + + * mail-vfolder.c (vfolder_clone_rule): New function to clone a + filter/search rule into a matching vfolder rule. + + * mail-send-recv.c (mail_receive_uri): Setup a timeout for status + updates. + (build_dialogue): Setup timeout id for status updates. + (operation_status_timeout): New function to set the status via a + timeout. + (receive_done): Remove the timeout handler if we need to. + (operation_status): + (receive_status): Just update the info, and let the timeout + handler update the gui. + (do_free_status): + (do_show_status): Removed gui thread status message processing. + +2001-02-28 Not Zed <NotZed@Ximian.com> + + * folder-browser.c (folder_browser_config_search): New function to + configure the FilterRule for the search mechanism. + +2001-02-27 Not Zed <NotZed@Ximian.com> + + * folder-browser.c (folder_browser_gui_init): Setup the search bar + as a filterbar. + (got_folder): Set the whole search bar sensitive or not based on + the search capability of the folder. + + * folder-browser.h: Changed to use efilterbar instead of esearchbar. + +2001-02-27 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (configure_mail): Return TRUE if the user + configured his/her settings, else return FALSE. + (check_send_configuration): If configure_mail() returns TRUE, then + continue otherwise quit. + (send_receive_mail): Same. + +2001-02-26 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (mail_generate_reply): Set a "References" + header no matter what if we are able to get a Message-Id. Fixes + bug #1583. + + * mail-accounts.c (mail_delete): Confirm that the user REALLY + wants to delete this account. + (news_delete): Same. + + * mail-ops.c (mail_send_message): Changed the product string - + will change it to use User-Agent once I get the RFC/DRUMS draft or + whatever. Until then I'll stick with X-Mailer. + +2001-02-26 Dan Winship <danw@ximian.com> + + * mail-callbacks.c (delete_msg): Mark deleted messages as "seen" + as well so they don't count towards the unread count. + + * mail-view.c (view_delete_msg): ditto + +2001-02-25 Jeffrey Stedfast <fejj@ximian.com> + + * component-factory.c (owner_set_cb): Re-add the + mail_vtrash_create() hack back in for LocalStores since there's no + better way to register a vTrash folder on the Local Storage yet. + + * mail-local.c (register_folder_registered): Add folders to the + vTrash folder here since the LocalStore does not let the parent + CamelStore class keep it's own hash of the folders. + +2001-02-25 Jeffrey Stedfast <fejj@ximian.com> + + * session.c (mail_session_forget_password): New function to force + the removal of a given password. + + * openpgp-utils.c (openpgp_decrypt): On failure, forget the + passphrase. + (openpgp_encrypt): Here too. (cleaned this up a bit too) + (openpgp_clearsign): And here. + (openpgp_sign): Again... + + * mail-callbacks.c (composer_postpone_cb): Abort if the message is + NULL (which is valid if an error occured). + (composer_send_cb): Same. + +2001-02-24 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser.c: Toss the mail_tool_camel_lock* stuff. + * mail-ops.c: Same. + * mail-summary.c: Here too. + + * mail-tools.c (mail_tool_uri_to_folder_noex): Blown away! + (mail_tool_filter_get_folder_func): *kapoosh* + (mail_tool_camel_lock_up): Same. + (mail_tool_camel_lock_down): Same. + (mail_tool_set_uid_flags): Don't need this rubbish anymore either. + +2001-02-24 Jeffrey Stedfast <fejj@ximian.com> + + * component-factory.c (mail_load_storages): No longer need to + construct the vTrash here. + (owner_set_cb): Don't make the vTrash for the local store here. + + * mail-ops.c (add_vtrash_info): New function to add a vTrash + folder info to a pre-constructed CamelFolderInfo for use in the + get_folder_info async function. + +2001-02-23 Jeffrey Stedfast <fejj@ximian.com> + + * main.c (main): No longer need to do a vtrash_cleanup() (it also + doesn't exist anymore). + + * component-factory.c (mail_load_storages): Updated to use the new + vtrash code. + (owner_set_cb): Same. + + * mail-tools.c (mail_tool_uri_to_folder): Update to handle the + "vtrash:" url prefix so that we can extract the REAL uri and know + to get the trash folder. + + * mail-vtrash.c (mail_vtrash_add): Add the vTrash folder to the + EvolutionStorage. + (mail_vtrash_create): Get the store based on the uri (async) and + then call mail_trash_add. + (vtrash_cleanup): Removed. + (vtrash_uri_to_folder): Removed. + (vtrash_create): Replaced by mail_vtrash_create() + +2001-02-23 Iain Holmes <iain@ximian.com> + + * component-factory.c (owner_set_cb): Init the importer here. + + * mail-importer.[ch] (mail_importer_create_folder): Add a function + that creates new folders in the shell. + (mail_importer_init): Take in an EvolutionShellClient, and get the + local_storage corba_object from it. + +2001-02-22 Jeffrey Stedfast <fejj@ximian.com> + + * mail-vtrash.c (create_trash_vfolder): Come up with a unique + store uri for each vtrash (using %p and the CamelStore we're gonna + place it on). + (get_trash_get): Pass in the store so we can use it for %p. + +2001-02-23 Not Zed <NotZed@Ximian.com> + + * mail-vfolder.c (vfolder_gui_add_from_mlist): Rule to add mlist + vfolder. + + * mail-autofilter.c (filter_gui_add_for_mailing_list): Removed. + (rule_from_mlist): Build a generic match rule from an mlist. + (vfolder_rule_from_mlist): Setup the vfolder rule for an mlist. + (filter_rule_from_mlist): Setup a filter rule fro an mlist. + (filter_gui_add_from_mlist): GUI thingy to do the work. + + * folder-browser.c (on_right_click): Added vfolder on mailing list + to filter menu. + (on_right_click): Use header_raw_check_mailign_list instead of + mlist magic to get the mailing list name. + (filter_mlist): Changed to use new add_from_mlist() call. + (vfolder_mlist): New function for vfolder from mlist. + + * mail-send-recv.c (build_dialogue): Only allow downloading if the + source is enabled at this time. + (mail_autoreceive_setup): Check for enabled sources before setting + up autodownload. + +2001-02-22 Jeffrey Stedfast <fejj@ximian.com> + + * mail-accounts.c (construct): Construct the PGP Path + GnomeFileEntry widget. + (pgp_path_changed): Try to auto-detect which PGP type the binary + file is based on the basename (yuck). + +2001-02-23 Not Zed <NotZed@Ximian.com> + + * mail-ops.c (create_folder_get): Make op cancellable/report + internals. + (get_folder_get): + (sync_folder_sync): + (get_folderinfo_get): Make op cancellable/report internals. + + * mail-vtrash.c (get_trash_get): Setup the operation registration, + and create a pseudo "start/stop" operation. + (get_trash_free): Free store if we have it. + (get_trash_got): Move vtrash add into here, so we execute in the + right thread. + + * component-factory.c (owner_set_cb): Make trash creation async. + + * mail-local.c (register_folder_desc): A description of what we're + doing. + + * mail-mt.c (mail_msg_new): Set status callback to operation_new. + (mail_operation_status): Operation status function, proxy messages + to main thread, and attempt to present a meaningful ui experience + for operations. + +2001-02-22 Jeffrey Stedfast <fejj@ximian.com> + + * openpgp-utils.c (openpgp_verify): Fixed memory corruption bug. + + * mail-format.c (try_inline_pgp_sig): Check to make sure the + validity isn't NULL. + (handle_multipart_signed): Check for NULL validities. + +2001-02-21 Jeffrey Stedfast <fejj@ximian.com> + + * mail-tools.c (mail_tool_uri_to_folder): Protect against NULL + uri's. + + * mail-vtrash.c: Do mutex locking on the global hash table - this + should clear up some segfaults ;-) + + * mail-config-druid.c (druid_finish): Set the 'enabled' member of + the source to TRUE if the URL exists else set to FALSE. + (incoming_type_changed): If the provider chosen is "None" then + gray-out the auto-check widgets and the check-settings, otherwise + sensitize them. + + * mail-account-editor.c (construct): Added a few more settings. + (apply_changes): Save the new settings. + + * mail-config.c (service_copy): Updated. + (config_read): Read in whether or not the account is enabled. + (mail_config_write): Save if the account is enabled or not. + +2001-02-22 Jeffrey Stedfast <fejj@ximian.com> + + * mail-ops.c (mail_send_message): Updated to reflect changes to + the filter-driver code. + +2001-02-22 Not Zed <NotZed@Ximian.com> + + * Makefile.am (CAMEL_OBJS_EXTRA): Removed, no longer link with + libcamelvee. + (evolution_mail_LDADD): Ditto. + + * mail-vtrash.c: Moved camel-vee-store header ot camel levle. + + * mail-tools.c: Moved camel-vee-folder header to camel. + + * mail-local.c (local_storage_new_folder_cb): started hack for + progress reporting, which is currently to the console. + + * mail-mt.c (set_stop): Set the stop button sensitivity. + (mail_msg_received): enable/disable stop button while we're + processing stuff in another thread. + + * message-list.c (ml_tree_value_at): If our uid entry vanishes + before w'ere ready, then make a fake. + +2001-02-21 Jeffrey Stedfast <fejj@ximian.com> + + * mail-crypto.c (pgp_mime_part_verify): Changed to use + PgpValidity. + + * openpgp-utils.c (openpgp_verify): Return a PgpValidity and set + the description as UTF-8 for later use in mail-format.c when + writing to GtkHTML. + + * mail-format.c (try_inline_pgp_sig): Updated to use the new + PgpValidity code. + (handle_multipart_signed): Updated. + +2001-02-21 Not Zed <NotZed@Ximian.com> + + * mail-callbacks.c (composer_postpone_cb): Fix for api changes to + append_mail. + + * Makefile.am (evolution_mail_SOURCES): Removed mail-threads.[ch]. + + * mail-threads.[ch]: Removed. + + * subscribe-dialog.c (subscribe_do_get_store): Chagned to use new + thread stuff. This is really getting boring. + (subscribe_do_subscribe_folder): Changed to use new thread stuff. + Last one at last, phew. + + * session.c (register_callback): Changed to use new thread stuff. + YUCK. I dropped some functionality, now the timeout callback + return is ignored, so basically it keeps running till finished. + + * mail-ops.c (mail_operation_run): Removed, no longer used/needed. + (mail_do_append_mail): Changed to use new thread stuff. + (mail_do_transfer_messages): ditto. + + * mail-local.c (local_storage_new_folder_cb): Use new thread + stuff, also only run synchronous for this operation. + (mail_local_reconfigure_folder): + (reconfigure_clicked): Changed to use new mail thread stuff. + + * mail-config.c (mail_config_check_service): Changed to use new + thread stuff. + +2001-02-20 Dan Winship <danw@ximian.com> + + * mail-vtrash.c (get_trash_get): Pass NULL, not "/" for @top. + + * mail-callbacks.c (create_folders): Make this work with + CamelStores where the separator character isn't /. folder_created + and folder_deleted are still broken. + +2001-02-20 Not Zed <NotZed@Ximian.com> + + * mail-vtrash.c: Include the camel-vee-store.h header from the + uninstalled copy. + +2001-02-19 Jeffrey Stedfast <fejj@ximian.com> + + * component-factory.c (mail_load_storages): Create vTrash folders + for all remote stores as well. + +2001-02-20 Not Zed <NotZed@Ximian.com> + + * mail-vtrash.c (create_trash_vfolder): Add the auto-update flag + to the folder open flags. + +2001-02-19 Jeffrey Stedfast <fejj@ximian.com> + + * mail-vfolder.c (mail_vfolder_get_vfolder_storage): New handy + dandy function to ref and return the vfolder storage (will + probably be disavowed once I figure out how to get the vTrash + folder to show up in the EvolutionLocalStorage). + + * main.c (main): Call vtrash_cleanup(). + + * mail-vtrash.c: New file. + (vtrash_uri_to_folder): vtrash: URI handler + (vtrash_create): Replacement async vtrash function for the old one + in mail-ops.c + (vtrash_cleanup): Cleanup code - unrefs the cached vtrash folders + and free's the hashtable. + + * Makefile.am: Added mail-vtrash.[c,h]. + + * mail-tools.c (mail_tool_uri_to_folder): If we have a vtrash: + URI, call the vtrash URI handler function rather than continuing + on. Yes, I know this is a hack and it needs to be fixed. + + * mail-ops.c (mail_do_setup_trash): Removed. + (mail_trash_get): Removed. + + * component-factory.c (owner_set_cb): Create the vTrash folder for + the LocalStore here. + + * mail-local.c (get_folder_info): Implement. + +2001-02-20 Not Zed <NotZed@Ximian.com> + + * mail-ops.c (fetch_mail_fetch): Unref the driver here, in the + subthread, so we dont block the gui while it sync's all the + folders. + (fetch_mail_fetched): Rewmoved above code from here. + +2001-02-16 Not Zed <NotZed@Ximian.com> + + * mail-send-recv.c (receive_status): Dont do the thaw/freeze set here. + (update_folders): " + + * mail-vfolder.c (vfolder_refresh): Setup the virtual + 'unmatched' folder by default. + (vfolder_uri_to_folder): HAndle UNMATCHED folder specially, it has + no explicit sources. + +2001-02-16 Jeffrey Stedfast <fejj@ximian.com> + + * mail-send-recv.c (receive_get_folder): Not sure it makes any + difference, but lets ref the folder while the hash table is locked + rather than after we unlock it. + +2001-02-16 Jeffrey Stedfast <fejj@ximian.com> + + * main.c: * component-factory.c: Reverse the changes I made + yesterday. + +2001-02-15 Jeffrey Stedfast <fejj@ximian.com> + + * main.c (main): Have the mail-config and openpgp initialize here + instead. + + * component-factory.c (owner_set_cb): No need to have mail-config + and openpgp init here. + +2001-02-15 Jeffrey Stedfast <fejj@ximian.com> + + * mail-ops.c (do_scan_subfolders): Use mail_storage_create_folder + + * mail-callbacks.c (mail_storage_create_folder): Convenience + function so we can keep all the evolution_storage_add_new_folder() + code in one place as much as possible. + + * subscribe-dialog.c (recursive_add_folder): Use 'name' rather + than the no-description bs since that's what all the other places + do. + + * mail-callbacks.c (folder_created): New callback to handle the + "folder_created" signal - handles CamelFolderInfo's recursively. + (folder_deleted): Same but for "folder_deleted". + + * component-factory.c (storage_create_folder): Instead of doing + the evolution_storage_new_folder() stuff by hand, pass it off to + the new callback: folder_created(). At some point this will be + unecessary as we'll attach this callback to the "folder_created" + signal. + +2001-02-15 Jeffrey Stedfast <fejj@ximian.com> + + * message-list.c: Wrapped the address compare functions in a + #ifdef + (address_compare): #ifdef the use of the smart address sorting + code and provide a #else for using g_strcasecmp(). + +2001-02-14 Jeffrey Stedfast <fejj@ximian.com> + + * openpgp-utils.c (openpgp_verify): Add the --no-tty flag. + +2001-02-14 Dan Winship <danw@ximian.com> + + * mail-mlist-magic.c: Rewrite explanatory comments to use normal + regexps rather than procmail weirdness. + (check_sender): match "foo-owner" as well as "owner-foo". + (check_list_post): (New) Check for "List-Post: <mailto:..." + (mail_mlist_magic_detect_list): Iterate through an array of + function pointers rather than calling each checker explicitly. + + * component-factory.c (add_storage): Connect to the + "create_folder" signal on the storage. + (storage_create_folder): Do folder creation. + +2001-02-14 Jeffrey Stedfast <fejj@ximian.com> + + * component-factory.c (owner_set_cb): Setup the Trash folder. + + * mail-ops.c (create_trash_vfolder): Do better error handling. + (populate_folder_urls): Oops, helps to strdup the url into the + array if we plan on freeing the data. + (mail_get_trash): New async function that may eventually replace + mail_do_setup_trash(). + (do_setup_trash): Do better error handling. + + * mail-local.c (mail_local_store_class_init): Override + get_folder_info. + (get_folder_info): Implement. + +2001-02-13 Christopher James Lahey <clahey@ximian.com> + + * mail-local.c (do_reconfigure_folder): Fix some uninitialized + variables. + +2001-02-12 Not Zed <NotZed@Ximian.com> + + * message-list.c (build_tree): if doing a full update, save the + cursor pos and restore it afterwards. + (on_cursor_activated_cmd): Copy the current_uid to a new string. + I dont know why this is required, but it is. + (message_list_destroy): Free the cursor_uid as we're done with it. + (build_flat): IF the current uid disappeared from the list, then + unset the message. + (build_tree): Likewise. + +2001-02-12 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config.c (mail_config_write): Clean out the cruft in the + Accounts section before writing the current accounts out to the + config file. + + * mail-account-editor.c (construct): Strip the leading "/" from + the Namespace/Path entry if the provider doesn't require absolute + pathnames. + +2001-02-12 Kjartan Maraas <kmaraas@gnome.org> + + * Makefile.am: xml-i18n-tools setup. + * GNOME_Evolution_Mail.oaf.in: Mark strings for translation. + +2001-02-11 Dan Winship <danw@ximian.com> + + * mail-callbacks.[ch]: Re-add non-static forward_messages. + mail-view.c needs it. + +2001-02-11 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (forward_inlined): Don't leak memory. + (forward_messages): change doinline to be a gboolean argument. + +2001-02-10 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (list_add_addresses): Check the full list of + IDs instead of just the default id and if we find an address + matching one of the user's ids, then save it. + (mail_generate_reply): Try to guess which account to use based + upon the list of To and Cc addresses and pass that as the 'From' + address to e_msg_composer_set_headers(). + (forward_get_composer): Updated to reflect changes to + e-msg-composer. + +2001-02-11 Gediminas Paulauskas <menesis@delfi.lt> + + * mail-config.glade.h: removed, xml-i18n-extract's the strings itself. + * *.glade: do not output_translatable_strings + * Makefile.am: removed *.glade.h from EXTRA_DIST. + +2001-02-09 Dan Winship <danw@ximian.com> + + * mail-local.c: Updates for CamelStore changes, small memory leak + fixes. + (lookup_folder): Removed (and moved into the reconfigure code) + since this method no longer exists in CamelStore. + (do_reconfigure_folder, etc): Update the info in the + MailLocalStore after reconfiguring. + (mail_local_lookup_folder): Removed + + * local-config.glade: fix padding of the label_format + + * message-list.c (ml_tree_value_at): Don't keep message infos + reffed across calls, since this can cause badness after a + reconfigure. Instead, just strdup the needed values and free those + on the next call. + + * mail-tools.c (mail_tool_get_root_of_store): Unused, remove. + (mail_tool_get_inbox): use camel_store_get_inbox. + + * evolution-outlook-importer.c (load_file_fn): + * evolution-mbox-importer.c (load_file_fn): Use + mail_tool_get_local_inbox() instead of mail_importer_get_folder() + + * mail-importer.c (mail_importer_get_folder): Removed + +2001-02-08 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (mail_generate_reply): New location for this + function. + + * mail-format.c: Removed mail_generate_reply as it's ONLY ever + used in mail-callbacks.c. + + * mail-ops.c (fetch_mail_fetch): Reworked some keep-mail-on-server + logic so that we ALWAYS look for a cached array of UIDs that we + may have downloaded previously so as not to download them again + even if we will be deleting them off the server. This fixes bug + #1344. + +2001-02-09 Not Zed <NotZed@Ximian.com> + + * mail-ops.c (filter_folder_free): only free driver, if set. + (fetch_mail_fetched): Unref the driver here, so it can cleanup + before we call the 'done' callback. + + * component-factory.c (owner_set_cb): Add setup for mail + autoreceive stuff. + + * mail-send-recv.c (free_info_data): Free the send info's from teh + active hash, not the running list. + (receive_done): As we finish downloads, remove them and clean them + up, and also close the window. + (mail_autoreceive_setup): New function to setup & maintain + automatic download stuff. + +2001-02-08 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config-druid.c (construct): Set the sensitivity of the spin + button based on the state of the checkbox. + + * mail-config.c (config_read): Properly do defaults here. + (mail_config_write): Removed some of the settings being saved + here. + (mail_config_write_on_exit): Save those settings here instead. + +2001-02-08 Jeffrey Stedfast <fejj@ximian.com> + + * mail-display.c (on_object_requested): Cast the CamelMedium to a + CamelMimePart before performing actions on it as if it were a + CamelMimePart. + + * mail-config-druid.c (druid_finish): Save the auto-check settings. + (construct): Initialize auto-check widgets. + (mail_config_druid_get_auto_check): New function + (mail_config_druid_get_auto_check_minutes): New functions + + * mail-config.c (config_read): Read in whether or not to check + every x minutes. + (mail_config_write): Save auto-check config data and SSL. + +2001-02-07 Jeffrey Stedfast <fejj@ximian.com> + + * mail-autofilter.c (rule_add_subject): Use "contains" because the + subject might be broken into subparts and using the "is" rule will + then fail ;-) + +2001-02-08 Not Zed <NotZed@Ximian.com> + + * mail-send-recv.c (mail_send_receive): + (mail_receive_uri): Init active_downloads hash if it hasn't been yet. + +2001-02-07 Not Zed <NotZed@Ximian.com> + + * mail-send-recv.c (operation_status): Handle internal camel status return. + (receive_done): Remove active download when done. + (mail_receive_uri): Initiate download of a single source, with no gui. + (build_dialogue): Mark any new items as real active downloads. + (do_show_status): Make the progress bar optional. + +2001-02-06 Not Zed <NotZed@Ximian.com> + + * mail-send-recv.c: camel_cancel->camel_operation. + + * mail-ops.old.c: camel_cancel->camel_operation. + + * mail-ops.c: camel_cancel->camel_operation. + + * mail-mt.c: camel_cancel->camel_operation. + + * mail-callbacks.c (stop_threads): camel_cancel->camel_operation. + + * mail-mt.h: CamelCancel->CamelOperation. + +2001-02-07 Jeffrey Stedfast <fejj@ximian.com> + + * mail-mt.c (set_view_data): Check current_message for NULL - this + fixes a bug running under SunOS (not a major deal tho as it's in a + debug printf). + +2001-02-06 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config.c (mail_config_write_on_exit): Oops, save the + seen_timeout variable. + +2001-02-06 Christopher James Lahey <clahey@ximian.com> + + * Makefile.am (evolution_mail_LDADD): Added libmenus.la. + + * folder-browser-factory.c (control_activate): Added GalView menus + here. + + * message-list.c, message-list.h (message_list_get_layout): Made + message_list_get_layout export. + +2001-02-06 Iain Holmes <iain@ximian.com> + + * mail-display.c (pixbuf_gen_idle): Set the size of the icon to 24x24 + always. + (button_press): Function to toggle the disposition of an attachment. + (on_object_requested): New way to indicate functions on attachments. + + * message-list.c (hide_load_state): Free the olduid. + +2001-02-06 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config-druid.c (set_defaults): Updated to checkfor + "(none)". + + * mail-account-editor.c (entry_changed): Make sure the email + address is valid. + + * mail-config-druid.c (identity_check): Check to make sure we have + a valid email address. + (is_email): New function to check a string to see if it's a valid + email address. + +2001-02-05 Jeffrey Stedfast <fejj@ximian.com> + + * evolution-mbox-importer.c: We are now going to use a file + descriptor and a CamelMimeParser rather than a FILE pointer. + (load_file_fn): Open the file descriptor and initialize the + CamelMimeParser. + (importer_destroy_cb): Unref the mime parser. + (support_format_fn): Use an fd and use a case-insensitive + comparison as well as elimate a buffer overrun. + (process_item_fn): Process 1 CamelMimeMessage per invocation so as + to not lock up Iain's GUI and to work similar to the way Iain + originally coded it. + +2001-02-05 Christopher James Lahey <clahey@ximian.com> + + * evolution-mbox-importer.c, evolution-mbox-importer.h: Moved + bonobo includes from the .c to the .h. Include + evolution-mbox-importer.h in evolution-mbox-importer.c. + + * evolution-outlook-importer.c, evolution-outlook-importer.h: + Moved bonobo includes from the .c to the .h. Include + evolution-outlook-importer.h in evolution-outlook-importer.c. + + * mail-callbacks.c: Include mail-send-recv.h. + + * mail-local.c (mail_local_lookup_folder): Cast local_store to + CAMEL_STORE. + + * mail-mt.c (mail_msg_cleanup): Make this function static. + + * mail-send-recv.c, mail-send-recv.h: Created mail_send_recv.h. + Included it in mail-send-recv.c. Added a #include + <libgnomeui/gnome-window-icon.h>. + (mail_send_receive): Added a cast. + + * mail-summary.c (new_folder_cb, removed_folder_cb, + create_summary_view): Cast the source func in calling g_idle_add. + +2001-02-05 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (try_inline_pgp_sig): New function to handle + inline pgp-signatures. + + * mail-config-druid.c (construct): Keep track of the CheckSettings + check boxes. + (transport_next): Connect if the user says so. + (incoming_next): Same. Also, don't jump to the next page if + test-settings fails. + +2001-02-05 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config-druid.c (incoming_next): Updated to not connect when + getting a list of authtypes. + (transport_next): No longer connects - again, this is + useless. Read the apply_changes argument for the reason why. + + * mail-account-editor.c (apply_changes): Updated. Set the + 'connect' argument to FALSE for now, this basically means that the + call is worthless tho so it may be best to either get rid of the + checks altogether or else make it connect. + (source_auth_init): Don't connect here, it's just plain annoying. + (transport_construct_authmenu): Same here. + + * mail-config.c (mail_config_check_service): Now takes a connect + argument. + +2001-02-03 Michael Meeks <michael@helixcode.com> + + * mail-local.c (load_metainfo): Fix dodgy libxml allocation + pollution, and potential faults on NULL attributes. + +2001-02-02 Not Zed <NotZed@Ximian.com> + + * mail-send-recv.c (mail_send_receive): Cleaned up so we dont add + an unecessary level of indenting. + + * message-list.c (ml_tree_value_at): For collapsed tree nodes, + scan the collapses nodes for the unread and status information. + Since we dont really have fake nodes anymore. + +2001-01-30 Ian Campbell <ijc25@cam.ac.uk> + + * message-list.c: Add support for new icons for being + read/unread for fake root messages on threads. + +2001-01-30 Iain Holmes <iain@ximian.com> + + * mail-send-recv.c (mail_send_receive): Only allow one send and + receive to be running at once. + (build_dialogue): Set the icon for the window. + + * evolution-mbox-importer.c (support_format_fn): Only compare the first + 5 bytes of the signature. + +2001-01-30 Kjartan Maraas <kmaraas@gnome.org> + + * folder-browser.c: Fix typo. + +2001-01-29 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-importer.c (mail_importer_add_line): Cast the + camel_stream_mem_new() to a CamelStreamMem. + +2001-01-29 JP Rosevear <jpr@ximian.com> + + * main.c: Return efence ifdefs to 0 for solaris build + +2001-01-29 Not Zed <NotZed@Ximian.com> + + * message-list.c (tree_equal): Debug function to compare the tree + we think we have, after an incremental update. + (build_tree): Check the tree after we've built it. + (build_tree): Oops, turn on BROKEN_ETREE again. + + * mail-mt.c (mail_get_password): If we are being called from the + main gui thread, then just call the dialogue directly. Ideally we + dont want this anyway but lets handle the case nicely. + (mail_get_password): Try locking around the password request, to + single-queue any password requests. + (mail_msg_init): Push an exit handler to clean it up on completion. + + * mail-send-recv.c (receive_update_got_store): New function called + when the store has been retrieved asynchronously. + (mail_send_receive): Get the store asynchronously. This was + causing problems where the password dialogue would try and be + called from the main thread via a message. + + * mail-ops.c (mail_get_store): New function to get a store + (a)synchronously. More or less taken from subscribe-dialog, which + i will remove later. + (mail_scan_subfolders): Try running the scan subfolder thing + asynchronously, to help startup time. Not sure if this will work, + but presumably the shell can handle the folders appearing later + ok. + +2001-01-28 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config-druid.c (set_defaults): Turns out that I was wrong + about the g_get_real_name mem leak, god damn glib for not + following the const char* standard. + +2001-01-28 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config-druid.c (management_prepare): Use UTF-8. + (set_defaults): Use UTF-8 and also fixed a memory leak by freeing + the string returned by g_get_real_name(). + (mail_config_druid_get_account_name): Use UTF-8. + (mail_config_druid_get_full_name): Same. + (mail_config_druid_get_email_address): Same. + (mail_config_druid_get_organization): Same. + + * mail-account-editor.c (apply_changes): Save UTF-8 strings rather + than gtk strings. + (construct): Use the UTF-8 convenience functions to set the gtk + entries for the ID fields. + +2001-01-28 Ettore Perazzoli <ettore@ximian.com> + + * mail-vfolder.c (vfolder_gui_add_rule): Make the OK button the + default one. + + * mail-search-dialogue.c (mail_search_dialogue_init): Use stock + buttons for OK and Cancel. Make the OK button the default one. + +2001-01-28 Ettore Perazzoli <ettore@ximian.com> + + * mail-vfolder.c (vfolder_gui_add_rule): Set a default size for + the window so that more rules are visible. + + * mail-search-dialogue.c (mail_search_dialogue_construct): Set a + default size for the window so that more rules are visible. + +2001-01-28 Not Zed <NotZed@Ximian.com> + + * mail-display.c (write_data_to_file): Changed to use + mail_save_part to save the data in another thread. + (save_data_cb): Hide the fileselector once we have a button press, + and are saving stuff. + + * mail-ops.c (mail_save_part): New function to save a part content + asynchronously. + +2001-01-27 Christopher James Lahey <clahey@helixcode.com> + + * folder-browser.c (etable_key): Don't handle home and end keys + since %ETable deals with them now. + +2001-01-27 Jeffrey Stedfast <fejj@ximian.com> + + * message-list.c (address_compare): Protect against NULL address + pointers. + (subject_compare): Same but for subject pointers. + +2001-01-27 Iain Holmes <iain@ximian.com> + + * mail-summary.c (create_summary_view): Applied patch from John R Sheets + to fix some warnings. + (idle_check): Fixed the prototype to fix some warnngs as well. + +2001-01-26 Ettore Perazzoli <ettore@ximian.com> + + * mail-display.c (get_embedded_for_component): Try a control + first, instead of an embeddable. + +2001-01-26 Jeffrey Stedfast <fejj@ximian.com> + + * subscribe-dialog.c (populate_store_foreach): Check for a NULL + service->url as we obviously can't subscribe to folders on a + non-existant mail source :-) + (subscribe_do_get_store): Check for a NULL url here too, not that + we should need it anymore (due to the above fix) but it doesn't + hurt. Also, should we wait on the thread? Probably doesn't matter. + +2001-01-26 Iain Holmes <iain@ximian.com> + + * evolution-outlook-importer.c (load_file_fn): Replace fsetpos with + fseek and use a long instead of fpos_t. + (process_item_fn): Same. + + * mail-importer.h: Add a frozen item to tell when the folder is frozen. + + * evolution-mbox-importer.c (process_item_fn): Fix the blank message. + Set the frozen element. + (importer_destroy_cb): Thaw the folder if frozen. + +2001-01-26 Dan Winship <danw@ximian.com> + + * mail-identify.c (mail_identify_mime_part): Fix an uninitialized + variable use. + +2001-01-26 Jason Leach <jasonleach@usa.net> + + (Fixing an old FIXME) + + * component-factory.c (create_vfolder_storage): removing + create_vfolder_storage, replacing call to it with + vfolder_create_storage. + +2001-01-26 Not Zed <NotZed@Ximian.com> + + * message-list.c (build_tree): Define BROKEN_ETREE again, till we + get this stuff fixed better. + +2001-01-25 Not Zed <NotZed@Ximian.com> + + * folder-browser.c: Moved teh "sender contains" item to the end of + the list, so the gui doesn't suddenly change on everyone. Fixed + the sender-contains search string to be a valid s-exp (ha, didn't + test it even once eh ettore?!) + (search_save): Dont have the sender contains as the default case + (which well, never gets called anyway), oops i guess i should've + reviewed the patch a little more. + +2001-01-26 Ettore Perazzoli <ettore@ximian.com> + + * folder-browser.c: Add a missing parenthesis to the "from + contains" rule. Also make it the last item instead of the first + one. + +2001-01-25 Iain Holmes <iain@ximian.com> + + * component-factory.c (component_factory_init): Init the mail + mail importers. + + * mail-local.[ch] (mail_local_lookup_folder): retrieve the local + folder given by the name. + + * mail-importer.[ch]: Basic functions for all importers to use. + + * evolution-mbox-importer.[ch]: Mbox importer. + +2001-01-25 Jeffrey Stedfast <fejj@ximian.com> + The following fixes seem to clear up the problem of new mail not + being shown in the Inbox and/or other folders where mail had been + delivered. + + * mail-send-recv.c (build_dialogue): Freeze the inbox. + (receive_get_folder): Freeze folders before dumping them into the + hash table. + (free_folder_info): Thaw the folder. + (free_info_data): Thaw the Inbox. + +2001-01-25 Jason Leach <jasonleach@usa.net> + + (Don't prompt about unsaved changes for replies/forwards that have + not actually been modified) + + * mail-callbacks.c (do_forward_inline): Unset the has_changed for + the message composer. + (do_forward_attach): Same here. + (mail_reply): And here. + +2001-01-25 Dan Winship <danw@ximian.com> + + * mail-format.c (mail_content_loaded): Check if a message part's + content is available, and if it's not, queue a thread that will + load it and then queue an idle-handler redisplay of the message. + (call_handler_function): Call mail_content_loaded() on the part + and don't try to display it if it's currently offline. + (get_data_wrapper_text): Simplify a bit + + * mail-display.c (mail_display_queue_redisplay): rename and make + non-static. + (mail_display_redisplay): Use a "new and improved" way of + preserving the GtkHTML scroll location. ("new and improved" is + code for "gross and hackish", but there should be a real interface + for this eventually.) + (on_url_requested): Use mail_content_loaded() and don't write out + offline cid: URLs + + * mail-identify.c (mail_identify_mime_part): Use + mail_content_loaded and don't try to identify the data if it's + offline. + +2001-01-25 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c: Made the message list pay attention to the + "cursor_activated" signal instead of the "cursor_change" signal. + +2001-01-25 Ettore Perazzoli <ettore@ximian.com> + + * folder-browser-factory.c (update_pixmaps): Set the print icon + for various other items. + (set_pixmap): Be a bit more verbose in the warning message if the + icon isn't found [i.e. report the name of the file too]. + +2001-01-25 Ettore Perazzoli <ettore@ximian.com> + + * folder-browser-factory.c (update_pixmaps): Set the pixmaps for + the "/menu/Folder/FolderConfig" and "/menu/Settings/SetMailConfig" + items. + (set_pixmap): Don't prepend the "buttons" prefix. + (update_pixmaps): Update accordingly. + +2001-01-24 Not Zed <NotZed@Ximian.com> + + * folder-browser.c (search_string[]): Fix the subject match + expression, which was missing a closing ). + + * mail-send-recv.c (do_show_status): Escape any % signs in the + string before setting the format string. + +2001-01-24 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config.glade: Added a 3rd page to the account editor to + allow users to set their HTML sending preference and also allow + them to change their message status timeout. + + * mail-accounts.c (construct): Added handlers for the send-html + checkbox and for the mark-message-as timeout spinbutton. + +2001-01-23 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-editor.c (apply_changes): Save the source and + transport changes whether the user can connect to the host or not. + +2001-01-23 Ettore Perazzoli <ettore@ximian.com> + + [Applied patch from Tuomas Kuosmanen <tigert@ximian.com>] + + * folder-browser.c: Added enum value `ESB_SENDER_CONTAINS' as well + as a "Sender contains" item to the search menu. Also add a + corresponding "(match-all)" rule to the `search_string' array. + (search_save): Handle `ESB_SENDER_CONTAINS' here. + +2001-01-23 Ettore Perazzoli <ettore@ximian.com> + + * GNOME_Evolution_Mail.oafinfo: Fixed the repo_ids so that they + use the right syntax. + +2001-01-23 Dan Winship <danw@ximian.com> + + * folder-browser-factory.c: + * mail-callbacks.c (send_receive_mail): Fix spelling. + +2001-01-24 Not Zed <NotZed@Ximian.com> + + * mail-ops.c (fetch_mail_fetch): Set the default folder when + copying to mbox. This is a quick fix, i might need to do a slight + redesign to clean it up. + +2001-01-23 Jeffrey Stedfast <fejj@ximian.com> + + * mail-send-recv.c (build_dialogue): Make sure the source->url is + not NULL (which is perfectly valid). + (mail_send_receive): Where oh where should my prototype be? + (receive_get_folder): Make sure to ref the folder before you add + it to the hash table. + + * openpgp-utils.c: + * mail-crypto.c: A few minor tweaks. + +2001-01-23 Not Zed <NotZed@Ximian.com> + + * message-list.c (build_tree): Try turning off the BROKEN_ETREE + thing. It seems to work ok (better?) now, but if its still broken + i'll remove it again for the next release. + +2001-01-22 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config-druid.c (set_defaults): Automagically fill in the + user's default transport if he/she has setup previous accounts. + + * mail-format.c (handle_multipart_signed): Just wrote a temp way + of reporting success/fail of PGP/MIME signature verification + status. + +2001-01-22 Iain Holmes <iain@ximian.com> + + * evolution-outlook-importer.c: Outlook Express 4 .mbx importer. + + * component-factory.c (component_factory_init): initialise the + outlook importer. + + * GNOME_Evolution_Mail.oafinfo: Add the details for the Outlook + importer. + +2001-01-22 Dan Winship <danw@ximian.com> + + * mail-mt.[ch]: make mail_gui_thread non-static. + + * main.c (main): Set up signal handler for SEGV, BUS, FPE + (segv_redirect): if a gnome-segv'ing signal is received in + a thread other than mail_gui_thread, re-deliver it to that + thread to work around a problem with the gnome segv handler. + +2001-01-22 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (handle_multipart_signed): Fixed to display + subparts (other than the signature part) and started to write a + pretty way to show if the signature verified or not. + +2001-01-23 Not Zed <NotZed@Ximian.com> + + * mail-crypto.c (pgp_mime_part_verify): Fix a double-free problem. + +2001-01-22 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config-druid.c (incoming_type_changed): Oops, danw didn't + know 'provider' could be NULL :-) + +2001-01-22 Dan Winship <danw@ximian.com> + + * mail-config-druid.c (incoming_type_changed): Change "Path:" + label to "Namespace:" for IMAP. Use $MAILDIR rather than $MAIL for + Maildir. If $MAIL isn't set, guess. + + * component-factory.c (mail_hash_storage): Function to add a + store/storage mapping. + (add_storage): Use it. + + * mail-vfolder.c (vfolder_uri_to_folder): Use the vfolder name + rather than the string "mbox" (which wasn't ever used for + anything) in the vfolder URL. (Combined with the CamelVeeFolder + change, this makes camel_folder_get_name() return a pretty name + for vfolders now.) Call mail_hash_storage() to record the + CamelVeeStore/vfolder_storage mapping. (Ideally, there'd only be a + single CamelVeeStore... this is just a quick hack.) + + vfolders now display their unread count once you've looked at them + once. + +2001-01-22 Dan Winship <danw@ximian.com> + + * mail-tools.h: s/filter-driver.h/camel-filter-driver.h/ and + update first arg of mail_too_filter_get_folder_func + + * mail-tools.c (mail_tool_filter_get_folder_func): Update first + arg to CamelFilterDriver * + + * mail-send-recv.c (receive_status): + * mail-ops.c (send_queue_send): s/FILTER/CAMEL_FILTER/ + + * mail-callbacks.c: Remove filter-driver.h include + + * mail-accounts.c: Put the news functions inside #ifdef + ENABLE_NNTP to prevent warnings about unused statis functions. + + * subscribe-dialog.c (subscribe_folders, unsubscribe_folders, + subscribe_refresh_list): Update prototype to match BONOBO_UI_VERB. + (populate_store_list): add a de-constifying cast + +2001-01-22 Not Zed <NotZed@Ximian.com> + + * .cvsignore: Added temp profiling files. + + * component-factory.c (owner_set_cb): remove a warning with + conditional news compilation. + + * mail-ops.h: Cleaned up the header list. + +2001-01-22 Jeffrey Stedfast <fejj@ximian.com> + + * mail-crypto.c (mail_crypto_is_rfc2015_signed): Helps if I spell + stuff correctly so it can pass the tests ;-) + +2001-01-22 Not Zed <NotZed@Ximian.com> + + * folder-browser-factory.c: Replace the old get_send mail with the + new one (button). + + * mail-ops.c (set_x_mailer): + (mail_load_evolution_rule_context): + (mail_do_fetch_mail): + (mail_do_filter_ondemand): + (mail_send_mail_old): + (mail_do_send_queue): All removed, (for) now lives in mail-send-recv.c. + (load_context): + (setup_filter_driver): + (filter_get_folder): + (mail_filter_folder): + (mail_fetch_mail): + (mail_update_subfolders): + (mail_send_mail): + (mail_send_queue): New equivalents of all these fundtions, moved + from mail-send-recv.c ... + (mail_filter_on_demand): Moved here too. + (mail_load_filter_context): Export this. + + * mail-callbacks.c (apply_filters): Use the new + mail_filter_on_demand() call. + (send_receieve_mail): Use mail_send_receive to do the work. Add a + little error handling here that used to be elsewhere. + (send_queued_mail): Removed. + (fetch_mail): Removed. + (select_first_unread): #ifdef'd this out. Not sure if this still + makes sense, but it doesn't get run right now anyway. + (composer_postpone_cb): Fix the setting of message flags. You + dont need to get them first, ever. + + * mail-send-recv.c (mail_send_message): Dont use + mail_tool_send_via_transport anymore (it does nothing useful). + + * mail-tools.c (mail_tool_camel_lock_up): Turned into a noop. + (mail_tool_camel_lock_down): And here too. + (mail_tool_move_folder_contents): Removed from the code (hasn't + bene used for ages). + (mail_tool_send_via_transport): Removed, it doesn't save anything. + +2001-01-21 Jeffrey Stedfast <fejj@ximian.com> + + * component-factory.c (owner_set_cb): Initialize OpenPGP. + + * openpgp-utils.c (openpgp_init): No longer takes a passphrase + callback, we'll just use the mail-session one. Makes life simpler. + (pgp_get_passphrase): Use mail_session_request_dialog(). + + * mail-ops.c (do_send_queue): Remove the X-Evolution header before + we send. + + * mail-crypto.c (pgp_mime_part_sign): Don't forget to unref the + filters. + (pgp_mime_part_verify): Same. + (pgp_mime_part_encrypt): Same. + (pgp_mime_part_decrypt): Take NotZed's advice and use + camel_stream_mem_new_with_buffer instead of writing to a new + stream_mem. Also use camel_data_wrapper_construct_from_stream + instead of creating a parser and using that. + +2001-01-21 Jeffrey Stedfast <fejj@ximian.com> + + * mail-crypto.c: Updated header comment and fixed some ref/unref + count problems in the various functions. Also fixed some other + little things. + (pgp_mime_part_encrypt): Do some canonical CRLF action before + encrypting. + (pgp_mime_part_sign): Make sure we are the owners of the byte + array. + (pgp_mime_part_verify): Same. + (pgp_mime_part_encrypt): Same. + (pgp_mime_part_decrypt): Same. + +2001-01-21 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c (message_list_get_layout): Added + draw-focus="true" and selection-mode="browse" attributes to the + ETableSpecification. + (message_list_construct): Removed setting the "draw_focus" + argument since it doesn't exist any more. + +2001-01-21 Not Zed <NotZed@Ximian.com> + + * mail-mt.c (mail_msg_new): Init a cancel field in the message. + (mail_msg_free): Free it. + (mail_msg_cancel): New function to attempt to cancel an operation + by id. Impelementation functions can still be uncancellable by + not registering for cancellation, etc, or do it themselves as + well. + + * mail-send-recv.c (fetch_mail_filter_folder): set folder_uid's + properly, so we can save it later. + (filter_folder_filter): Renamed from fetch_mail_filter_folder, + since its going to be used for all filtering. + (mail_fetch_mail): Changed from mail_filter_mail. + (mail_filter_folder): New function, replaces + mail_do_filter_ondemand functionality. + (mail_filter_on_demand): New function, actually replaces + mail_do_filter_ondemand. + (receive_get_folder): Added an exception arg. + (mail_send_message): New function to just send a message. + (send_mail_send): Use mail_send_message. + (send_queue_send): New send qeue code, use mail_send_message, and + clean up some stuff. + (mail_send_receive): Changed from mail_receive. + (build_dialogue): Setup the sending data, as well. + (mail_update_subfolders): New function to update folder info. + (send_mail_send): hook into cancellation if we want. + +2001-01-20 Jeffrey Stedfast <fejj@ximian.com> + + * mail-ops.c (do_send_queue): Strip leading space from the + transport url gotten from the message. + +2001-01-19 Jeffrey Stedfast <fejj@ximian.com> + + * mail-format.c (mail_generate_reply): If the name is empty + string, use the address. + +2001-01-19 Dan Winship <danw@ximian.com> + + * mail-display.c (pixmap_press): Update for e_popup_menu_run + change. + + * folder-browser.c (etable_key): On GDK_Menu (the menu key on + 105-key keyboards), pop up the right-click menu. + (on_right_click): update for e_popup_menu_run change. + + * subscribe-dialog.c (recursive_add_folder): New function to add a + folder and any parents of it that don't yet exist. Fixes bugzilla + #1028. + +2001-01-19 Not Zed <NotZed@Ximian.com> + + * mail-send-recv.c: New swanky send/recieve thingy, well it so far + only receives (pop/mbox). Ignore all the warnings for now, and + the ugly 'button' to run it. + +2001-01-18 Jeffrey Stedfast <fejj@ximian.com> + + * folder-browser-factory.c: Added the next/previous toolbar + buttons. + + * mail-callbacks.c (next_msg): New callback so we can have a next + toolbar button. + (previous_msg): Same but for previous. + +2001-01-17 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-editor.c (construct): Anna's dialog now supports + SSL so we can get rid of the ssl-support checks. Also work around + the fact that Anna's dialog doesn't have an optionmenu for the + transport type, it's a label instead. + (transport_type_init): Cast the transport_type widget to a + GtkOptionMenu where appropriate as the widget that stores it is + now generic. + (apply_changes): Modify code to work with anna's dialog...*sigh* + (ok_clicked): Alert the user that one or more servers failed to + validate and allow him to continue anyway. + +2001-01-17 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config.c (mail_config_set_pgp_path): New config function to + set the path to the pgp binary. + (mail_config_get_pgp_path): Gee I wonder... + (mail_config_set_pgp_type): This one sets the type (ie PGP5, PGP2, + or GnuPG - see openpgp-utils.h for values) + (mail_config_get_pgp_type): Der. + +2001-01-17 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-editor.c (construct): Handle NULL source and, while + we're at it, transport URLs. Apparently camel_url_new() and/or + camel-url_free() don't handle NULL input well. + + * mail-accounts.c (load_accounts): Handle NULL source URLs. + +2001-01-17 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-editor.c (construct): Oops. "url && url->host" + doesn't do much without the '?' and ':' ;-) + +2001-01-17 Ettore Perazzoli <ettore@ximian.com> + + * mail-ops.c (set_x_mailer): New function. + (send_mail_send): Use it. + (do_send_queue): Use it. + +2001-01-17 Martin Norbäck <d95mback@dtek.chalmers.se> + + * openpgp-utils.c (pgp_get_passphrase): Changed the word entry + to enter, which is the correct word to use. + +2001-01-17 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (ask_confirm_for_empty_subject): Update to use + EMessageBox and to record if the user doesn't want to ever see + this dialog again. + + * mail-config.c (mail_config_get_prompt_empty_subject): New config + function. + (mail_config_set_prompt_empty_subject): Another new one. + +2001-01-16 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-editor.c (apply_changes): Modify to be able to + handle a NULL source_url. + (source_auth_init): Allow for a NULL source url. + (source_check): Same. + + * mail-config.c (mail_config_write): Allow for NULL source + URLs. And while we're at it, NULL transport URLs as well. Might as + well save the use_ssl variable too. + (config_read): Same. + + * mail-config-druid.c (druid_finish): Modify to allow a NULL + source url. + (incoming_next): Modify to check for a NULL source and jump to the + transport page if one is encountered (this means the user decided + not to config a source). + (incoming_type_changed): Modify to set all widgets insensitive if + the user selected the "None" source menu item (aka NULL provider). + (incoming_check): Modify to allow the user to go to the next page + when he/she has chosen "None" for their source type. + (mail_config_druid_get_source_url): Return NULL if the provider is + NULL. + (mail_config_druid_get_transport_url): Same. + +2001-01-16 Dan Winship <danw@ximian.com> + + * mail-display.c (on_object_requested): Don't do thumbnails for + offline images + +2001-01-16 Jeffrey Stedfast <fejj@ximian.com> + + * mail-callbacks.c (save_msg_ok): If the user hits "No", then + don't destroy the filesel window. + + * mail-ops.c (save_messages_save): Open with mode 0666 as danw + suggests. + +2001-01-16 Chris Toshok <toshok@helixcode.com> + + * component-factory.c (owner_set_cb): only load the news storage + if ENABLE_NNTP. + + * mail-accounts.c (construct): if !ENABLE_NNTP, remove the news + page from the dialog. + +2001-01-16 Radek Doulik <rodo@helixcode.com> + + * mail-format.c (mail_generate_reply): use + e_msg_composer_mark_text_orig + +2001-01-16 Dan Winship <danw@ximian.com> + + * mail-ops.c (send_mail_send, do_send_queue): Update the X-Mailer + header to use the string specified by configure. + +2001-01-16 Jason Leach <jasonleach@usa.net> + + * subscribe-dialog.c: removed unecessary #inlcude "e-title-bar.h" + +2001-01-16 Jason Leach <jasonleach@usa.net> + + * openpgp-utils.c (pgp_get_passphrase): Fix a string causing + translation problems. Bug #1147. + +2001-01-16 Not Zed <NotZed@Ximian.com> + + * mail-ops.c (mail_do_fetch_mail): Setup a cancellation handle. + (do_fetch_mail): REgister for cancellation here. + (cleanup_fetch_mail): And unregister for cancellation here. + (mail_get_message): Add a cancel handle. + (get_message_get): Register/deregister for cancel. + (get_message_free): & clean up. + + * mail-mt.c (mail_msg_received): Removed debuggng. + + * mail-callbacks.c (stop_threads): Callback for stopping. + + * folder-browser-factory.c: Add a stop button verb thingy. + (control_activate): Disable the stop button by default. + +2001-01-15 Christopher James Lahey <clahey@ximian.com> + + * message-list.c, message-list.h: Change from using filters for + date and size to using e_cell_date and e_cell_size. Moved a bunch + of includes from the message-list.h to the message-list.c. + +2001-01-15 Miguel de Icaza <miguel@ximian.com> + + * mail-callbacks.c (configure_mail): Set the default button to + `Yes' here. + +2001-01-13 Jeffrey Stedfast <fejj@ximian.com> + + * mail-account-editor.c (source_auth_init): If the preferred + authmech isn't found, default to the first one in the list. + (transport_construct_authmenu): This function already did the + above but I made it simpler. + (apply_changes): A number of cleanups. + +2001-01-13 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config-druid.c (druid_finish): Fixed mail_load_storages to + make a mini GSList of the account, not the account->source. Oops. + + * mail-accounts.c (news_delete): Updated to use the remove_news() + function. + + * mail-config.c (mail_config_remove_news): New convenience + function for removing news accounts. + (mail_config_remove_account): Pretty much the same thing. + + * mail-ops.c (do_send_queue): Get the X-Evolution-Transport URL + and use that if it exists, else fall back on the default + transport. + + * mail-callbacks.c (composer_postpone_cb): Set an + X-Evolution-Transport header. + +2001-01-12 Jeffrey Stedfast <fejj@ximian.com> + + * Makefile.am: Removed GPG_* variables. + + * component-factory.c (mail_load_storages): Now takes a + 'is_account_data' variable to specify whether the sources is a + list of accounts of a list of services. Basically, the only time + you should pass in FALSE is when you are setting up NNTP storages. + (add_storage): Now takes a 'name' argument that specifies the name + to use in the storage. + (owner_set_cb): Updated to pass TRUE for accounts and FALSE for + news servers into mail_load_storages. + +2001-01-12 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c: Changed filter_date and filter_size to match the + changes in gal. + +2001-01-12 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config.glade: Anna's dialogs. + + * mail-config.c (mail_config_get_account_by_address): + Removed. Danw and I decided on setting a X-Evolution-Transport + header on messages going to the Outbox so we can later guess which + transport to use when sending it. + + * mail-account-editor.c (apply_changes): Update to some day be + able to support SSL. + (construct): Update for Anna's dialogs... + + * subscribe-dialog.c (populate_store_list): Updated to reflect + past changes to the mail-config API. + +2001-01-12 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-callbacks.c (composer_send_cb): Get the account by using + the new e_msg_composer_get_preferred_account() function. Also + check to make sure everything is configured (in case they deleted + their accounts while composing mail?). + + * mail-config.c (mail_config_get_account_by_address): New + convenience function. + +2001-01-12 Ettore Perazzoli <ettore@helixcode.com> + + * component-factory.c (component_fn): Pass NULL as the + @copy_folder_fn arg to `evolution_shell_component_new()'. + + * folder-browser.c (on_right_click): Removed hide menu. It + belongs to the view menu now. + +2001-01-12 Miguel de Icaza <miguel@ximian.com> + + * message-list.c: Add strings for localization + + * folder-browser.c: Rename "Save" to "Store search as vFolder". + +2001-01-11 Miguel de Icaza <miguel@gnu.org> + + * mail-display.c (on_object_requested): Unref the property bag + when we are done with it. + (get_embedded_for_component): Moved the code to request the + embeddable/control to a separate function. + +2001-01-12 Jeffrey Stedfast <fejj@ximian.com> + + * mail-config.c (mail_config_get_account_by_name): New convenience + function that I will need later when I redo the composer From + field. + + * mail-display.c (on_object_requested): Update to reflect past + changes to the mail-config API. + + * session.c (mail_session_set_password): strdup() the key. + + * mail-config-druid.c (construct): We don't want to be able to set + the reply-to in the config druid. + (druid_finish): Don't set a reply-to anymore. + (mail_config_druid_finalise): Don't unref the providers. + + * mail-config.glade: Took out the Reply-To field in the druid. + +2001-01-11 Miguel de Icaza <miguel@gnu.org> + + * mail-config-druid.c (incoming_type_changed): Guess the default + MAIL value for MBOX and Maildir files. + + * mail-callbacks.c (configure_mail): Force finalization of the + function before returning fixing the FIXME that was there. + +2001-01-11 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-config-druid.c (transport_next): If the service_check + fails, pop-up a warning dialog letting the user know he or she may + have problems and then let them continue on with their lives. + (incoming_next): Same (+ jump them over the auth page to the + transport page). + + * mail-account-editor.c (apply_changes): Eek! Don't destroy the + account if the connection fails, duh. This is what is causing the + segfaults. + +2001-01-11 Dan Winship <danw@ximian.com> + + * folder-browser.c (got_folder): Connect to folder_changed as well + as message_changed for updating unread count + +2001-01-10 Miguel de Icaza <miguel@helixcode.com> + + * GNOME_Evolution_Mail.oafinfo: Add Bonobo/ItemContainer as the + set of supported interfaces in GNOME_Evolution_Mail_Composer + component. + +2001-01-11 Dan Winship <danw@ximian.com> + + * mail-format.c (write_field_to_stream): Translate the header name + to UTF8. + +2001-01-10 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-callbacks.c (configure_mail): New function that explains to + the user why he can't do the action he requested and then procedes + to ask if he'd like to configure his accounts now. + (check_send_configuration): If the user doesn't have configured + accounts, don't let him continue and call configure_mail(). + (fetch_mail): Same. + (send_queued_mail): Same. + (send_receieve_mail): Same. + + * mail-config.c (mail_config_write): Don't save a "is_configured" + variable. Instead we'll just check to see if we have accounts - if + yes, then configured == TRUE. + (mail_config_is_configured): return accounts != NULL. + (mail_config_get_default_account): Mark the first account as the + default if none are marked. + +2001-01-10 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-account-editor.c (source_auth_type_changed): Set the + sensitivity of the Password label too. + + * mail-config-druid.c (transport_back): New callback to handle + when the user hits the "back" button when on the transport + page. This is needed to handle the case where we don't want to + show the user the auth page (due to there being no auth choices). + (incoming_next): If we are going to skip over the auth page, set + the 'have_auth_page' variable to FALSE. + (construct): Initialize the have_auth_page to TRUE. + +2001-01-10 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-config-druid.c (incoming_type_changed): Grab the focus of + the first widget that is sensitive. + (transport_type_changed): Same. + (identity_prepare): Grab the focus of the name entry. + + * mail-callbacks.c (send_queued_mail): Prevent Federico's segfault. + +2001-01-10 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-config-druid.c (auth_type_changed): Clear the password + entry if it's not allowed. + (transport_type_changed): Clear the hostname if it is not allowed + by the provider type. + + * mail-account-editor.c (transport_type_changed): If the hostname + is allowed, clear it. + + * mail-config-druid.c (incoming_type_changed): Clear the contents + of the entry boxes that are not to be used. + (mail_config_druid_get_source_url): If the text in the entry is + emptry string, don't set it' contents in the url. + +2001-01-10 Miguel de Icaza <miguel@helixcode.com> + + * mail-callbacks.c (print_msg): Fix proto. + (print_preview_msg): Fix proto. + + * subscribe-dialog.c: Remove more UNSAFE macros. + +2001-01-09 Jason Leach <jasonleach@usa.net> + + * mail-display.c (pixmap_press): Bugfix for #1077: scrollwheel + doesn't work while hovering over an attachment icon. + +2001-01-09 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-config-druid.glade: Moved to mail-config.glade + + * mail-accounts.c (construct): Updated to use mail-config.glade. + + * mail-account-editor.c (construct): Updated to use + mail-config.glade. + + * mail-config-druid.c (construct): Updated to use + mail-config.glade. + + * mail.h: Added the new mail config headers. + +2001-01-09 Dan Winship <danw@helixcode.com> + + * mail-local.c (local_folder_changed_proxy): Change + mail_op_forward_event to mail_proxy_event. + +2001-01-09 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-ops.c (save_messages_save): Let the system umask determine + the permissions of this file. + + * mail-config-druid.c (incoming_type_changed): Gray out the + appropriate labels too. + (auth_type_changed): And here. + (transport_type_changed): Here too... + + * mail-account-editor.c (source_check): Gray out the appropriate + labels too. + (transport_type_changed): And here too. + +2001-01-09 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-account-editor.c: For all optionmenu's, set the appropriate + 'history'. + (keep_mail_check): Set the keep-on-server checkbutton sensitivity + based on whether or not the store is a storage or not. + (construct): Call keep_mail_check(). + + * mail-config-druid.c (incoming_type_changed): Set the + keep-on-server checkbutton sensitivity based on whether or not the + store is a storage or not. + + * mail-accounts.c (construct): Make sure the dialog isn't a + scrunched little thingy. + +2001-01-09 Dan Winship <danw@helixcode.com> + + * Makefile.am (evolution_mail_LDFLAGS): Add -export-dynamic, so + libglade can resolve evolution-mail symbols. + +2001-01-09 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-format.c: Updated. + (decode_pgp): Get rid of #ifdef PGP_PROGRAM's and handle + appropriately. + (handle_multipart_signed): Same. + (handle_multipart_encrypted): Same. + + * Makefile.am: Added openpgp-utils.[c,h] to the build. + + * openpgp-utils.c: New source file containing all of the pgp + interface code. + + * mail-crypto.c: Removed all of the openpgp funtions as they are + being moved to a new file. + (mail_crypto_is_rfc2015_signed): Renamed. + (mail_crypto_is_rfc2015_encrypted): Renamed. + +2001-01-09 Jeffrey Stedfast <fejj@helixcode.com> + + * session.c (mail_session_set_password): New function to set the + password for a given url. + + * mail-config-druid.c (druid_finish): Don't save the password in + the source url, instead insert it into the save-password hash. + (mail_config_druid_get_source_url): Check to make sure the + authmech isn't "", if it is then don't set the authmech. + + * mail-account-editor.c (apply_changes): Don't save the password + in the source url, instead insert it into the save-password + hash. Also check to make sure we don't set an empty string as the + authmech for the source or transport. + + * mail-accounts.c (mail_default): After reloading the accounts, + reselect the previously selected account. + (mail_delete): Same. + + * mail-config-druid.c (druid_cancel): Fixed segfault bug. + +2001-01-09 Radek Doulik <rodo@helixcode.com> + + * mail-format.c (write_headers): remove </center><p> + (handle_text_plain): add <font size=\"-3\"> </font><br> before + msg text + (handle_text_plain_flowed): ditto + +2001-01-09 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-accounts.c (mail_default): Write the config data and reload + the accounts list so the "default" tag is relocated. + (mail_delete): Write the config data here too. + +2001-01-08 Jeffrey Stedfast <fejj@helixcode.com> + + * Makefile.am: + * component-factory.c: + * folder-browser-factory.c: + * folder-browser.c: + * mail-accounts.[c,h]: + * mail-account-editor.[c,h]: + * mail-callbacks.c: + * mail-config.[c,h]: + * mail-config-druid.[c,h]: + * mail-config-druid.glade: + * mail-display.c: + * mail-format.c: + * mail-tools.c: Brand spankin' new config druid, editor, + and manager. + +2001-01-08 Dan Winship <danw@helixcode.com> + + * mail-ops.c: Add an #include <errno.h> + +2001-01-08 Jeffrey Stedfast <fejj@helixcode.com> + + * Makefile.am: + * component-factory.c: + * folder-browser-factory.c: + * folder-browser.c: + * mail-callbacks.c: + * mail-config.[c,h]: + * mail-display.c: + * mail-format.c: + * mail-tools.c: Reverted mail-config changes temporarily until + I get it working correctly. + +2001-01-08 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-config-druid.c: More lovely fixes... + + * mail-callbacks.c: Don't segfault if a default account doesn't + exist. + +2001-01-08 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-config-druid.c: A bunch of fixes. + + * mail-accounts.c: More fixes... + + * mail-account-editor.c (construct): Reparent the notebook to the + editor->vbox and set the resize policy. + +2001-01-07 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-callbacks.c (providers_config): Use a + gnome_dialog_run_and_close(). + + * mail-accounts.c (construct): Reparent the notebook to the + dialog->vbox not to the dialog itself. Also set the resize policy + to allow the user to stretch it. + +2001-01-07 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-tools.c (mail_tool_quote_message): Updated to reflect + changes to the mail-config API. + + * mail-display.c (redisplay): Updated to reflect changes to the + mail-config API. + + * mail-callbacks.c (providers_config): Use the new account dialog. + + * mail-config-druid.c (druid_finish): Load the new storage into + the shell. + (mail_config_druid_new): Take a shell argument. + + * mail-format.c (mail_generate_reply): Updated to reflect changes + to the mail-config API. + + * mail-config-druid.c: Fixed this to build. + + * mail-callbacks.c (check_send_configuration): Updated to reflect + changes to the mail-config API. + (create_msg_composer): Same. + (forward_get_composer): Same. + (send_queued_mail): Same. + (composer_send_cb): Same. + + * mail-account-editor.c: Updated to build cleanly. * + mail-config-druid.c: Same. * mail-accounts.c: Same. + + * folder-browser-factory.c (control_activate): Updated for API + changes in mail-config. + + * folder-browser.c (done_message_selected): Updated for API + changed in mail-config. + (folder_browser_gui_init): Same. + (got_folder): Same. + + * component-factory.c (owner_set_cb): After using the sources + list, free it as it is no longer a const GSList as with the older + mail-config code. + + * mail-config.c: Totally rewritten. + +2001-01-07 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-accounts.c (mail_edit): Implemented. + + * mail-account-editor.c (apply_clicked): Implemented. + (ok_clicked): Implemented. + (cancel_clicked): Implemented. + (source_auth_type_changed): Implemented. + (source_auth_init): Implemented. + (transport_construct_authmenu): Implemented. + (transport_type_changed): Updated to change regenerate the auth + option menu. + (construct): Attached callbacks to OK, Apply and Cancel buttons. + + * mail-account-editor.c (source_auth_init): Use the new + mail_config_check_service(). + + * mail-config-druid.c: Remove check_service() as it will be moved + into mail-config. + +2001-01-06 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c (message_list_select): Made it so that going to + the next or previous message in the list will at least move one + message, even if the current message matches the query. This + makes 'n' go to the next unread message, even if the current + message is unread. + +2001-01-06 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-account-editor.c: Coded a bunch of the methods. + +2001-01-04 Iain Holmes <iain@helixcode.com> + + * mail-summary.c (idle_check): Check if the HTML for the current + summary has been created, and if not then keep trying until it + has. + (new_folder_cb) + (removed_folder_cb) + (create_summary_view): Use the idle_check function to generate the + summary. + (create_summary_view): Don't set the HTML here. Set it via the + pipe. + +2001-01-05 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-account-editor.[c,h]: New source files to provide an + account editor widget. + + * mail-config-druid.c (auth_type_changed): Set the authproto on + the druid so we can look it up later. + +2001-01-05 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-accounts.c (mail_add): Since the druid now handles adding + the new account to the config, we'll just connect to the destroy + event and show the druid. + (mail_add_finished): Just reload the account list here. + + * mail-config-druid.c (druid_finish): New callback to handle the + "finish" signal. On second thought, it seems it would be best for + the finish callback to be here rather than in mail-accounts.c. + + * mail-accounts.[c,h]: Added. Contains source for the Account manager + window. And just like mail-config-druid.c, it's not yet complete. + + * mail-config-druid.c (mail_config_druid_get_incoming_keep_mail): + Renamed from _delete_mail + (mail_config_druid_get_transport_url): New convenience function + that replaces the get_hostname, get_protocol, etc. + (mail_config_druid_get_source_url): Same. + + * mail-config-druid.glade: Changed "Delete mail from server" to + "Keep mail on server" as this has a more positive ring to it. Both + I and Aaron agree this is the better phrase. + +2001-01-04 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-config-druid.c: Fixed a few 'Oops'es. + + * mail-config-druid.glade: Added a "Default" button for marking an + account as the default. + +2001-01-04 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-config-druid.glade: Updated. What else can I say? + +2001-01-04 Dan Winship <danw@helixcode.com> + + * folder-browser.c (got_folder): Connect to "message_changed" on + the folder if it's on a remote storage. + (update_unread_count): Update the folder unread count / highlight + in the shell when the unread message count changes + +2001-01-04 Not Zed <NotZed@HelixCode.com> + + * mail-ops.c (mail_do_send_mail): Removed old implementation. + + * folder-browser.c (do_message_selected): If we haven't got a real + uid, then clear the display instead. + + * message-list.c (message_list_drag_data_get): Use new save + message function, and also wait for it to finish before + continuing. + (folder_changed): + (message_changed): Use mail_proxy_event instead of + mail_do_forward. + (mail_regen_list): New iplementation to replace the old. + : remove <gnome.h> from headers. Dont define timeit by default. + (main_folder_changed): + (message_list_set_folder): + (message_list_set_threaded): + (message_list_set_search): + (message_list_hide_add): + (message_list_hide_uids): + (message_list_hide_clear): Use mail_regen_list instead of + mail_do_regenerate_messagelist. + (mail_do_regenerate_messagelist): Removed the old stuff. No + functionality changed yet, just using different thread stuff. + + * mail-callbacks.c (save_msg_ok): Use new save message function. + + * component-factory.c (create_view): + (add_storage): Use mail_scan_subfolders to build the folder info. + (create_folder): Use new implementation with our own callback. + (owner_set_cb): Changed b ack to use mail_get_folder, but now wait + for it to finish. This will let any gui still run, but also gives + us the required synchronous operation. + (got_folder): Callback for when the folder has been opened. + + * mail-ops.c (mail_get_folderinfo): New function to just get the + folder info in another thread. + (mail_scan_subfolders): New scan subfolder implementation that + uses mail_get_folderinfo. + (mail_do_scan_subfolders): Removed old implementation. + (mail_create_folder): Nerw implementation to create a folder, only. + (mail_do_create_folder): Removed old implementation. + (mail_save_messages): New implementation, fixes a couple of minor + problems, and now provides a return so it can be waited on. Also + check that the writes worked, etc. + (mail_do_save_messages): Remove previous implementation. + (mail_do_flag_messages): Removed, nothing uses it. + (mail_do_flag_messages): Removed, nothing uses it anymore. + (mail_get_folder): REturn the operation id, so callers can wait + for it. + (sync_folder_desc): + (expunge_folder_desc): Add describe functions so we know what its + doing. + (mail_send_mail): More generic implementation of sending mail. + + * mail-mt.c (mail_msg_new): Lock around seq increment. And insert + each new message into a hash table of active messages. + (mail_msg_init): Init the active message table. + (mail_msg_free): Remove the message from the active message table. + (mail_msg_wait): New function, waits for a message to be + processed, by id. + (mail_msg_check_error): Dont display the error if it is a + user-cancelled operation. + (mail_proxy_event): new implementation of mail_op_forward_event. + Only real difference is it uses the new thread stuff, and you can + wait for it to finish if you want. + (mail_proxy_event): If we're already in the main thread, just call + the function. + +2001-01-03 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-config-druid.c: New source file that implements + mail-config-druid. Note: this is not yet complete. + +2001-01-03 Not Zed <NotZed@HelixCode.com> + + * mail-view.c (view_forward_msg): Call + mail-callbacks.c:forward_messages(), so the behaviour is the same + as from the folder browser. + + * mail-callbacks.c (forward_messages): New function to forward + messages, attached or not. + (forward_inlined): Changed to use new forward-messages + implementation. + (forward_attached): Likewise. + (do_forward_attach): Callback for forwarding as attachment, once + we have built it. + (do_forward_inline): Likewise, for inline, once we have retrieved + the message. + (forward_message): Removed. + + * mail-ops.c (mail_build_attachment): New function to build an + attachment of messages. + (mail_do_attach_message): Removed, functionality superceeded by + above. + (mail_do_forward_message): Removed. Likewise. + (mail_create_folder): Started work on an alternative + implementation of create_folder, but not sure about it yet. + + * mail-tools.c (mail_tool_generate_forward_subject): Remove locking. + (mail_tool_make_message_attachment): Free the description when done. + +2001-01-03 Radek Doulik <rodo@helixcode.com> + + * mail-format.c (write_headers): add font color setting for table, + changed border behavior + + * mail-display.c (redisplay): don't set body bg and text color + +2001-01-02 Not Zed <NotZed@HelixCode.com> + + * mail-callbacks.c (view_msg): Fix for mail_get_message change, + use queue thread. + + * folder-browser.c (done_message_selected): Fix mail_Get_message + calls, use new thread. + (do_message_selected): " + + * mail-ops.c (mail_get_message): Add a thread argument so callers + can specify which queue it executes on. + + * mail-mt.c (mail_msg_free): Fix a free order problem. + (mail_msg_destroy): Call mail_msg_free to do the work. + (mail_msgport_replied): " + (mail_msgport_replied): Check/display errors if we get them. + (mail_msgport_received): If we have a describe function, say what + we're doing, also set busy/unbusy. + (mail_msgport_replied): Clear busy when we get a reply. + (mail_get_password): Unset busy. + (mail_msg_received): Set busy as we go. + (mail_msg_destroy): Unset busy when done. + (mail_status): Blah blah, new status interface, the other wans't + workable with the way the shell api works. + +2000-12-29 Not Zed <NotZed@HelixCode.com> + + * folder-browser.c (do_message_selected): If we are reconfiguring, + just keep polling till we are done (yeah kinda shitty, but easy). + (folder_browser_set_uri): Clear reconfigure flag here. ick. + (got_folder): And here too. + (on_right_click): Remove locking. + (hide_sender): and here too. + (hide_subject): And here. + (on_right_click): If we are in reconfigure, then the whole menu is disabled. + + * mail-mt.c (status_busy_timeout): Clear the status_busy_timeout_id. + + * mail-local.c (local_storage_new_folder_cb): Made getting folders + completely synchronous. The shell expects it, and it was only + synchronous before by a sideeffect. + (do_reconfigure_folder): Remove locking stuff. + (do_reconfigure_folder): Use our own much simpler copying routine + than that stupid move_folder_contents thing. + (update_progress): Use mail_status_message() instead. + (do_reconfigure_folder): Set the reconfigure flag during + reconfigure & set busy flag. + (cleanup_reconfigure_folder): clear busy flag. + + * mail-tools.c (mail_tool_uri_to_folder): Remove the tool_lock + stuff. + (mail_tool_uri_to_folder_noex): Clear exception on exit. + (mail_tool_move_folder_contents): Get rid of this really stupid + function that is only used in one place. + + * component-factory.c (owner_set_cb): Use direct calls to get the + folders, as this code must run synchronous. Remove the event wait + stuff. + + * mail-callbacks.c (edit_msg): Call mail_get_messages, and create + the composers ourself. + (do_edit_messages): get_messages callback, create the composers + and connect to signals we need. + (view_msg): Dont call do_view_messages, just call + mail_get_messge for each to get them in parallel. + (do_view_message): view a single message. + + * mail-ops.c (mail_edit_messages): Just use mail_get_messages + for this operation. Removed the other async operation stuff. + Changed my mind, just removed entirely. + (mail_do_view_messages): Removed. + (mail_do_setup_folder): Removed. + (mail_do_scan_subfolders): Make this run synchronously, as every + caller expects it to (even if they didn't realise). + +2000-12-28 Not Zed <NotZed@HelixCode.com> + + * mail-callbacks.c (send_queued_mail): Dont expunge the folder + here, but in send_queue, otherwise it might execute out of order. + (expunge_folder): Remove the talbe prechange stuff, and infact + references to the message_list folder, as we have our own folder. + Also, dont allow expunge if we're already expunging. + (expunged_folder): Clkear the expunging flag if we're finished. + + * folder-browser-factory.c (control_deactivate): Likewise here. + Hrm, i thought this function required a callback, silly me. + + * mail-tools.c (mail_tool_make_message_attachment): Remov e + locking. + + * folder-browser.c (on_message_selected): Use a timeout handler so + we dont select immediately. + (folder_browser_set_uri): Changed to use mail_get_folder. + (got_folder): New callback called when get_folder is finished. + (folder_browser_destroy): Use new sync interface. + + * mail-ops.c (mail_get_message): New function to asynchrounously + get a message. + : #define out mail_tool_camel_lock stuff entirely. + (mail_get_folder): New function to asynchrounously get a folder. + (mail_do_load_folder): Removed, replaced by more generic function + above. + (mail_do_display_message): Removed, replaced by the more generic + funciton get_message. + (mail_get_messages): New function to get a list of messages + asynchronously. + (mail_sync_folder): New interface to sync a folder async. + (mail_expunge_folder): New interface for expunging folder, with + callback. + (do_send_queue): Remove lock stuff, and expunge if (and only if) + successful, also sync the sent folder while we're at it. + + * session.c (mail_session_request_dialog): Changed to use new + mail_get_password call. + + * mail-mt.[ch]: New threading/interthread messaging framework. + + * main.c (main): Init the message/thread system. + +2001-01-02 Dan Winship <danw@helixcode.com> + + * mail-format.c (mail_part_is_inline): + (find_preferred_alternative): + * mail-display.c (launch_cb): Use header_content_type_simple, not + header_content_type_format. + +2000-12-26 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-crypto.c (mail_crypto_openpgp_verify): Implemented. + +2000-12-23 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-ops.c (mail_do_setup_trash): New function similar to + mail_do_setup_folder() except that this creates the Trash VFolder + (special-case). + +2000-12-21 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-ops.c (do_send_mail): Don't free info inside the last + if-statement, if sent_folder doesn't exist we'll have a memory + leak. Instead free it afterward. + +2000-12-29 Dan Winship <danw@helixcode.com> + + * mail-crypto.c: Oops. Update this for CamelContentType stuff too. + +2000-12-28 Dan Winship <danw@helixcode.com> + + * mail-format.c (mail_part_is_inline, mail_get_message_body): Use + CamelContentType, and use header_content_type_is instead of doing + it by hand. + + (handle_text_plain): + (handle_multipart_related): + (find_preferred_alternative): + (handle_message_external_body): Use CamelContentType and + header_content_type_* functions instead of GMimeContentField. + + * mail-display.c (write_data_to_file, launch_cb): Use + CamelContentType and header_content_type_* functions instead of + GMimeContentField. + +2000-12-26 Iain Holmes <iain@helixcode.com> + + * mail-display.c (mail_display_init): Initialise the thumbnail cache. + (mail_display_destroy): Free the cache. + (pixbuf_gen_idle): Check the cache for a pixbuf, add the pixbuf to the + cache if it's not there. + +2000-12-26 Iain Holmes <iain@helixcode.com> + + * mail-summary.c (create_summary_view): Create a shared + BonoboEventSource object and use it for all the objects that + aggregate Bonobo::EventSource. + +2000-12-27 Dan Winship <danw@helixcode.com> + + * subscribe-dialog.c (setup_subscribe_folder): Use info->name, not + input->full_name. Fixes #1029 in bugzilla.helixcode.com. + ({setup,do,cleanup}_subscribe_folder): Update previous fix: Jeff + had changed it to use ->full_name instead of ->name because that's + what camel_store_subscribe_folder needed. So we need to have + *both* names available, one for Camel, one for the shell. + +2000-12-24 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c (filter_date): Changed this to format times in 12 + hour time instead of 24 hour time. + +2000-12-24 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c (filter_date): Changed this to do different + formatting of dates within the last week. + +2000-12-24 Not Zed <NotZed@HelixCode.com> + + * Merge from camel-mt-branch. + +2000-12-23 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c (filter_date): Changed this to do different + formatting of dates based on the current time. + +2000-12-23 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c (message_list_get_layout): Added titles to the + pixbuf columns. + +2000-12-21 Iain Holmes <iain@helixcode.com> + + * mail-summary.c: Added code to detect and regenerate the summary + when a new vfolder is created or removed. + + * mail-vfolder.c: Export the vfolder_storage variable, so that + the summary can add a listener to it. + +2000-12-05 Iain Holmes <iain@helixcode.com> + + * component-factory.c (factory_destroy): Wait till all views have + gone and then destroy both factories. + +2000-12-21 Dan Winship <danw@helixcode.com> + + * mail-display.c (pixbuf_for_mime_type): Deal with the possibility + that we have an icon-filename listed for a MIME type, but the icon + file doesn't actually exist. Also, if gnome-unknown.png can't be + found, fall back. Might fix a crash people have been reporting... + +2000-12-18 Chris Toshok <toshok@helixcode.com> + + * mail-format.c (handle_multipart_encrypted): for now #ifdef + PGP_PROGRAM falling back to handle_multipart_mixed. + (handle_multipart_signed): same. + +2000-12-18 Dan Winship <danw@helixcode.com> + + * message-list.c (hide_save_state): Unlock camel when done to + prevent a hang later. + +2000-12-18 Miguel de Icaza <miguel@helixcode.com> + + * mail-tools.c (mail_tool_move_folder_contents): Only update + display every 2 seconds. + + * mail-ops.c (do_view_messages): Only update display every 2 seconds. + +2000-12-23 Not Zed <NotZed@HelixCode.com> + + * message-list.h (MessageList): Add a specific hide data lock. + + * message-list.c (message_list_drag_data_get): Do not use + cursor_uid, but get all currentlys elected messages directly off + the message-list. + (message_list_destroy): Removed mail_tool_camel_lock stuff. + (on_click): " + (message_list_hide_add, message_list_hide_uids, hide_load_state, + hide_save_state, message_list_hide_clear): ", but use a specfic + lock for the hide data. + (do_regenerate_messagelist): remove mail_tool_camel_lock stuff, + add hide_lock where required. + (message_list_init): Setup the hide_lock. + (message_list_destroy): Free the hide_lock. + +2000-12-22 Not Zed <NotZed@HelixCode.com> + + * mail-ops.c (mail_do_sync_folder): Run sync in different thread + each time. Just a quick litlte hack to check multithreading. + There are now few operations that single-queue. Need to work out + a way to make the allocation of threads & resources easier, so we + dont get overwhelmed with threads, but we dont block when we dont + have to, either. + + * message-list.c (main_folder_changed): If we have only changed + events, then process them directly. + (mail_do_regenerate_messagelist): Run regenerate in a new thread + each time, another quick hack to check mutlithreading. + + * mail-view.c (view_delete_msg): Call camel folder set message + flags directly. mail_do_set_message_flags() is now completely + unused. + + * folder-browser.c (mark_msg_seen): Call camel folder + set_message_flags directly. + + * mail-callbacks.c (flag_messages): New function, that just sets + flags of all selected messages, without all that messy thread + stuff (setting flags is in-memory). + (mark_as_seen): Use flag_messages(). + (mark_as_unseen): " + (undelete_msg): " + (delete_msg): " + +2000-12-20 Not Zed <NotZed@HelixCode.com> + + * message-list.c (message_list_select): Free messageinfo lookups. + (message_list_drag_data_get): " + (subtree_unread): " + (subtree_size): " + (subtree_earliest): " + (ml_tree_value_at): " Also, keep the message info around in a + static variable, and ref'd, so that any internal references we + have to it dont vanish while we're not looking. This has a couple + of problems ... esp since we never unref the last access, although + camel-folder-summary wont check this when its unref'd, so we're + 'safe'. + (save_node_state): free messageinfo lookups. + (on_click): " + (get_message_info): deconstify return. + + * mail-tools.c (mail_tool_move_folder_contents): Free messageinfo + lookups. + + * mail-ops.c (do_filter_ondemand): Free messageinfo lookups. + (do_flag_messages): " + (do_fetch_mail): Remove mail_tool_lock stuff. + (mail_operation_run): Quick hack to run an operation + asynchrounously, in a brand-new thread. + + * folder-browser.c (on_right_click): Free messageinfo lookups. + +2000-12-16 Not Zed <NotZed@HelixCode.com> + + * message-list.c (build_tree): Always use the slow (full-update) + version of the tree update code, to get around a bug(?) in etree. + (build_flat): Likewise. + +2000-12-15 Not Zed <NotZed@HelixCode.com> + + * mail-display.c (write_data_to_file): Dont blindly convert all + parts to utf8, e.g. image/jpg. We only convert text/* parts, and + only then if required. + +2000-12-14 Not Zed <NotZed@HelixCode.com> + + * component-factory.c (create_view): cast over a warning. + + * folder-browser-factory.c: Add verbs for hide functions. + + * message-list.c (message_list_hide_clear): + (message_list_hide_uids): + (message_list_hide_add): Some api renaming. + (message_list_hide_add): Allow ML_HIDE_SAME to be passed to mean + not to change the upper/lower range at all. + (hide_save_state): Save the state of the hide list to stable + storage. + (hide_load_state): Load the state of hte hide list. + (message_list_set_folder): Load/save the state of the folder if it + is changed/set. + (message_list_destroy): Save the state of the folder hide list + when done. + (save_tree_state): If we wrote out an empty state file, simply + remove it instead. + + * folder-browser.c (on_right_click): Add some hide menus. + (hide_read): Hide read messages. + (hide_deleted): Hide deleted messages. + (hide_selected): Hide selected/current message. + (hide_none): Show all hidden messages. + (on_right_click): Lock around accesses to the message (inside + mlist_detect_magic). + (on_right_click): Free the mailing list name. + +2000-12-13 Not Zed <NotZed@HelixCode.com> + + * folder-browser.c (on_right_click): Add camel locking since we + call it directly. Whoever heard of a lock you 'down' to unlock? + + * message-list.c (mail_do_regenerate_messagelist): Added hide + expression, messages to hide. Fixed all callers. + (do_regenerate_messagelist): IF we have a hide expression, search + and remove those from the uid list. If we have a hide range, + apply that afterwards. + (cleanup_regenerate_messagelist): Handle freeing the hide uid + temporary data, if required. + (message_list_destroy): Free hide data, also lock around all camel + object stuff. + (message_list_length): New function to get the number of messages + avaialble to be hidden by range. + (message_list_set_hide): Set the hide expression and range. + Issue: Should hiding be remembered? + (message_list_unhide_all): Turn off all hiding. + (message_list_hide_uids): Hide a list of uid's. + +2000-12-15 Dan Winship <danw@helixcode.com> + + * subscribe-dialog.c (folder_toggle_cb): Update this for the new + signal handler prototype. Fixes the crash on double-click. + +2000-12-15 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-format.c (handle_multipart_signed): New callback to handle + multipart/signed parts. + (decode_pgp): Update to account for the cipherlen argument needed + for openpgp_decrypt. + (is_rfc2015): Removed as we now have a better version in + mail-crypto. + (handle_multipart_encrypted): Updated to use the PGP/MIME utility + functions. + + * mail-crypto.c (mail_crypto_openpgp_decrypt): Don't check + (!*plaintext) as it could be a binary stream. Now also takes a + cipherlen argument. + (mail_crypto_openpgp_sign): New function. + (pgp_mime_part_sign): New function to replace a mime part with the + pgp signed equivalent. + (pgp_mime_part_encrypt): New function to replace a mime part with + the pgp encrypted equivalent. + (pgp_mime_part_decrypt): New function to decrypt a pgp encrypted + mime part (like from pgp_mime_part_encrypt) and replace it. + (is_rfc2015_signed): New function to determine if a mime part is + an rfc2015 signed part. + (is_rfc2015_encrypted): New function to determine if a mime part + is an rfc2015 encrypted part. + (mail_crypto_openpgp_verify): New openpgp function to verify a + signature. + +2000-12-14 Christopher James Lahey <clahey@helixcode.com> + + * mail-threads.c (update_active_views): Unref the iterator when + we're done with it. + +2000-12-14 Larry Ewing <lewing@helixcode.com> + + * mail-display.c (mail_display_new): call + gtk_html_set_default_content_type to make gkthtml default to utf-8 + when parsing. This requires gtkhtml >= the released 0.8. + +2000-12-14 Ettore Perazzoli <ettore@helixcode.com> + + * mail-threads.c (read_msg): Call `ui_set_busy()' before + `ui_set_message()' so that we are sure that the + set_busy/unset_busy calls always happen in order. + +2000-12-13 Christopher James Lahey <clahey@helixcode.com> + + * folder-browser.c (my_folder_browser_init): Made the vertical + scrollbar always be there. + + * message-list.c (message_list_get_layout): Changed the minimum + width of some of the pixmap column headers. + +2000-12-12 Christopher James Lahey <clahey@helixcode.com> + + * component-factory.c (create_view): Added a cast. + + * mail-summary.c: Added #include "mail-summary.h". Commented out + folder_free, summary_free, and view_destroy_cb since they're not + used. + (do_changed): Added a cast. + (create_summary_view): Changed some types so that casting would be + easier. + + * session.c (mail_session_remember_password): Added a cast. + +2000-12-12 Dan Winship <danw@helixcode.com> + + * mail-summary.h: Fix to use the right .h instead of the + deprecated one. + +2000-12-12 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-callbacks.c (forward_message): Attach a signature when + forwarding, fixes bug #826. + +2000-12-11 Dan Winship <danw@helixcode.com> + + * session.c (mail_session_enable_interaction): New function to + tell the code that it's ok (or not) to interact with the user when + trying to authenticate to a service. Starts out turned off. + (mail_session_request_dialog): If interaction is disabled, fail if + the password isn't in the cache. + + * component-factory.c (owner_set_cb): Call + mail_session_enable_interaction() after everything else. (This + means that the IMAP password dialog will no longer pop up [under + the splash screen] at startup.) + +2000-12-11 Dan Winship <danw@helixcode.com> + + * component-factory.c (create_view): Deal with "mailstorage" type + views (top-level mail storages) by trying to fill the storage's + folder tree again if we failed before. + (add_storage): Create new storages with a URI and type + "mailstorage". + + * mail-ops.c (cleanup_scan_subfolders): On success, mark the + storage as having been loaded, so create_view won't try again. + +2000-12-11 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-format.c (decode_pgp): Updated to reflect arguments to the + openpgp functions - now also takes an outlen argument. + (try_inline_pgp): Updated. + (handle_multipart_encrypted): Updated here too. + + * mail-crypto.c (crypto_exec_with_passwd): Updated to handle + binary streams and such. + (mail_crypto_openpgp_encrypt): Always initialize the passwd_fds + even if we don't plan on signing. Added an 'inlen' to specify the + length of the input data (as it could be binary). Also added a + 'userid' argument for cases when we want to sign as well as + encrypt. + (mail_crypto_openpgp_decrypt): Updated to take an outlen argument + in case the ciphertext is encrypted binary data. + (mail_crypto_openpgp_clearsign): Added a 'hash' and 'detach' + arguments. 'hash' allows the program to specify the preferred hash + function (which will come in handy when generating + PGP/MIME). 'detach' allows the program to specify whether it wants + a detached signature or the entire signed text. + +2000-12-11 Dan Winship <danw@helixcode.com> + + * message-list.c: Remove the never-once-used BonoboObject stuff + and make MessageList be a GtkWidget instead. Also, keep track of + the ETable directly rather than repeatedly calling + e_table_scrolled_get_table. + + * folder-browser.c (folder_browser_destroy): Use gtk methods + rather than bonobo methods to destroy the message list. + (on_right_click, on_double_click): These are being attached to the + ETable directly now, so fix the first argument (which isn't being + used anyway, but...). Ignore double-clicks on "active" columns + (the ones where clicking does something beyond "select"), fixing + bug #811, which is what got me started on this to begin with... + (folder_browser_gui_init): simplify now that MessageList itself is + a widget. Also use message_list->table rather than + e_table_scrolled_get_table. + + * mail-local.c (mail_local_reconfigure_folder): Add "mail_" to + the beginning of this function name to match its prototype and the + other vague namespace conventions in the mailer. + + * mail-callbacks.c (select_all, invert_selection): Use ml->table. + (configure_folder): s/local_reconfigure_folder/mail_&/ + + * mail-ops.c (do_flag_messages): clean up the cleanup a bit + + * mail-tools.c (mail_tool_quote_message): Remove an unused + variable. + +2000-12-11 Not Zed <NotZed@HelixCode.com> + + * local-config.glade: reordered the options and added maildir, + mbox, maildir, mh, in that order. + + * mail-local.c (reconfigure_clicked): Added maildir, re-ordered to + match the changed xml file too. + (do_reconfigure_folder): WHoever 'threaded' this code forgot to + check that folder_browser functions shouldn't be called here. + (cleanup_reconfigure_folder): Call it here instead. + (lookup_folder): Blah blah, we have to lookup the folder and + verify its still the same format, joy. Becaause someone thought + it would be wise to make the code 5x more complicated for no + reason, and totally break 'mail reconfigure' in the process. i'm + really happy about that one. + (cleanup_register_folder): Uh, yeah, so like, the + local_store->folders hashtable is supposed to point to like, + LocalFolders, not CamelFolders. + (free_local_folder): Free the localfolder struct properly. + (free_folder): Call above to free data properly. + (get_folder): Fix for fixing folders hashtable. + (local_storage_removed_folder_cb): Same here. + (local_storage_new_folder_cb): Ref the local_store when putting it + in the local_folder. + (cleanup_register_folder): Properly free the local_folder if the + op failed. + (free_local_folder): Unhook events also. + (d): Oops, left debug turned on. + +2000-12-09 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c (message_list_init): Change the "drawfocus" + argument on e_table_scrolled_get_table(etable) instead of on + etable (etable is an ETableScrolled.) + +2000-12-08 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-callbacks.c (save_msg_ok): Check to see if the file already + exists, if it does prompt the user to for permission to overwrite + the file. + (forward_message): g_strdup the cursor_uid if there is only a + single message to be forwarded or we'll segfault later. + + * mail-ops.c (do_save_messages): Rewrote yet again. I'm back to + almost an identical implementation as the first time I wrote this + except now we write the From line which I had forgotten last + time. This means that we no longer have to unlink the .ev-summary + file created and we also use fewer resources (no need to create a + CamelMboxFolder object). + +2000-12-08 JP Rosevear <jpr@helixcode.com> + + * folder-browser.c (on_double_click): the e-table double-click + signal now has extra params + +2000-12-07 Ettore Perazzoli <ettore@helixcode.com> + + * component-factory.c (add_storage): Pass `NULL' as the + @toplevel_node_handler_id arg in `evolution_storage_new()'. + FIXME: We should be passing the ID of the mail component here. + * mail-vfolder.c (vfolder_create_storage): Likewise. + +2000-12-08 Jeffrey Stedfast <fejj@helixcode.com> + + * message-list.c (message_list_get_layout): Set the "Size" field + to sort using integer comparison instead of string. + (filter_size): New function to transform a integer size into a + more readable form. + (ml_value_to_string): Use filter_size. + (ml_value_is_empty): COL_SIZE is no longer a string, so handle + this as an integer. + (ml_initialize_value): Here too. + (ml_free_value): And here. + (ml_duplicate_value): And here too. + (message_list_create_extras): Setup the size etable cell. + +2000-12-08 Christopher James Lahey <clahey@helixcode.com> + + * folder-browser.c: Connect to signals on the ETable instead of + the ETableScrolled. + + * subscribe-dialog.c: Used the e_table_scrolled_get_table function + instead of accessing the variable directly. + +2000-12-08 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c: Connect to signals on the ETable instead of the + ETableScrolled. + +2000-12-07 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c: Got rid of code referencing the ETableScrolled + proxy functions. Changed the call to e_table_set_cursor_row to + send a model row instead of a view row. + +2000-12-07 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-callbacks.c (forward_message): Only do a + message_list_foreach if we plan on attaching messages, otherwise + just use ml->cursor_uid. + + * mail-ops.c (cleanup_forward_messages): If attaching multiple + forwarded message, wrap them in a multipart/digest otherwise just + attach the single message as a message/rfc822. + +2000-12-07 Dan Winship <danw@helixcode.com> + + * mail-display.c (on_object_requested): Make the iTip hack spew a + g_warning and not crash if you have no identity configured. To be + revisited. + + * mail-callbacks.c: (various) + * folder-browser.c (filter_mlist): + * mail-autofilter.c (filter_gui_add_from_message): + * mail-vfolder.c (vfolder_gui_add_from_message): Add some + g_return_if_fail()s to protect from crashes until the code to + enable/disable commands based on how many messages are selected is + done. + +2000-12-06 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-vfolder.c (vfolder_gui_add_rule): Make the vfolder editor + resize correctly. Fixes bug #835. + +2000-12-06 Dan Winship <danw@helixcode.com> + + Fix up shutdown so that things that should be destroyed get + destroyed. Among other things, this fixes the bug where IMAP + stores weren't disconnected at shutdown. + + * mail-threads.c (update_active_views): Update for + folder_browser_factory_get_control_list change to EList. + + * folder-browser-factory.c: Turn control_list into an EList so + that we can safely remove items from it while it's being iterated + (which will happen as FolderBrowsers are destroyed at shutdown + while the thread code is trying to update the status bars). + (control_destroy_cb): Just destroy the folder_browser. + (browser_destroy_cb): New callback for FolderBrowser destroy. + Remove the control from control_list here instead of + control_destroy_cb, because the controls don't seem to get + destroyed reliably... + + * component-factory.c: Clean up stuff. + (factory_destroy): Get rid of this. + (owner_unset_cb): Schedule an idle handler to quit. + (idle_quit): Wait for all of the FolderBrowsers to be destroyed + and then destroy the storages and quit. + + * mail-summary.h (create_summary_view): Fix prototype + +2000-12-06 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-config.c (mail_config_folder_to_cachename): Use + e_filename_make_safe (which used to be e_str_make_safe). + + * mail-display.c (make_safe_filename): And here. + + * message-list.c (message_list_drag_data_get): Here too. + +2000-12-06 Dan Winship <danw@helixcode.com> + + * mail-local.c (cleanup_register_folder): Run the folder_changed + code on message_changed as well, so the unread message counts + update as messages are read. + + * folder-browser.c: Remove bits of filter-on-demand and toolbar + bug workaround cruft that don't do anything useful any more. + + * mail-ops.c (cleanup_load_folder): unref the ref we added in + setup_load_folder. + +2000-12-05 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-display.c (write_data_to_file): Use a charset filter to + make sure the data is written out in the charset it was meant to + be in instead of UTF-8. + + * mail-format.c (mail_format_raw_message): Don't use the raw + message body as the format argument, use "%s" instead. If the raw + message contains %'s then it will segfault otherwise. + +2000-12-04 Dan Winship <danw@helixcode.com> + + * mail-config-gui.c (service_page_item_new): Fix a typo so that + toggling the "remember password" checkbox will activate the "OK" + button if it was inactive. + +2000-12-05 Ettore Perazzoli <ettore@helixcode.com> + + * mail-vfolder.c (vfolder_create_storage): Updated the call to + `evolution_storage_new()': pass NULL for @toplevel_node_uri. + + * component-factory.c (add_storage): Updated the call to + `evolution_storage_new()': pass NULL for @toplevel_node_uri. + +2000-12-04 Jeffrey Stedfast <fejj@helixcode.com> + + * subscribe-dialog.c (setup_subscribe_folder): Use info->full_name + rather than info->name so that we get the namespace part of the + folder path as well. + +2000-12-04 Ettore Perazzoli <ettore@helixcode.com> + + * folder-browser-factory.c: Updated to define verbs + "MessageForwardInlined" and "MessageForwardAttached" instead of + "MessageForwardInline" and "MessageForwardAttach". + + * folder-browser.c (on_right_click): Make forwarding as an + attachment the default. + + * mail-callbacks.c (forward_inlined): Renamed from `forward_msg'. + (forward_attached): Renamed from `forward_attach'. + * mail-callbacks.h: Updated accordingly. + +2000-12-01 Dan Winship <danw@helixcode.com> + + * session.c (mail_session_remember_password): Writes out passwords + (to .gnome_private) in our patented proprietary "Best Awesome + Super Encryption 64" ("BASE64") format which could not possibly + ever be cracked by even the most cryptographically knowledgeable + five-year-olds. + (mail_session_init): Load remembered passwords at startup. + (mail_session_forget_passwords): Erase them from disk as well as + memory. + + * mail-config.c: Add "remember_password" field to + MailConfigService. + (mail_config_write_on_exit): Call mail_session_remember_password + for services with "remember_password" set. + * mail-config-gui.c: Add "remember password" checkbox to the + dialogs, and make it appear and disappear as appropriate. + + * component-factory.c (mail_load_storages): Unref the store + regardless of whether or not we're using it, so we don't leak + references to non-storage stores. + +2000-12-01 Jeffrey Stedfast <fejj@helixcode.com> + + * message-list.c (e_mail_address_new): Perform better + error-handling. + +2000-12-01 Radek Doulik <rodo@helixcode.com> + + * mail-ops.c (mail_op_report_status): use mail_op_set_message_plain + + * mail-threads.c (mail_op_set_message_plain): plain version of + mail_op_set_message, doesn't use printf, passes message untouched, + use set_message + (mail_op_set_message): set_message + (set_message): helper function + +2000-11-30 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-ops.c (cleanup_fetch_mail): Don't display a dialog, instead + inform the user that there was no new mail by setting a status + message. + + * message-list.c (message_list_drag_data_get): Use the new + e_str_make_safe function. + + * mail-display.c (make_safe_filename): And here. + + * mail-config.c (mail_config_folder_to_cachename): Here too. + +2000-11-30 Not Zed <NotZed@HelixCode.com> + + * mail-ops.c (cleanup_load_folder): Set threaded view before + setting the folder (cleanup some flash ons tartup). + + * message-list.c (message_list_init): Initialise a mempool for uid + string storage. + (new_id_from_uid): Added messagelist arg, allocate strings from + uid_pool. + (new_id_from_subject): Same. Fixed all callers. + (remove_node_diff): Dont free uid here. + (build_flat_diff): Nor here. + (clear_tree): Flush the mempool, rather than freeing the id's + directly. + (free_tree_ids): Removed, no longer required. + (free_tree_ids): Likewise. + (message_list_init): Dont connect to the table destroy signal + anymore to free the uid table. + (message_list_destroy): Free the uid pool here. + (*): Use accessors for messageid stuff. + (content_is_attachment): Removed, no longer required. + (ml_tree_value_at): Get the attachment flag directly from the + summary. + (ml_tree_value_at): For 'fake' nodes, try and do something better + than "?" for from, to, and size. + (subtree_size): New function, add up the total size of a subtree. + (subtree_earliest): Get the earliest date from a subtree. + (ml_tree_value_at): Return earliest date sent/received for fake + nodes. + (ml_tree_value_at): Return something to mark a fake subject line + as a fake subject, although i dont know, i guess this buggers up + sorting ... + (subtree_size): Check the info node is still there. + (subtree_earliest): Same here. + (subtree_unread): And here. The info node might vanish if the + folder has changed/is changing and we try and redraw stuff while + its doing it. + (message_list_drag_data_get): Use accessors. + +2000-11-29 Jeffrey Stedfast <fejj@helixcode.com> + + * message-list.c (message_list_drag_data_get): Implement. + (message_list_init): Connect the d&d signal. + + * mail-ops.c (do_save_messages): Use camel a bit more to help us + out. Don't create the file ourselves, treat it as a CamelFolder so + we don't have to worry about formatting. + +2000-11-29 Dan Winship <danw@helixcode.com> + + * main.c (main): Remove no-longer-needed e_unicode_init. + + * mail-tools.c (mail_tool_quote_message): Fix the allocation here + (again) and put a comment explaining it. (Fixes a crash when + replying.) + +2000-11-28 Dan Winship <danw@helixcode.com> + + * component-factory.c (owner_set_cb): Wait until after setting up + the local storage to find the Drafts/Outbox/Sent folders. + + * mail-ops.c (do_setup_folder): Use the file: store rather than + mbox:. + +2000-11-28 Jeffrey Stedfast <fejj@helixcode.com> + + * folder-browser-factory.c: Added the SaveAs bonobo menu verb + thingy. + + * mail-callbacks.c (save_msg): New callback for saving messages. + (save_msg_ok): + + * folder-browser.c (on_right_click): Add a Save As menu item. + + * mail-ops.c (cleanup_save_messages): Save all emails to the path + given. + +2000-11-28 Dan Winship <danw@helixcode.com> + + * mail-local.c (cleanup_register_folder): Fix the initial unread + counts after the last patch. + +2000-11-27 Dan Winship <danw@helixcode.com> + + * mail-local.c (local_folder_changed): This needs to run from the + main thread, not the camel thread, so add a proxy signal handler + to call mail_op_forward_event. Fixes hangs (eg bugzilla #909). + +2000-11-27 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-display.c: Removed some unecessary debugging printf's + +2000-11-27 Dan Winship <danw@helixcode.com> + + * mail-config-druid.glade: Revert the new druid for now, until the + corresponding code is done, so that the druid will work again. + +2000-11-21 Iain Holmes <iain@helixcode.com> + + * mail-config-gui.c (mail_config): Don't use the "delete-event" + signal. + +2000-11-21 Iain Holmes <iain@helixcode.com> + + * mail-display.c (pixbuf_for_mime_type): free fm_icon. + + * component-factory (summary_fn): Remove the configure param. + (factory_destroy): Made into a generic function so that the + summary_factory can be ref-counted as well as the normal + factory. + +2000-11-21 Dan Winship <danw@helixcode.com> + + * Makefile.am: add GPGME_CFLAGS and GPGME_LIBS + +2000-11-21 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-config.c (mail_config_view_source): New function to return + if user wants to view message source. + (mail_config_set_view_source): New function to set whether the + view wants to view source. + + * mail-ops.c (mail_do_view_message_sources): Removed. We're not + gonna view-source this way anymore. + + * folder-browser-factory.c: Removed the ViewSource bonobo verb + from the Message menu. + (control_activate): Added ViewSource. + + * folder-browser.c (on_right_click): Removed Message menu item to + view message source. + (folder_browser_toggle_view_source): New callback to set whether + or not the MailDisplay shows the raw message or the pretty-ified + message. + + * mail-callbacks.c: Removed view_source. + + * mail-display.c (redisplay): If toggle_raw is set then display + the raw message else display the pretty formatted message. + (mail_display_redisplay): New function to force the redisplay of a + message. + + * mail-format.c (mail_format_raw_message): New function to + write the raw message data. + +2000-11-21 Not Zed <NotZed@HelixCode.com> + + * mail-vfolder.c (vfolder_uri_to_folder): IF we dont find a + source, clear the exception and ignore it silently. for e.g. if + the user reconfigured their mailboxes and one of them no longer + exists. + +2000-11-21 Radek Doulik <rodo@helixcode.com> + + * mail-display.c: #include <gtkhtml/gtkhtml-embedded.h> + +2000-11-21 Not Zed <NotZed@HelixCode.com> + + * message-thread.[ch]: Removed. No longer serves a purpose. + + * Makefile.am (evolution_mail_SOURCES): Removed message-thread.[ch]. + + * message-list.c (build_subtree): + (node_equal): + (add_node_diff): + (build_subtree_diff): + (do_regenerate_messagelist): + (cleanup_regenerate_messagelist): Changed to use camel-folder-thread. + (message_list_set_folder): If we get set a new folder, unhook any + events before unrefing the folder too (the folder is never reset + currently, but this would cause problems). + (subtree_unread): Check for uid null, wont crash, but its a bug. + (ml_tree_value_at): If the uid is null, then fake an obviously bad + line. + (build_subtree): Yeah well, we can't like freeze/thaw here, + because this is called recursive, and freeze/thaw isn't + recursive, like pre model and post model change was. + (build_tree): Maybe we can try it here, although i dont think + it'll help much. + (build_flat): And this is also a tree. yes a tree. + (build_tree): Added changes arg. If set, then try the 'diff' + approach, unless the tree is already empty. + (message_list_set_threaded): Dont clear the tree here. + (message_list_set_search): Or here. + +2000-11-20 Not Zed <NotZed@HelixCode.com> + + * message-list.c (save_node_state): Save out the md5 hash of the + messageid as hex, since thats all we have for those nodes. + (build_subtree): Expand the messageid to a hex string first, then + check it. + (add_node_diff): And the same here. + + * message-thread.c (thread_messages): Changed for changes to + messageid/references items. + (id_hash, id_equal): New functions to hash on the binary message id hash. + (thread_messages): removed some more no longer used dead code. + +2000-11-20 Jeffrey Stedfast <fejj@helixcode.com> + + * message-list.c (e_mail_address_compare): New comparison function + that will replace address_compare if/when we ever go to save the + preparsed addresses in the ETable rather than parsing them each + time. Also fixed it so that we should get better sorting when + addresses don't contain name parts (I was checking for NULL but + not '\0'). + (address_compare): Use e_mail_address_compare. + +2000-11-19 Peter Williams <peterw@helixcode.com> + + * mail-ops.c (update_changed_folders): Instead of making the CORBA + call in the dispatch thread, store the new display names and have + cleanup_fetch_mail make the CORBA calls. Fixes deadlocks. + (cleanup_fech_mail): Loop through the update_infos and make the + CORBA calls. + (setup_fetch_mail): Clear some new data items. + +2000-11-17 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-format.c (mail_generate_reply): Use the new quote_message + function and make it start with "On %s, %s wrote:" since people + seem to want that. + + * mail-ops.c (cleanup_forward_messages): Use the new quote_message + function. + + * mail-tools.c (mail_tool_quote_message): New convenience function + to quote a message body (since both the reply and forward code do + similar quoting) + +2000-11-17 Not Zed <NotZed@HelixCode.com> + + * message-list.c (message_list_destroy): Before we destroy + ourselves, unhook ourselves from the folder update events. Should + fix a common crash on exit case. + +2000-11-16 Jeffrey Stedfast <fejj@helixcode.com> + + * folder-browser-factory.c: Added the MessageViewSource bonobo + menu verb. + + * mail-ops.c (mail_do_save_messages): New async function to save + messages as individual files in a given path. + +2000-11-15 Jeffrey Stedfast <fejj@helixcode.com> + + * folder-browser-factory.c: Added a new Forward as Attachment + bonobo menu item verb. + + * mail-view.c (view_forward_msg): Updated to reflect changes to + mail_do_forward_message(). It now forwards the message without + attaching it - is this what we want? + + * mail-ops.c (mail_do_view_message_sources): New async function to + display message source dialog windows. + (setup_forward_messages): If we were asked not to forward the + message(s) as attachment(s) and the user chose more than a single + message, then default to making each message an attachment. + (cleanup_forward_messages): If we aren't forwarding the message as + an attachment, then quote the text and set the composer's body + with it. + + * mail-callbacks.c (view_source): New callback to view the message + source of all messages that are currently selected. + (forward_attach): New callback to forward a message as an + attachment (forward_msg is now for forwarding a message without it + being an attachment). + (forward_message): Convenience function for forwarding messages. + +2000-11-13 Jeffrey Stedfast <fejj@helixcode.com> + + * subscribe-dialog.c (subscribe_do_subscribe_folder): Take a + 'subscribe' argument so that this can function as a subscribe AND + unsibscribe method. + (describe_subscribe_folder): Updated. + (do_subscribe_folder): Updated. + (cleanup_subscribe_folder): Updated. + (subscribe_folder_info): Pass along a TRUE as the 'subscribe' + param. + (unsubscribe_folder_info): Pass along a FALSE as the 'subscribe' + param. + +2000-11-13 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c: Removed some e_table_model calls and replaced + them with e_tree_model calls. + +2000-11-12 Dan Winship <danw@helixcode.com> + + * mail-local.c (mail_do_register_folder): Do this the normal way + rather than calling mail_operation_wait_for_finish. There was some + reason for it originally, but it no longer applies. This makes + adding new folders from the folder selection dialog no longer + hang. + +2000-11-12 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-ops.c (do_filter_ondemand): Sync the source folder. + +2000-11-11 Matt Bissiri <bissiri@eecs.umich.edu> + + * evolution-mail.oafinfo: + * mail-threads.c: (retrieve_shell_view_interface_from_control): + Update the remaining "IDL:Evolution*" to "IDL:GNOME/Evolution*" + to sync up with yesterday's IDL re-scoping. + +2000-11-10 Michael Meeks <michael@helixcode.com> + + * Makefile.am ($(EVOLUTION_MAIL_CORBA_GENERATED)): sort include order. + +2000-11-09 Jeffrey Stedfast <fejj@helixcode.com> + + * subscribe-dialog.glade[.h]: New glade file for possibly using to + create the subscribe dialog. + +2000-11-08 Radek Doulik <rodo@helixcode.com> + + * mail-format.c (mail_generate_reply): likewise + + * mail-callbacks.c (create_msg_composer): added send_html arg to + e_msg_composer_new_with_sig_file call + +2000-11-07 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-search-dialogue.c (mail_search_dialogue_construct): Allow + rule part to expand when the user resizes the dialog. + +2000-11-07 Jeffrey Stedfast <fejj@helixcode.com> + + * folder-browser.c (search_save): Don't handle custom searching + anymore... we don't want this. + (search_full): Same. + (folder_browser_search_menu_activated): Set the search entry + widget sensitive. + (folder_browser_search_query_changed): Same. + +2000-11-07 Jeffrey Stedfast <fejj@helixcode.com> + + * folder-browser.c (search_full_clicked): Updated to use the + ESearchBar object rather than the previously used search widgets. + (search_full): Same. + (search_save): Same. Also use enums to make it a little easier to + read now that we have to have enums anyway. + (folder_browser_search_menu_activated): New ESearchBar menu + callback. + (folder_browser_search_query_changed): New ESearchBar query + callback. Replaces search_set() + (folder_browser_clear_search): Updated to use the ESearchBar + object rather than the previously used search widgets. + (folder_browser_gui_init): Don't hand construct a search widget, + use the new ESearchBar convenience widget. + + * mail-ops.c (cleanup_load_folder): Updated to reflect changes to + FolderBrowser. + +2000-11-07 Jesse Pavel <jpavel@helixcode.com> + + * mail-display.c (pixmap_press): modified some of the EPopupMenu + structures to account for differences in the popup menu API (as + informed by Jeff. + (on_object_requested): passed the user's default email address + to the iTip control. + +2000-11-07 Ettore Perazzoli <ettore@helixcode.com> + + * Makefile.am (INCLUDES): Add the composer dirs. + +2000-11-07 Not Zed <NotZed@HelixCode.com> + + * mail-display.c (on_object_requested): God, I sure wish people + would listen when i'm saying i'm changing and API. I mean + I even mailed everyone and everything. Can't see any changelog + either. + +2000-11-06 Not Zed <NotZed@HelixCode.com> + + * mail-autofilter.c (rule_from_message): Updates for api changes. + + * mail-tools.c (mail_tool_generate_forward_subject): Fixed for api + changes. Sigh, whoever wrote the multithread code of the mailer, + had little idea. You can't just lock for getting a const value, + until you are finished with it, cause the owner still owns it. + Fixed this too. Yuck, what a horrid forwarding format, can we + change this, or make it configurable? The mail headers show who + forwarded it, we dont need to duplicate it in that UGLY subject. + + * mail-format.c (write_field_to_stream): Removed some jeffness. + dont g_strdup stuff we dont need to, and remove the + value_is_encoded thing since we can get the unencoded address + now. + (write_address): New function to write an address field. + (write_headers): Uses write_address to write addresses, cleaner, + fixed the god-awful unreadable indenting too. + (handle_text_plain): Use a 'smarter' printf format, so we dont + need to allocate and copy substrings unecessarily (esp since + they're about to be allocated any copied another few times + anyway *sigh*). + (write_field_to_stream): Commented out the isprint check, which + afaik serves no purpose. + (list_add_addresses): New function to build a list of + display-ready addresses. Although I think the composer then uses + these as internet-ready addresses. It should probably take a list + of CamelAddress's if thats what it wants. + (mail_generate_reply): Cleaned up the address list creation stuff + a heap, and fixes for camel api changes. Also fixed a small + memory leak as a side effect (fulladdr wasn't freed if it was the + same as the sender). + + * mail-display.c (on_object_requested): Changed for interface + changes to the from address. I think passing the encoded + (internet version) of the address is right here. + +2000-11-06 Jeffrey Stedfast <fejj@helixcode.com> + + * folder-browser.c (on_right_click): Move filter stuff into a + submenu of the popup menu. + +2000-11-06 Jesse Pavel <jpavel@helixcode.com> + + * mail-display.c: used Camel to parse the full address before + passing the email address to my iTip control. + +2000-11-06 Dan Winship <danw@helixcode.com> + + First draft of folder tree unread message indication for /local + mail folders. + + * mail-local.c: Add a new CamelStore subclass, MailLocalStore, + which attaches to an Evolution_LocalStorage on one side and + CamelSession on the other, and keeps track of local folders. Some + of this code was previously in mail-local-storage.c, which no + longer exists. + (local_reconfigure_folder, etc): Various mail_op-related cleanups, + and wrap d() around a bunch of printfs. + + * mail-tools.c (mail_tool_get_local_inbox_url, + mail_tool_get_local_movemail_url): Removed + (mail_tool_get_local_inbox): Simplified. + (mail_tool_do_movemail): Remove unused dest_url variable. + (mail_tool_uri_to_folder): Simplify. Now down to two cases + (vfolder, and everything else). + + * component-factory.c (owner_set_cb): Pass evolution_dir to + mail_local_storage_startup. + + * Makefile.am (evolution_mail_SOURCES): Remove + mail-local-storage.[ch] + + * mail-summary.c: Remove mail-local-storage.h include + +2000-11-06 Kjartan Maraas <kmaraas@gnome.org> + + * mail-autofilter.c: Fix up #include <config.h> + * mail-crypto.c: Same here. + * mail-search-dialog.c: Here too. + * main.c: Fix indentation of #ifdef + * message-thread.c: Fix include. + +2000-11-06 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-callbacks.c (delete_msg): Don't invert the flag. + (undelete_msg): Same (when multiple messages are selected). + +2000-11-06 Jeffrey Stedfast <fejj@helixcode.com> + + * folder-browser-factory.c: Updated to have the same menu items as + the new right-click menu - eventually these 2 menus should be the + same. + + * folder-browser.c (on_right_click): Now correctly handles the + case of multiple selection. + + * mail-callbacks.c (enumerate_msg): Make public so it can be used + in other source files (it's a useful function!) + +2000-11-05 Jeffrey Stedfast <fejj@helixcode.com> + + * folder-browser.c (on_right_click): Added an "Undelete" option to + the right-click menu and also set a mask so it was only selectable + if the message is marked as deleted. Also set a mask for "Mark as + Read" and "Mark as Unread". + + * mail-callbacks.c (undelete_msg): New callback to undelete + messages. + +2000-11-03 Dan Winship <danw@helixcode.com> + + * message-list.c (cleanup_regenerate_messagelist): don't free the + MessageList search when it's being reused + +2000-11-03 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-local.c (mail_local_map_uri): Don't show the passwd in the + url string. + (mail_tool_local_uri_to_folder): Same. + (do_reconfigure_folder): Same. + +2000-11-03 Jeffrey Stedfast <fejj@helixcode.com> + + * Makefile.am: Added new header files. + + * component-factory.c (owner_set_cb): + s/session_init/mail_session_init + + * session.c: Renamed public functions to mail_session_*. + FIXME: Rename session.c to mail-session.c + + * folder-browser-factory.c: #include "mail-callbacks.h", #include + "mail-session.h" and replace forget_passwords with + mail_session_forget_passwords + + * mail.h: Move session prototypes to mail-session.h, Move + mail-crypto prototypes to mail-crypto.h, Move mail-callback + prototypes to mail-callbacks.h + + * mail-session.h: New header file containing public prototypes + for session.c + + * mail-format.c: #include "mail-crypto.h" + + * mail-view.c: + * folder-browser.c: #include "mail-callbacks.h" + + * mail-crypto.h: New header file containing public prototypes + for mail-crypto.c + + * mail-callbacks.h: New header file containing public prototypes + for mail-callbacks.c + + * message-list.c (message_list_get_layout): Set useful defaults. + (message_list_setup_etable): Don't set the Outbox defaults on a + folder just because it doesn't have a corresponding saved file. + +2000-11-03 Dan Winship <danw@helixcode.com> + + * mail-config-gui.c (service_page_item_new): url_flags are now on + CamelProvider, not CamelService + + * main.c: + * subscribe-dialog.c: + * mail-threads.c: Kill warnings + +2000-11-03 Federico Mena Quintero <federico@helixcode.com> + + * Makefile.am: Clean the idl-generated files properly. + +2000-11-03 Not Zed <NotZed@HelixCode.com> + + * mail-view.c: Added mail-display.h. + + * mail-autofilter.c: Removed unecessary headers. Who ran indent + over this code? Sigh. + + * mail-ops.c (display_message_input_s): Added messagedisplay. + (mail_do_display_message): Added messagedisplay arg. + (mail_do_display_message): Dont bother doing another thread when + we know we dont have a uid. + (): Added folder-browser.h to headers. Sigh. + + * folder-browser-factory.c (control_activate): Setup the + viewthreaded callback to the folder_browser function. + + * folder-browser.c (my_folder_browser_init): Connect to + right_click of etable of the messagelist here. + (on_right_click): Changed for argument changes. + (folder_browser_toggle_threads): Changed to take a fb, and to set + threaded mode on the messagelist. + (my_folder_browser_init): Connect also to the double_click signal. + (my_folder_browser_init): Connect to the message_selected signal + of the message_list. + (on_message_selected): Signal handler for message selected. + (my_folder_browser_init): Fix for change to message_list_new(). + + * message-list.h: Dont include folder-browser.h. + (message_list_toggle_threads): Moved into folder-browser.h. + (struct _MessageList): Removed folderbrowser. + + * mail.h: Dont include folder-browser.h here either, but + mail-types.h instead. + Moved prototypes moved into folder-browser.c into + folder-browser.h. (vfolder_*, filter_*). + + * mail-display.h: Dont include folder-browser.h here, but + mail-types.h and specific camel headers. + + * message-thread.c (sort_node): Invert the sort order logic so the + list is sorted in mailbox order, not reverse mailbox order. + + * message-list.c (free_tree_ids): Fix a merge foo. + (remove_node_diff): Removed unused row argument. Fixed + callers/prototype. + (clear_tree): pre_change on the removal of the root node. + (build_flat): Only perform pre_change if we are rebuilding the + whole lot. For incremental change let etable do its thing. + (build_tree): Likewise for building the tree view. If making + incremental updates, do them as we build it. + (vfolder_subject): + (vfolder_sender): + (vfolder_recipient): + (filter_subject): + (filter_sender): + (filter_recipient): + (filter_mlist): + (on_right_click): Moved to folder-browser.c, where they belong. + (message_list_init): Dont connect to right_click anymore. + (message_list_toggle_threads): Moved to folder-browser.c, renamed. + (on_double_click): Moved to folder-browser.c + (on_click): Set the flags directly, rather than in anothre thread, + which is just not necessary. + (message_list_class_init): Added a new signal 'message_selected', + to indicate when a message was selected. + (on_cursor_change_idle): Emit a signal, rather than directly + triggering the display update. + (select_row): Removed, no longer used. + (idle_select_row): And this too. + (select_msg): Removed as well. + (message_list_select): Emit a signal, rather + thandisplaying/clearing the mail-display directly. + (mark_msg_seen): Moved to folder-browser.c + (message_list_new): Removed folderbrowser argument. + +2000-11-02 Jeffrey Stedfast <fejj@helixcode.com> + + * message-list.c (on_right_click): Sync with message + menu. Addresses bugzilla bug #778. + +2000-11-02 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c: Turn on draw grid for the main ETable (this may + not be working in ETable itself.) + +2000-11-01 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-threads.c (mail_op_set_message): fmt argument should be + const. + +2000-11-01 Dan Winship <danw@helixcode.com> + + Make "Get Mail" even more functional on IMAP (scans all folders), + and do a first cut at folder tree highlighting (for IMAP/news + only). + + * mail-ops.c (do_fetch_mail): For imap (sigh, we *still* shouldn't + be hardcoding that), rescan the store's folder tree, rescan each + changed folder for new messages, and update the shell folder tree. + (do_scan_subfolders): Update for component-factory.c changes, and + set folder display names and highlights appropriately when + building the storage. + + * component-factory.c (add_storage): Make this static (was + mail_add_new_storage). Use camel_service_get_name for the name + rather than url->host. (Among other things, this lets you use a + single machine as both an IMAP server and a news server.) + (mail_lookup_storage): Hash storages based on their CamelStore + rather than the URL. + (factory_destroy): Disconnect each of the CamelStores in the + storages_hash. + + * subscribe-dialog.c (cleanup_subscribe_folder): + * mail-vfolder.c (vfolder_refresh): Pass "highlighted" flag to + evolution_storage_new_folder + +2000-11-01 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-ops.c (mail_op_report_status): Don't call the default + logging function. + (do_fetch_mail): Set the logfile and don't pass the logfile to + filter_driver_set_status_func - it's purpose has been altered. + (do_filter_ondemand): Same. + +2000-11-02 Not Zed <NotZed@HelixCode.com> + + ** Merged in camel-incremental-branch. + + * mail-format.c (mail_get_message_body): Jeff! Sigh. + We should definetly not be strduping the + content, it has already been copied and duplicated. Look at + get_data_wrapper_text. + +2000-11-01 Chris Toshok <toshok@helixcode.com> + + * subscribe-dialog.h: add fields search_entry and search_top. + + * subscribe-dialog.c: add mail-ops.c style async operations for + getting the store (to remove deadlock in the case where a auth + dialog is dismissed at startup and then the subscribe dialog is + brought up), and subscribing/unsubscribing to folders. One case + remains, that is getting the list of all folders. + (subscribe_search): flesh out this function + (build_tree): use the search_top field so we can search for + groups/folders. + (subscribe_dialog_destroy): free search_top. + (subscribe_dialog_construct): init search_top. + +2000-10-30 Iain Holmes <iain@helixcode.com> + + * mail-summary.c (generate_folder_summaries): Fix spelling :) + Set folder->uri to NULL for the Inbox. + +2000-10-26 Iain Holmes <iain@helixcode.com> + + * mail-summary.c (generate_html_summary): Add view:// uris to + switch the display to that folder. + +2000-11-01 Jeffrey Stedfast <fejj@helixcode.com> + + * folder-browser-factory.c: Hmmm, someone can't spell Filder, + er...I mean Filter ;-) + +2000-11-01 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-autofilter.c (rule_from_message): If the name is NULL or + empty, then set the title to "Mail from <address>". Closes + bugzilla bug #777. Also when filtering on Subject, set the file + name to "Subject is <subject>" rather than just "<subject>" - I + think this is a bit more user-friendly. + (strip_re): Use unsigned char when passing to is<type>() + functions from ctype.h. + (rule_add_subject): Use the "is" rule instead of "contains". + +2000-11-01 Jesse Pavel <jpavel@helixcode.com> + + * mail-display.c: added property bag support for Bonobo + controls, support which helps only the iTip control, currently. + +2000-11-01 Dan Winship <danw@helixcode.com> + + * mail-display.c (pixbuf_gen_idle): Lots of fixes and + simplifications. Should get rid of the "missing icon" problem. + There is still a problem with some images failing to get + thumbnails, even though they display correctly. + (pixbuf_for_mime_type): New function to try really hard to get the + right icon for a MIME type, including looking in mc and nautilus's + pixmap directories. + (on_object_requested): Always use pixbuf_gen_idle, even for + non-image types, to prevent code duplication. + +2000-10-31 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-format.c (mail_get_message_body): Shouldn't we be + strdup'ing the content? This seems to fix the memory corruption + problems. + (mail_generate_reply): Make sure that the last char in the + generated reply text is '\0' (when body text doesn't end with a + \n, a random char will appear otherwise). + +2000-10-31 Dan Winship <danw@helixcode.com> + + * mail-config-gui.c (do_test_service): Update for + camel_service_disconnect change. + +2000-10-31 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-autofilter.c (filter_gui_add_for_mailing_list): Match "is" + rather than "contains" now that we have the "is"-rule. + +2000-10-30 Dan Winship <danw@helixcode.com> + + * mail-config-gui.c (config_do_query_authtypes): Redo this so that + it works for all pages, not just the first page. (Now that this is + finally working again, I expect Anna to finish her redesign in the + next 15 minutes.) + (service_page_item_new): Fix up the sizing of the Auth line to + look more like everything else. + +2000-10-29 Dan Winship <danw@helixcode.com> + + * mail-tools.c (mail_tool_uri_to_folder): Simplify this a lot by + making IMAP and NNTP use the same code, now that the IMAP + namespace doesn't need special magic handling. + + * message-list.c (mail_do_regenerate_messagelist): Don't try to + regenerate the message list if there is no folder. (The Bonobo UI + code will call this as the callback for the "Threaded View" + command.) + + * mail-ops.c (do_fetch_mail): Sync the folder before refreshing so + we don't lose flag settings. + +2000-10-27 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-callbacks.c (composer_send_cb): Check to make sure that the + recipient list is neither NULL nor a 0-length list of addresses + and pop up a dialog letting the user know why we are not allowing + him/her to send the message. + +2000-10-26 Dan Winship <danw@helixcode.com> + + * mail-display.c (write_data_to_file): Don't destroy a dialog + after run_and_close'ing it. + +2000-10-26 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-callbacks.c (composer_send_cb): Check for the TO recipient + list being NULL and don't send. + +2000-10-25 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-ops.c (do_send_mail): Don't forget to unref the + FilterDriver. + + * mail-callbacks.c (apply_filters): New callback for applying + on-demand filters. (removed the old on-demand filters callback). + + * mail-ops.c (do_filter_ondemand): Rewrote to apply "incoming" + filters to all selected messages. + (mail_do_filter_ondemand): No longer takes a FilterContext + argument or a destination folder argument (why did we ever need + this last one??) but now takes a uids argument. + + * folder-browser-factory.c: Add a MessageApplyFilters menu item. + +2000-10-25 Iain Holmes <iain@helixcode.com> + + * mail-summary.[ch]: Updated for the new ExecutiveSummary code. + + * Makefile.am: Added the summary files and the evolution-services CFLAGS + and LIB stuff. + + * component-factory.c: Re-enabled the summary stuff. + +2000-10-25 Dan Winship <danw@helixcode.com> + + * main.c (main): Pass send/postpone signal handler functions to + evolution_composer_factory_init. + +2000-10-25 Jeffrey Stedfast <fejj@helixcode.com> + + * subscribe-dialog.c (subscribe_select_all): Implemented. + (subscribe_invert_selection): (was unselect_all) Implemented. + +2000-10-25 Dan Winship <danw@helixcode.com> + + * message-list.c: Add a "flagged" column, based on the Camel + "flagged" flag, for assigning an arbitrary "hey, I care about + this" flag to a message. + (ml_tree_set_value_at): Remove + (ml_tree_is_cell_editable): No, it's not. + (on_click): Handle the read/unread and flagged fields via the + click handler. Among other things, this makes it not select + a message when you change its read status. + +2000-10-24 Dan Winship <danw@helixcode.com> + + * subscribe-dialog.c (folder_info_subscribed, + subscribe_folder_info, unsubscribe_folder_info): Don't prepend "/" + to the folder's full_name. Deal with hierarchy in the + EvolutionStorage tree better. + (storage_tree_path): Helper function to build a storage path from + a CamelFolderInfo. + +2000-10-23 Dan Winship <danw@helixcode.com> + + * *: Add some missing _()s and N_()s. + +2000-10-23 Dan Winship <danw@helixcode.com> + + * Makefile.am (INCLUDES): Update EVOLUTION_LOCALEDIR. + +2000-10-23 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-ops.c (do_send_mail): Apply outgoing filters to the + message. + +2000-10-23 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c: Fixed a possible error in row numberings. This + needs to be changed quite a bit anyway, but this should make + things slightly nicer in some cases. + +2000-10-23 Christopher James Lahey <clahey@helixcode.com> + + * folder-browser.c: Made the top of the folder browser a little + prettier. + + * mail-display.c, mail-vfolder.c: Made more dialogs resizable. + +2000-10-23 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-autofilter.c (filter_gui_add_from_message): Don't forget to + set the rule source! (eg "incoming", "demand", or "outgoing") + +2000-10-22 Ettore Perazzoli <ettore@helixcode.com> + + * message-list.c (message_list_init): Always display the vertical + scrollbar. + + * mail-display.c (mail_display_new): Always display the vertical + scrollbar. + +2000-10-20 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-config.h: #include <camel/camel-folder.h> + +2000-10-20 Michael Meeks <michael@helixcode.com> + + * mail.h: s/BonoboUIHandler/BonoboUIComponent/ + + * mail-callbacks.c (run_filter_ondemand): ditto. + + * session.c (forget_passwords): ditto. + +2000-10-20 Dan Winship <danw@helixcode.com> + + * evolution-mail.oafinfo: Declare composer factory. + + * main.c (main): Initialize it + +2000-10-19 Chris Toshok <toshok@helixcode.com> + + * message-list.c (nuke_uids): e-tree-model is now opaque. use the + accessor to get the root node. + +2000-10-19 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-callbacks.c: #include "mail-vfolder.h" + (vfolder_edit_vfolders): Don't call the dummy vfolder_edit + function. + + * folder-browser-factory.c: s/VFolderEdit/SetVFolder + +2000-10-19 Dan Winship <danw@helixcode.com> + + * mail-ops.c: (do_fetch_mail): For an imap store, just refresh the + INBOX. + + * folder-browser-factory.c (control_deactivate): Don't sync + non-existent folders. + * message-list.c (nuke_uids): Don't traverse non-existent trees. + +2000-10-19 Ettore Perazzoli <ettore@helixcode.com> + + * Makefile.am (glade_messages): New. + (EXTRA_DIST): Add `$(glade_messages)'. + +2000-10-19 Dan Winship <danw@helixcode.com> + + * mail-ops.c: Clean up some old #if 0 code. + +2000-10-19 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-format.c (mail_generate_reply): Get the MailConfigIdentity + *before* we create a new composer object so that we can set the + signature file. + +2000-10-18 Michael Meeks <michael@helixcode.com> + + * folder-browser-factory.c (register_ondemand): kill. + (create_ondemand_hooks): die. + (control_activate): remove hook. + + * test-mail.c (create_container): kill old UI handler. + +2000-10-18 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c: Fixed some column widths. + +2000-11-02 Not Zed <NotZed@HelixCode.com> + + * message-list.c (get_message_info): Call get_message_uid to get + the uid, save some duplicated code. + (folder_changed): Handle the case of a NULL changes input. + + * message-thread.c (thread_messages): Removed pointless + variable/assignment 'container'. + (thread_messages): Try and cope with duplicate message id's. + +2000-11-01 Not Zed <NotZed@HelixCode.com> + + * mail-callbacks.c (main_select_first_unread): Changed to use 0 as + the first row to select a message. + + * mail-ops.h (mail_do_regenerate_messagelist): Removed from + header. This function is no longer public since it is really an + internal message-list function. + + * folder-browser.c (search_full_clicked): Call the set_search() + function, rather than messagelist_rebuild, which is going private. + (search_set): Same here. + (folder_browser_clear_search): And here. + (etable_key): Call message_list_select() instead of + message_list_home and message_list_end. Removing some odd code + duplication. + + * message-thread.c (do_thread_messages): Moved the mail lock to + here, rather than locking for each message lookup (which is + useless anyway). This is still not correct either, as the tree + references folder data ... but a bit better than it was. + (thread_messages): Removed the mail tool lock stuff, lock in + higher functions. + + * message-list.h: Added a threaded indicator to the message list + itself. + (threaded_view): removed a mystery variable. + + * message-list.c (do_regenerate_messagelist): Made the code a + little more readable. + (build_tree): Fixed argument to be a thread_messages struct, not a + container. + (cleanup_regenerate_messagelist): Free changeinfo. + (mail_do_regenerate_messagelist): If we are adding changes to a + flat view, we dont need to goto the other thread at all, so + process immediately. + (message_list_toggle_threads): Clear the tree if we're changing + the view mode. + (message_list_toggle_threads): And reset the rowmap, since it is no + longer valid. + (build_tree): If we are building into an already empty tree, just + build into that (probably irrelevant optimisation). + (build_subtree): Build hte subtree in the same order as we got it, + not inverted order. + (message_list_set_threaded): New function to select the threaded + view/flat view. + (mail_do_regenerate_messagelist): Removed references to + mail_config, get it from the ml->threaded var instead. + (message_list_destroy): No longer free the key data for the + uid_rowmap. + (new_id_from_uid): Convert a uid string into an id string. + (new_id_from_subject): Likewise for subject strings. + 'id' strings replace the 'uid:' and 'subject:' stuff with + accessors and macros and use less memory and is more readable. + (id_is_uid): macro to check if an id string is a uid. + (id_uid): Returns the uid part of a uid id string. + (id_subject): Returns the uid part of a subject id string. + (build_subtree): Use the new id functions, and dont duplicate the + uid in the uid rowmap, but just reference it from the tree node. + (node_equal): Use new id functions. + (add_node_diff): And here too. + (remove_node_diff): And here. Also remove the uid from the + rowmap, and dont free it anymore. + (get_message_info): And here. + (get_message_uid): And here. + (subtree_unread): And here. + (ml_tree_value_at): " + (ml_tree_set_value_at): Noted a memory leak. do_flag_messages() + doesn't free the contents of the uid array, just the uid array + (well that i can tell, teh code has more problems anyway). + (ml_tree_set_value_at): And fix the id accessors. + (save_node_state): " + (build_flat): Use id macros/functions. Dont alloc memory for hash + key. + (build_flat_diff): Use id macros. + (build_flat_diff): Remove the hash table entry before freeing its + key data (in the node). + (free_key): Removed. Keys are no longer alloc'd. + (clear_tree): When we clear the tree, also clear the uid_rowmap, + as it is no longer valid (or contains allocated keys!). + (free_tree_ids): Renamed from nuke_uids. + (free_ids_cb): Renamed from nuke_uids_cb. + (free_tree_ids): Changed arg to be a ETreeModel directly. + (ml_tree_value_at): Map id to subject using the right macro. + (free_tree_ids): Check we have any nodes to traverse first. + (build_flat): Insert to row -1 to append the nodes (faster). + (remove_node_diff): Only remove the uid rowmap entry if it is + referencing this node (i.e. the key string is the same key string, + not just a matching key string). + (add_node_diff): Remove the uid rowmap entry before inserting a + new one to force the key to be replaced. This is required as the + tree may temporarily contain duplicate messages during the + rebuilding phase. + (message_list_set_search): New function, set the search string. + Only redo the search if it has changed, etc. + (mail_do_regenerate_messagelist): Made static. There is no need + for external code to call this. + (message_list_set_folder): NOP if the new folder is the same. + (message_list_set_folder): Clear the tree before rebuilding it. + (message_list_select): Ok, this wins the award for 'most bizarre + interface'. Changed the start row to mean the end of the list if + we supply -1, rather than the start of the list. Also fixed the + endpoints (it would never select message 0 if searching + backwards). + (idle_select_row): Changed start row to 0 from -1. + (message_list_end): Removed. + (message_list_home): Removed. + (go_to_message): Removed. message_list_select can do this. + (message_list_select): Check that direction is one of the valid + ones, otherwise we could be thrown for loops. + +2000-10-31 Not Zed <NotZed@HelixCode.com> + + * message-list.c (node_equal): Compares an etree node with a + message-thread node to see if they point to the same object. + (add_node_diff): Adds a new thread node to the etree. + (remove_node_diff): Removed an etree node, freeing any additional + data. + (build_subtree_diff): Takes an existing etree definition, and a + new thread definition and makes the etree match, using as few + operations as possible. + (do_regenerate_messagelist): No longer free/clear the uid/rowmap + here. + (regenerate_messagelist_input_t): Added a tree field - are we + building a tree view? + (regnerate_messagelist_data_t): Added a tree field, if we built a + tree result. Added a changes parameter, for building diff's after + search/etc. + (mail_do_regenerate_messagelist): Setup the tree indicator. + (build_flat_diff): Apply a changeset to a message list. + (build_flat): Added a changes argument, if present, use + build_flat_diff() to build the list. + (do_regenerate_messagelist): If we are generating a threaded view, + build the threaded list here, rather in another separate + invocation. + (cleanup_regenerate_messagelist): Call build_tree directly on the + threaded list. + (message_list_init): Init the uid_rowmap hash table here instead + of somewhere odd. + (message_list_destroy): Assume uid_rowmap exists. + (do_regenerate_messagelist): Remove the code here that is messing + with the message list data (search/uid_rowmap). We're in a + different thread boys ... + +2000-10-26 Not Zed <NotZed@HelixCode.com> + + * message-list.c (cleanup_regenerate_messagelist): Fixed some + logic to make more sense (gboolean)!pointer replaced with + (pointer != NULL). + (build_tree): Put the tree pre/post change stuff in here, where it + should be. + (build_flat): Same here. + (cleanup_regenerate_messagelist): Remove model_changed stuff here. + (setup_regenerate_messagelist): Remove pre_change stuff here. + +2000-10-20 Not Zed <NotZed@HelixCode.com> + + * message-list.c (main_folder_changed): Perform incremental update + of the display for flat view. + (ml_tree_value_at): Spit out a mroe meaningful warning when we + can't find the uid in our tree, in the folder. + + * message-thread.c (thread_messages): Made public. + (thread_messages_free): Made public. + (thread_messages): Now we also return a struct _thread_messages, + which is passed to other functions. + (container_free): Renamed from thread_messages_free. + (thread_messages_free): Take a thread_messages argument. + (thread_messages_add): New function to add a list of uid's to the + thread list. + (thread_messages_remove): Likewise, for removing them. + (cleanup_thread_messages): Change for struct changes. + (do_thread_messages): Likewise. + +2000-10-19 Not Zed <NotZed@HelixCode.com> + + * mail-tools.c (mail_tool_do_movemail): removed unused var + + * folder-browser.c (search_full_clicked): Fix for api changes, + such as it can be called an api, its mroe an utter mess infact. + (search_set): Same. + (search_set): And here. + (folder_browser_clear_search): And here. + + * message-list.c (folder_changed): Copy and forward the changeinfo + list to the mian thread. + (main_folder_changed): Free the changeinfo. Todo: something smart + with this information. + (struct regenerate_messagelist_input_s): Added a changes field. + (mail_do_regenerate_messagelist): Added a change list argument. + (message_list_set_folder): Fix for mail_do_regenreate_messagelist + api. + (message_list_toggle_threads): Same. + +2000-10-18 Iain Holmes <iain@helixcode.com> + + * mail-config-gui.c (mail_config): Make all the CLists have passive + titles. + (identity_dialog): Make the default button the "OK" button, and set + the dialog to close on pressing return on the entryboxes. + +2000-10-17 Iain Holmes <iain@helixcode.com> + + * mail-config-gui.c (service_page_item_new): Disable the optionmenu + because it is empty. + (service_page_item_auth_fill): Enable the optionmenu as there's stuff + in it now. + + * mail-callbacks.c (reply_to_sender): Call check_send_configuration + when we have the FolderBrowser because if it is done in mail_reply + (with passing NULL) it will only be able to continue if the mailer + has already been configured. + (reply_to_all): Same. + +2000-10-18 Not Zed <NotZed@HelixCode.com> + + * folder-browser.c (folder_browser_gui_init): No, we REALLY dont + want to perform an immediate search as the keys are pressed. + + * mail-display.c (on_object_requested): Kill a minor warning with + a cast. + + * mail-config.c: Include mising ctype.h to kill a warning. + + * message-thread.c (main): Fixed the test case for api changes. + + * message-list.c (message_list_drag_data_get): Set some flags to + get_folder(). I dont even think this will work because + mail_tool_get_folder doesn't handle file url's. + + * mail-vfolder.c (vfolder_uri_to_folder): Pass appropriate flags. + + * mail-ops.c (do_setup_folder): Pass appropriate flags. Hmm, + whats the difference between setup and create. *shrug* + (do_create_folder): Pass appropriate flags to get_folder. Needs a + way to specify the index flag. + + * mail-tools.c (mail_tool_get_folder_from_urlname): Changed create + to flags argument. + (mail_tool_get_local_inbox_url): Add an index argument. + (mail_tool_get_local_inbox): honour index flag. + (mail_tool_get_inbox): Changed for api change. + (mail_tool_uri_to_folder): Fixed calls to store_get_folder(); + + * mail-local.c (load_metainfo): Added an indexed field to the metainfo. + (save_metainfo): And save it too. + (do_reconfigure_folder): Honour index flag when creating the new + folder. Do not open the old folder with an index at all. + (mail_local_map_uri): Add an index argument - tells if the mbox is + indexed. + (mail_tool_local_uri_to_folder): Create & pass flags properly. + (#include gnome.h): Dont include all of gnome, just what we use, + and explicity include xml-memory, so we get xmlFree(). + +2000-10-16 Jeffrey Stedfast <fejj@helixcode.com> + + * folder-browser.c (search_full_clicked): Un #if 0'd out + (search_full): Same. + (folder_browser_gui_init): Connect search_full and search_activate. + (search_set): Uncomment search_full() + + * Makefile.am: Re-add `mail-search-dialogue.h' and + `mail-search-dialogue.c'. + +2000-10-16 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-format.c (mail_generate_reply): Decode recipient names so + that they display nicely in the To and Cc fields. + (write_field_to_stream): Now takes another argument + 'value_is_encoded' so that we know if we should decode that string + before proceding onward. Since the message subject is already + decoded before it's passed in, we don't want to decode it again + (wasted cpu time and/or any 8bit chars will be assumed to be + latin1 encoded and thus the decoded value will be corrupt). + +2000-10-16 Chris Toshok <toshok@helixcode.com> + + * mail-config-gui.c (service_page_get_url): only set the url->user + field if the user string is non-NULL and not empty. + +2000-10-16 Not Zed <NotZed@HelixCode.com> + + * message-list.c (message_list_setup_etable): Uh, fixed jeff's + wrong fix for setting the speficiation (the function changed to + set_state(), as can be seen in the e_table-scrolled_load_state() + call only 2 lines above). + +2000-10-13 Not Zed <NotZed@HelixCode.com> + + * message-list.c (message_list_setup_etable): oops, chose the + wrong thing to cut out after a merge conflict. + +2000-10-15 Chris Toshok <toshok@helixcode.com> + + * message-list.c (subtree_unread): ETreePath != GNode now, use + accessors. + (ml_tree_value_at): same. + (save_node_state): same. + (save_tree_state): same. + (nuke_uids_cb): convert to e_tree_model_node_traverse required + type. + (nuke_uids): g_node_traverse -> e_tree_model_node_traverse. + +2000-10-14 Ettore Perazzoli <ettore@helixcode.com> + + * evolution-mail.oafinfo: Add "evolution:shell-component-icon" + attribute. + +2000-10-13 Jeffrey Stedfast <fejj@helixcode.com> + + * message-list.c (message_list_setup_etable): Don't free the + service name. + +2000-10-12 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-ops.c (do_fetch_mail): sync & expunge the source folder + after filtering. + +2000-10-12 Jeffrey Stedfast <fejj@helixcode.com> + + * message-list.c (message_list_setup_etable): Create the 'spec' + and 'extras' arguments and call e_table_scrolled_new() rather than + set_specification as that function no longer (?) exists. + + Also started to add drag & drop functionality to something like + Nautilus (but #if 0'd it out until I had time to finish it and + till after 0.6). + +2000-10-12 Not Zed <NotZed@HelixCode.com> + + * message-list.c (message_list_setup_etable): Duh, fix the test + for the folder name, strstr != strcmp is it. + +2000-10-10 Not Zed <NotZed@HelixCode.com> + + * message-list.c (folder_to_cachename): Removed, changed callers + to use mail_config_folder_to_cachename instead. + + * mail-config.c (mail_config_folder_to_cachename): New utility + function to get a cache name for a folder. + + * mail-tools.c (mail_tool_do_movemail): Changed to return the path + to the mbox, rather than opening a folder of it. + + * mail-ops.c (mail_incorporate_messages): Dont bother making the + pseudo messageinfo, filder_driver_filter_message will do it for + us. + (report_status): Callback to report status of filtering operation. + (do_fetch_mail): Changed significantly - for the api changes to + the filtering system. Also now incorporates a mailbox file + directly, without having to import it into a camel folder first. + (mail_incorporate_messages): Removed entirely, no longer needed. + + * mail-vfolder.c (vfolder_refresh): Fix for context api changes. + (vfolder_uri_to_folder): Likewise. + + * folder-browser-factory.c (create_ondemand_hooks): Changed for + api changes. Also only adds demand filters to the menu (fixed a + small logic bug). + +2000-10-11 Chris Toshok <toshok@helixcode.com> + + * subscribe-dialog.c (folder_etree_value_at): special case for + folders with NULL urls (which aren't selected/subscribeable). + (unsubscribe_folder_info): can't (un)subscribe from folders with + non-NULL urls. + (subscribe_folder_info): same. + +2000-10-12 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c: Replace To with From except in Drafts, Outbox, + or Sent boxes. Make Subject column pay attention to text + attributes like bold and strikethrough. + +2000-10-12 Iain Holmes <iain@helixcode.com> + + * component-factory.c: Disable the executive summary. + +2000-10-11 Chris Toshok <toshok@helixcode.com> + + * subscribe-dialog.c (FOLDER_ETABLE_SPEC): set expansion to 0.0, + minimum-width to 16, and resizable to false for the subscribed + column. + (folder_info_subscribed): new function so we can do the correct + path munging. + (subscribe_folder_info): only add the folder to the storage if + there wasn't an exception subscribing it. + (unsubscribe_folder_info): same, but unsubscribing. + (folder_etree_value_at): use folder_info_subscribed. + (folder_toggle_cb): same. + (unsubscribe_folder_foreach): same. + (subscribe_folder_foreach): same. + (subscribe_dialog_gui_init): set the bold column on the text cell, + and add the subscribed pixbuf. + +2000-10-11 Anna Marie Dirks <anna@helixcode.com> + * mail-threads.c: Changed the password-getting dialog so that the + text entry has focus. + +2000-10-11 Chris Toshok <toshok@helixcode.com> + + * subscribe-dialog.c (STORE_ETABLE_SPEC): change cell type to + "string" since we're not including it in the extras. + +2000-10-11 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c, message-list.h, subscribe-dialog.c: Changed + these to use the proper form for the column element. + +2000-10-11 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c, message-list.h, subscribe-dialog.c: Updated + these to the new ETable style of specifications. + +2000-10-11 Chris Toshok <toshok@helixcode.com> + + * subscribe-dialog.c (subscribe_dialog_gui_init): convert to the + new gal e-table stuff. + (html_size_req): + (html_new): + (put_html): #if 0 out the html functions since description stuff + isn't used and we don't want the warnings. + +2000-10-11 Chris Toshok <toshok@helixcode.com> + + * subscribe-dialog.c (subscribe_dialog_gui_init): remove the html + description stuff for now. + +2000-10-10 Chris Toshok <toshok@helixcode.com> + + * subscribe-dialog.c (folder_toggle_cb): umm.. duh :) only + subscribe if it's not subscribed, and vice versa. + (subscribe_folder_foreach): make sure to call + e_tree_model_node_changed. + (unsubscribe_folder_foreach): make sure to call + e_tree_model_node_changed. + +2000-10-10 Chris Toshok <toshok@helixcode.com> + + * mail-ops.c (setup_scan_subfolders): add a ref to input->storage + here so that the ref/unref pattern more closely matches other + mail-ops. also, this keeps the storage from being freed when we + hit the unref in cleanup_scan_subfolders, which is important + because we maintain a reference to it in the storage_hash in + component-factory.c + + * subscribe-dialog.h: add storage field. + + * subscribe-dialog.c (subscribe_folder_info): new function, + subscribe to a folder given it's CamelFolderInfo, and add it to + the shell - we're generating a path from the name of the folder + which is bad. + (unsubscribe_folder_info): same (except we unsubscribe and remove + from the shell). + (storage_selected_cb): unref the currently selected storage. + (subscribe_dialog_destroy): unref the currently selected storage. + (subscribe_dialog_construct): sc->storage = NULL. + + * component-factory.c (mail_lookup_storage): new function, to look + up a EvolutionStorage corresponding to a CamelService. we ref the + EvolutionStorage before passing it back. + (mail_add_new_storage): insert the storage into storages_hash if + result is EVOLUTION_STORAGE_OK. + + * mail.h: add prototype for mail_lookup_storage. + +2000-10-10 Larry Ewing <lewing@helixcode.com> + + * mail-format.c (mail_generate_reply): make sure we dup the return + value of get_reply_to or get_from when building the recipient list. + +2000-10-10 Iain Holmes <iain@helixcode.com> + + * mail-summary.c (generate_html_summary): Removed the <li> from the + HTML. + +2000-10-10 Cody Russell <bratsche@gnome.org> + + * mail-threads.c: Added #include <errno.h> + +2000-10-09 Iain Holmes <iain@helixcode.com> + + * mail-summary.c: Removed the extra arguments to rule_context_load. + +2000-10-09 Chris Toshok <toshok@helixcode.com> + + * subscribe-dialog.c, subscribe-dialog.h: use our own etable to + display the stores, and get them from the mail-config api. put + #if 0'ed code in place to add/remove the folders from the shell + when they're subscribed/unsusbcribed. also, react to double + clicks in the folder etable by toggling subscription status. + +2000-10-08 Iain Holmes <iain@helixcode.com> + + * mail-summary.c (create_summary_view): Updated to use new icon code. + +2000-10-08 Iain Holmes <iain@helixcode.com> + + * mail-summary.c (generate_html_summary): Generic function to + recreate the HTML of the summary. Checks all the folder summaries. + (generate_folder_summarys): Create a summary of all the vfolders + and the Inbox. + (create_summary_view): Generate the folder summarys before the + HTML. + +2000-10-09 Ettore Perazzoli <ettore@helixcode.com> + + * folder-browser.c: Don't #include "mail-search-dialogue.h" as + it's missing from the repository. + (search_full_clicked): Temporarily `#if 0'ed out. + (search_full): Likewise. + (folder_browser_gui_init): Don't connect `search_full'. + (create_option_menu): Don't connect `search_menu_deactivate'. + (folder_browser_gui_init): Don't connect `search_activate'. + (search_set): Don't do `search_full()'. + (folder_browser_gui_init): Likewise. + + * Makefile.am (evolution_mail_SOURCES): Remove + `mail-search-dialogue.h' and `mail-search-dialogue.c' as NotZed + forgot to put them into CVS. + +2000-10-06 Not Zed <NotZed@HelixCode.com> + + * mail-search-dialogue.c: New widget, full search dialogue for + mail. + + * folder-browser.c (search_set): If we click on custom search, run + the full search dialogue. + (folder_browser_gui_init): Add a button to perform a full search. + (search_full): Bring up the mail search dialogue asynchronously. + (search_full_clicked): Handle search options. + (folder_browser_destroy): Free the saved rule if there is one + there. + (search_options[]): Added a custom option option - brings up the + full search dialogue. + (search_set): Disable the search entry if we are doing a full + search. + + * mail-vfolder.c (vfolder_create_storage): Yay, finally + depeterised this stuff. + (vfolder_uri_to_folder): Removed an irrelevant comment. + + * mail-callbacks.c (filter_edit): And here. + + * mail-ops.c (do_fetch_mail): And here too. + + * mail-autofilter.c (filter_gui_add_from_message): Fixed call to + context_load. + (filter_gui_add_for_mailing_list): And here too. + + * folder-browser-factory.c (create_ondemand_hooks): Remove that + ondemand callback snot. + +2000-10-05 Not Zed <NotZed@HelixCode.com> + + * message-list.c (message_list_init_etable): Build the etable once + we know what folder we are going to use. + (save_header_state): Save the header spec to a cache file. + (message_list_destroy): Save the header spec. + (message_list_setup_etable): Setup the etable spec for this + folder, from a saved version if one exists, or to suit the folder + type (sent/received). + (message_list_set_folder): Setup the etable here once we have a folder. + +2000-10-09 Michael Meeks <michael@helixcode.com> + + * message-list.c (message_list_toggle_threads): re-write. + + * folder-browser-factory.c (control_activate): update paths, need + CVS HEAD bonobo, use a listener not a verb. + +2000-10-08 Miguel de Icaza <miguel@helixcode.com> + + * mail-ops.c (mail_incorporate_messages): Tag string for translation + (do_flag_messages): ditto. + + * mail-threads.c (pipe_write): Repeates writes on EINTRS. + (pipe_read): Repeats reads on EINTRS. + (mail_operation_queue): Use pipe_write + (mail_op_set_percentage): ditto. + (mail_op_hide_progressbar): ditto. + (mail_op_show_progressbar): ditto. + (mail_op_set_message): ditto. + (mail_op_get_password): ditto. + (mail_op_error): ditto. + (mail_op_forward_event): ditto. + (mail_operations_terminate): ditto. + (dispatch): use pipe_read. + (dispatch): use pipe_write + (dispatch): ditto. + + * mail-ops.c (mail_incorporate_messages): Only show message being + incorporated every 2 seconds, to avoid a bunch of CORBA round trips. + (do_transfer_messages): ditto. + (do_forward_messages): ditto. + +2000-10-07 Miguel de Icaza <miguel@helixcode.com> + + * mail-ops.c (do_fetch_mail): Move the functionality to + incorporate messages into mail_incorporate_messages. + (mail_load_evolution_rule_context): New function. Move the + functionality for loading the context rules to its own function. + +2000-10-06 Iain Holmes <iain@helixcode.com> + + * mail-summary.c: Fix the locking up of the mail by only calling + camel functions from the camel thread, and ORBit functions from + the GTK thread. Watch for the message-changed signal again. + + * component-factory.c (summary_fn, component_factory_init): + Re-enabled it, cos I think it works again. + + * mail-display.h: Remove the pb_cache. + + * Makefile.am: Readd the mail-summary.[ch] files and add the + evolution-services library to the link. + +2000-10-06 Chris Toshok <toshok@helixcode.com> + + * mail-ops.c (do_scan_subfolders): set the @subscribed_only + parameter to TRUE, since the subscribe UI is the only interface + that should show unsubscribed groups. + +2000-10-06 Ettore Perazzoli <ettore@helixcode.com> + + * mail-ops.c (do_scan_subfolders): Add missing @subscribed_only + parameter in the call to `camel_store_get_folder_info()'. [FALSE, + I hope that's right.] + +2000-10-05 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-format.c (write_field_to_stream): Decode the header before + writing it to the header box. + + * mail-callbacks.c (send_receieve_mail): fetch mail before + sending, this is a temp fix for POP-before-SMTP authentication. + +2000-10-05 Michael Meeks <michael@helixcode.com> + + * component-factory.c (summary_fn, component_factory_init): + Disable summary stuff, it appears to be badly broken. + + * Makefile.am (evolution_mail_SOURCES): add mail-summary.[ch] + + * subscribe-dialog.c (update_pixmaps): upd. + (set_pixmap): upd. + (subscribe_dialog_gui_init): upd. + remove redundant and annoying forward definitions. + + * folder-browser-factory.c (control_deactivate): upd. + (control_activate_cb): upd. + (control_activate): upd. + (set_pixmap): upd. + (update_pixmaps): upd. + (register_ondemand): upd. + (create_ondemand_hooks): upd. + +2000-10-04 Jeffrey Stedfast <fejj@helixcode.com> + + * message-list.c (address_compare): Use CamelInternetAddress + instead of my quick hack (aka InternetAddress). + +2000-10-05 Iain Holmes <iain@helixcode.com> + + * mail-summary.c: Don't watch for the message-changed signal. + +2000-10-05 Iain Holmes <iain@helixcode.com> + + * component-factory.c (component_factory_init): Setup the summary + factory as well. + (summary_fn): New function to create the ExecutiveSummaryComponent. + + * mail-summary.c: Create the view, and update it when something + changes. + +2000-10-04 Iain Holmes <iain@helixcode.com> + + * mail-display.c (on_object_requested): Removed the pixbuf cache + as it would return the pixbufs in the reverse order every so often + and generally get all confused. + +2000-10-04 Dan Winship <danw@helixcode.com> + + * folder-browser-factory.c (control_deactivate): Add back the + "sync folder on leave" hack that got lost in the UIHandler merge. + +2000-10-04 Jeffrey Stedfast <fejj@helixcode.com> + + * folder-browser-factory.c: Instead of UnSelectAll, we want + InvertSelection. + + * mail-callbacks.c (select_all): Finished this function. + (invert_selection): Finished. (was unselect_all - but that's not + what we really wanted as it'd be pointless. invert_selection is a + much more useful callback :-) + +2000-10-04 Chris Toshok <toshok@helixcode.com> + + * mail-tools.c (mail_tool_get_root_of_store): remove news specific + check. + (mail_tool_uri_to_folder): news: -> nntp: + +2000-10-04 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-ops.c (do_filter_ondemand): Don't expunge the source + mailbox on completion. + +2000-10-04 Dan Winship <danw@helixcode.com> + + * mail-ops.c (do_scan_subfolders): Don't try to add_folders if + get_folder_info returned NULL. + +2000-10-04 Not Zed <NotZed@HelixCode.com> + + * message-list.c (message_list_init_header): Fix the attachment + icon width. + (content_is_attachment): Perform some simple tests to see if the + message contains an attachment. + (build_subtree): Kill a pointless warning. + +2000-10-04 Miguel de Icaza <miguel@helixcode.com> + + * mail-callbacks.c (delete_msg): Added a comment to a piece of + code that I was trying to "fix" just to find that the strange + behaviour here that was about to be fixed, was actually a fix to + the problem I was trying to fix. + + So put the original comments from Dan, and will hope that someone + with more knowledge about this can figure why the delete key wont + delete messages and select the next unread message. + +2000-10-02 Chris Toshok <toshok@helixcode.com> + + * subscribe-dialog.c (subscribe_dialog_destroy): destroy our + tree_model and remove the root node. also, release_unref our + control and view, and unref the listener. + + * mail-tools.c (mail_tool_uri_to_folder): news url's contain host + names too, now. + +2000-10-02 Chris Toshok <toshok@helixcode.com> + + * subscribe-dialog.c, subscribe-dialog.h: add a + storage-set-view-listener, and add a little printf saying what + storage was selected. + +2000-10-02 Chris Toshok <toshok@helixcode.com> + + * subscribe-dialog.c (subscribe_dialog_gui_init): get + Evolution::StorageSetView interface on our storage set view + control, and set "show_folders" to FALSE. + +2000-10-02 Chris Toshok <toshok@helixcode.com> + + * Makefile.am (INCLUDES): add -I$(top_srcdir)/widgets/misc + + * subscribe-dialog.c (subscribe_dialog_gui_init): change the + window title to Manage Subscriptions, bold subscribed folders, and + add a title bar ala the evolution shell (but without the close + button). + +2000-10-02 Chris Toshok <toshok@helixcode.com> + + * subscribe-dialog.h: add fields for the storage set + Bonobo_Control and Evolution_StorageSetView interfaces. + + * subscribe-dialog.c (subscribe_dialog_gui_init): create the uih + as early as possible, and add the storage set view to the left + side of the hpaned. + +2000-09-22 Michael Meeks <michael@helixcode.com> + + * folder-browser-factory.c (set_pixmap): upd. + (control_activate): upd. + +2000-10-02 Dan Winship <danw@helixcode.com> + + * mail-config-gui.c: Remove "Port" entry from source dialog. We'll + use "host:port" like Netscape and other programs do. + (service_page_get_url): If host ends in ":###", use that as port. + (service_page_set_url): If URL contains a port, append it to the + hostname, separated by a colon. + +2000-10-02 Chris Toshok <toshok@helixcode.com> + + * Makefile.am (evolution_mail_SOURCES): subscribe-control.[ch] -> + subscribe_dialog.[ch] + + * mail-callbacks.c (manage_subscriptions): subscribe_control -> + subscribe_dialog. Also, pass the shell to subscribe_dialog_new. + + * mail-types.h: SubscribeControl -> SubscribeDialog. + + * subscribe-dialog.c, subscribe-dialog.h: rename from + subscribe-control.[ch]. + + * subscribe-dialog.c (subscribe_dialog_construct): pass + Evolution_Shell in. + (subscribe_dialog_new): takes Evolution_Shell argument now. + +2000-10-02 Chris Toshok <toshok@helixcode.com> + + * message-list.c (message_list_init_renderers): remove the 2 tree + pixbufs, so adjust the offsets to the score pixbufs. also, pass + NULL for the open/closed pixbufs to the tree cell renderer. + +2000-10-02 Dan Winship <danw@helixcode.com> + + * mail-ops.c (mail_do_scan_subfolders, etc): Update for + CamelFolderInfo changes. + + * message-list.c (message_list_destroy): Don't save_tree_state if + there's no folder associated with the MessageList. + + * folder-browser.c (folder_browser_set_uri): Only call + mail_do_load_folder if the URI is not "". + +2000-10-02 Iain Holmes <iain@helixcode.com> + + * mail-display.[ch]: Add a cache for the pixbufs, hashed on CID, + so that we only have to make a thumbnail once. + +2000-10-01 Iain Holmes <iain@helixcode.com> + + * mail-display.c: Generate the thumbnails on an idle function so + that the user interface isn't locked. Checks in case the widget it + will use to display the image isn't destroyed. + +2000-10-01 Iain Holmes <iain@helixcode.com> + + * mail-display.c (on_object_requested): If the attachment is an + image display a thumbnail of it, instead of the generic image + icon. + +2000-09-29 Miguel de Icaza <miguel@helixcode.com> + + * folder-browser-factory.c: Add print preview verb here. + + * mail-callbacks.c (do_mail_print): Handle printing here, the + complete engine. + (mail_print_preview_msg): new. does print previewing. + (mail_print_msg): does printing of the message. + +2000-09-29 Chris Toshok <toshok@helixcode.com> + + * subscribe-control-factory.c, subscribe-control-factory.h: nuked. + + * subscribe-control.c, subscribe-control.h: lots of changes. we + now pop up a dialog, and will have a storage set view on our left + side, like the shell does. + + * mail.h: add prototype for manage_subscriptions. + + * mail-callbacks.c (manage_subscriptions): new function, pops up + the subscribe dialog. + + * folder-browser-factory.c: add the verb for managing + subscriptions. + + * Makefile.am (evolution_mail_SOURCES): add subscribe-control.[ch] + again. + +2000-09-28 Chris Toshok <toshok@helixcode.com> + + * subscribe-control.h (subscribe_search): added prototype. + + * subscribe-control.c (subscribe_search): new function. + + * subscribe-control-factory.c (make_folder_search_widget): new + function, to add search widget to toolbar. + (control_activate): create the search widget and add it to the + toolbar. + +2000-09-28 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-ops.c (do_send_queue): Messages should be appended to Sent + as Seen. + (do_send_mail): Same. + +2000-09-28 Ettore Perazzoli <ettore@helixcode.com> + + * Makefile.am: Don't compile `subscribe-control' for now. It + needs to be converted to the new UI handler code in Bonobo; it + doesn't compile right now. + +2000-09-27 Chris Toshok <toshok@helixcode.com> + + * subscribe-control.c (subscribe_refresh_list): new function. + + * subscribe-control.h (subscribe_refresh_list): new prototype. + + * subscribe-control-factory.c (update_pixmaps): add RefreshList + pixmap. also, add it to the verbs list. + +2000-09-27 Chris Toshok <toshok@helixcode.com> + + * mail-types.h: add SubscribeControl typedef. + + * Makefile.am (evolution_mail_SOURCES): add the subscribe stuff. + + * subscribe-control-factory.h * subscribe-control-factory.c * + subscribe-control.c: * subscribe-control.h: Mostly mocked up + subscribe ui. + +2000-09-27 Jeffrey Stedfast <fejj@helixcode.com> + Note: We need a configuration option to specify whether to log + filtering actions or not. + + * mail-ops.c (do_filter_ondemand): Updated to pass a log file + pointer to filter_driver_run. + (do_fetch_mail): Same. + (mail_do_fetch_mail): Fixed a compiler warning. + +2000-09-27 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-callbacks.c (composer_postpone_cb): Fix it so that "send + later" will still mark a message as being replied, forwarded, + whatever. Closes bug #568 on bugzilla. + +2000-09-27 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-ops.c (do_filter_ondemand): If the message has been + deleted, don't try filtering it - skip to the next message. Fixes + bugzilla bug #639. + +2000-09-25 Jeffrey Stedfast <fejj@helixcode.com> + + * folder-browser-factory.c: Shuffling (un)select all menu items to + the Edit menu. + +2000-09-25 Jeffrey Stedfast <fejj@helixcode.com> + + * folder-browser-factory.c: Added new menu items + + * mail-callbacks.c (mark_as_seen): New callback to mark all + selected messages as Seen. + (mark_as_unseen): New callback to mark all selected messages as + Unseen. + (select_all): New callback to select all messages (not yet + finished) + (unselect_all): New callback to unselect all messages (not yet + finished) + +2000-09-25 Not Zed <NotZed@HelixCode.com> + + * message-list.c (folder_to_cachename): Function to convert a + folder name/path to a filename for per-folder data. + (save_tree_state): + (load_tree_state): + (free_tree_state): For loading/saving the state of the expansion + of nodes in the tree. + (message_list_destroy): Save the tree state when done. + (save_node_state): Changed logic, we save when the node should be + closed on startup. i.e. any new nodes with children automatically + default to being open. + (subtree_unread): Check for unread messages in a subtree. So + false messages (for tree roots) are properly displayed. + +2000-09-25 Jeffrey Stedfast <fejj@helixcode.com> + + * message-list.c (address_compare): Updated to use Nat's + ENameWestern parser. + + * Makefile.am: link against e-util/ename/libename.la + +2000-09-25 Dan Winship <danw@helixcode.com> + + * mail-ops.c: CamelException is not for compile-time errors. + Replace lots of argument checks in setup_ functions with + g_return_if_fails in the public functions. Also remove some + prototypes that weren't needed because they were for static + functions that are defined before they're used. + +2000-09-23 Michael Meeks <michael@helixcode.com> + + * folder-browser-factory.c (set_pixmap): upd. + (control_activate): upd. + +2000-09-23 Ettore Perazzoli <ettore@helixcode.com> + + * message-list.c (internet_address_new_from_string): Skip spaces + at the beginning of the string first before doing anything else. + The code that follows doesn't like the first character of the + string to be a space. + +2000-09-22 Jeffrey Stedfast <fejj@helixcode.com> + + * message-list.c (address_compare): New comparison function for + email addresses. + (subject_compare): New comparison function for message subjects. + (message_list_init_header): Updated to use the new compare funcs. + +2000-09-21 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-format.c (mail_generate_reply): Fixed some memory + leakage. Call free_recipients() so we don't leak memory. + +2000-09-19 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-ops.c (do_scan_subfolders): Use the folder's full_name so + recursive directory structures display correctly ;-) + +2000-09-19 Dan Winship <danw@helixcode.com> + + * mail-ops.c (do_scan_subfolders): Update for CamelFolder changes + (subfolder_names -> subfolder_info). + +2000-09-19 Dan Winship <danw@helixcode.com> + + * mail-callbacks.c (create_msg_composer, compose_msg, send_to_url, + mail_reply, forward_msg): * mail-format.c (mail_generate_reply): * + mail-ops.c (cleanup_edit_messages): + + * mail-view.c (view_forward_msg): Deal with NULL composer. + +2000-09-18 Dan Winship <danw@helixcode.com> + + * main.c (main): Call gnome_vfs_init() since the composer now does + file operations (to get the MIME type of attachments). + +2000-09-18 Jeffrey Stedfast <fejj@helixcode.com> + + * message-list.c: Removed COL_ONLINE_STATUS because we don't want + that. Renamed COL_PRIORITY to COL_SCORE and set it up to sort-of + work, I'm not really sure which renderer I should use. + +2000-09-18 Christopher James Lahey <clahey@helixcode.com> + + * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and + $(EXTRA_GNOME_LIBS). Removed unneeded libraries. + + * component-factory.c, folder-browser-factory.c, folder-browser.c, + mail-callbacks.c, mail-config-gui.c, mail-display.c, + mail-display.h, main.c, message-list.c, message-list.h: Fixed the + #include lines to deal properly with gal. + +2000-09-16 Michael Meeks <michael@helixcode.com> + + * Makefile.am (INCLUDES): add datadir + + * folder-browser-factory.c (control_activate): use it. + +2000-09-15 Dan Winship <danw@helixcode.com> + + * mail-callbacks.c (transfer_msg): Revert **Temp fix** from below + since the relevant shell bug has been fixed now. + + * mail-ops.c (do_fetch_mail): Fix the sense of the "keep on + server" check so we're not doing this backwards. Don't + get_message_flags, because POP doesn't support it and it's + pointless anyway since we're setting deleted, not toggling it. + call camel_folder_sync with expunge=TRUE so that the deletions are + actually recorded. + +2000-09-15 Dan Winship <danw@helixcode.com> + + This bug was so much fun to fix the first time that I decided to + fix it again. + + 2000-07-11 Dan Winship <danw@helixcode.com> + + * mail-ops.c (real_send_mail): Set the post_send_data flag + rather than toggling it. (Maybe we'll need more control + over it later, but for now, the only flag we set is + "replied", and we want that set, not toggled.) + +2000-09-14 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-callbacks.c (transfer_msg): **Temp fix** Send "" as the + default folder to select as anything else seems to cause a + segfault in shell's user_get_folder(). + (check_configured): A spoon full of 'line wrapping' makes the + medicine go down, the medicine go dowwwwn... + +2000-09-14 Iain Holmes <terrorist@gegl.org> + + * mail-callbacks.c (check_configured): Ask if you want to + configure the mail client if it isn't configured already. + (check_send_configuration): Remove the error box if mail isn't + configured. + (send_queued_mail): Same. + +2000-09-14 Dan Winship <danw@helixcode.com> + + * mail-ops.c (setup_append_mail): camel_folder_append is perfectly + happy to take a NULL info. + +2000-09-14 Michael Meeks <michael@helixcode.com> + + * folder-browser-factory.c: move fn to bonobo. + (set_pixmap): update. + (control_deactivate): add bonobo_ui_handler_unset_container + +2000-09-14 Christopher James Lahey <clahey@helixcode.com> + + * mail-config-gui.h: Changed the include here because it caused + make distcheck to fail for me. I changed it from <Evolution.h> to + "shell/Evolution.h". This seems to have fixed things. + +2000-09-14 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-ops.c (do_fetch_mail): Only use the cache if the user plans + to keep_on_server. + +2000-09-14 Michael Meeks <michael@helixcode.com> + + * folder-browser-factory.c (control_deactivate): kill + warning. (control_activate): set threaded toggle state, + add freeze / thaw. + (set_pixmap, fill_toolbar, update_pixmaps): update. + +2000-09-13 Christopher James Lahey <clahey@helixcode.com> + + * folder-browser-factory.c: Fixed a warning (Missing include + file.) + +2000-09-12 Ettore Perazzoli <ettore@helixcode.com> + + ($(EVOLUTION_MAIL_CORBA_GENERATED)): Add space after `-I'. + +2000-09-12 Ettore Perazzoli <ettore@helixcode.com> + + * Makefile.am: Remove `ui.xml' stuff. + +2000-09-12 Dan Winship <danw@helixcode.com> + + * mail-local-storage.c (mail_local_storage_startup): set + folder_tree before adding the listener, since that will eventually + invoke callbacks that will look at it. + + * folder-browser-factory.c (control_deactivate): sync the folder + on deactivate. + +2000-09-12 Ettore Perazzoli <ettore@helixcode.com> + + * message-list.c (on_right_click): Also display the name of the + mailing list in the "Filter on Mailing List" item for additional + Coolness factor. + + * mail-autofilter.c (filter_gui_add_for_mailing_list): Create the + rule with `filter_filter_new()' so that it also has an action + part. + + * mail-mlist-magic.c (get_header): Use the right header name to + retrieve the header. + +2000-09-12 Ettore Perazzoli <ettore@helixcode.com> + + * message-list.c (on_right_click): Grey out the mailing list + filter item if `mail_mlist_magic_detect_list()' returns NULL on + this message [i.e., if we cannot figure out a mailing list for + this message]. + (filter_mlist): Good boys don't use F words. + + * mail-mlist-magic.c (check_sender): Work safely if + `header_name_return' or `header_value_return' are NULL. + (check_x_been_there): Likewise. + (check_delivered_to): Likewise. + (check_x_mailing_list): Likewise. + (check_x_loop): Likewise. + (get_header): Use the right header name to retrieve the header. + + * message-list.c (on_right_click): Mark strings for translation. + +2000-09-12 Ettore Perazzoli <ettore@helixcode.com> + + * folder-browser-factory.c: Use the latest, shiny, amazing TigerT + art for the toolbar. + + * component-factory.c: #include "mail-local-storage.h". + (owner_set_cb): Removed unused variable. + + * message-list.c (filter_sender): Made static. + (filter_recipient): Likewise. + (filter_subject): Likewise. + (vfolder_recipient): Likewise. + (vfolder_sender): Likewise. + (vfolder_subject): Likewise. + + * mail.h (vfolder_subject): Removed prototype [WTF was this doing + here?!?!]. + (vfolder_sender): Likewise. + (vfolder_recipient): Likewise. + (filter_subject): Likewise. + (filter_sender): Likewise. + (filter_recipient): Likewise. + + * message-list.c: Added a new "Filter on mailing list" menu item. + (filter_mlist): Callback for this menu item. Use + `filter_gui_add_for_mailing_list' to pop up the filter dialog with + the appropriate rule. + + * mail-autofilter.c (filter_gui_add_for_mailing_list): New. + + * message-thread.c (dump_tree): Removed unused variable. + + * mail-mlist-magic.c: New. + * mail-mlist-magic.h: New. + + * mail-autofilter.c (rule_match_recipients): Mark strings for + translation. + (rule_from_message): Likewise. + (filter_gui_add_from_message): Likewise. + +2000-09-12 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-ops.c (do_fetch_mail): Was trying to unhook an event from + the wrong folder - oops. + +2000-09-12 Not Zed <NotZed@HelixCode.com> + + * message-thread.c: Reverted to version 1.15. + (remove_node): Ok, if a node has a parent, remove it from the + parent list, otherwise remove it from the (supplied) root list. + (group_root_set): When we merge children, free the lost node. + (thread_messages_free): Remove the return, run as is. + (prune_empty): Plugged another small leak. + +2000-09-11 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-callbacks.c (run_filter_ondemand): Updated to use the new + mail_do_filter_ondemand. + + * mail-ops.c (do_fetch_mail): Update to use the new + filter_driver_run args. + (do_filter_ondemand): Updated to use the new filter_driver_run + args. + (mail_do_filter_ondemand): Take a FilterContext as a argument + instead of a driver as we need to destroy the filter inside the + do_filter_ondemand function and things'd get messy. + +2000-09-11 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-ops.c (do_fetch_mail): Don't have the filter driver + self_destruct. + +2000-09-11 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-ops.c (do_fetch_mail): If we're fetching from an mbox + formatted file then we need to do some special-casing. + +2000-09-11 Ettore Perazzoli <ettore@helixcode.com> + + * component-factory.c (owner_set_cb): Call + `mail_local_storage_startup()' to set up handling of the local + storage. + + * mail-local-storage.c: New. + * mail-local-storage.h: New. + +2000-09-11 Christopher James Lahey <clahey@helixcode.com> + + * mail-display.c: Fixed some warnings. + +2000-09-11 Dan Winship <danw@helixcode.com> + + * mail-display.c, mail-format.c: Another big rewrite of this + stuff. Now all (well, most) attachments get a small icon with a + description and a (non-obvious) right-click pop-up menu with + options to save, open in an external program, or show/hide inline. + + TODO: antialias the icon, add more options to the pop-up for + certain MIME types, add an icon to the headers, fix PGP to work + like everything else, fix message/external-body to work again, + add some icon caching action, etc, etc. + +2000-09-09 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-ops.c (do_fetch_mail): Use the CamelUIDCache so that we + only retrieve *new* messages and also send notes to the status bar + telling it which message we're downloading so that Ettore can + sleep at night ;-) + +2000-09-09 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-ops.c (do_fetch_mail): Updated to not send hook/unhook data + to filter_driver_run as it no longer takes those args. + (do_filter_ondemand): Same. Also wrap filtering in freeze/thaw to + prevent signals from being queued up + +2000-09-09 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-ops.c (do_fetch_mail): Freeze the default folder before + filtering and thaw it afterward to prevent a ton of + "folder_changed" signals from being queued. + +2000-09-08 Christopher James Lahey <clahey@helixcode.com> + + * folder-browser.c, mail-config-gui.c, mail-ops.c: Fixed some + warnings. + + * message-list.c: Added base ETableModel functions. + +2000-09-08 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-ops.c (do_fetch_mail): Updated to pass a CamelMessageInfo + to filter_driver_run + (do_filter_ondemand): Same. + +2000-09-07 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-ops.c (do_filter_ondemand): Updated to check the boolean + return code from filter_driver_run to find out whether or not the + message was filtered so that it can decide whether or not to + delete the message from the source folder or not. + +2000-09-07 Jesse Pavel <jpavel@helixcode.com> + + * mail-format.c (mail_generate_reply) Changed the behavior of + Reply-to-All so that the sender's address does not appear in + the cc: list. + +2000-09-07 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-ops.c (do_fetch_mail): Updated to pass an exception to + filter_driver_run and also check the exception before deleting the + message from the source folder. + (do_filter_ondemand): Updated to pass an exception to + filter_driver_run + +2000-09-07 Dan Winship <danw@helixcode.com> + + * session.c (session_init): Pass a storage dir to + camel_session_new now. + + * main.c (main): Can't call session_init here now, because it + requires evolution_dir to be set. + + * component-factory.c (owner_set_cb): call session_init here. + + * mail-ops.c (do_fetch_mail): Fix previous fix. (Free the uids, + just do it correctly.) + +2000-09-07 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-ops.c (do_fetch_mail): Don't free uids, let the camel + folder do that when it gets finalized + +2000-09-06 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-ops.c (mail_do_filter_ondemand): New async function to + filter messages on demand. + (do_fetch_mail): Updated to filter 1 message at a time using the + new filter-driver code + + * mail-callbacks.c (composer_postpone_cb): Send NULL as the + message info. + (run_filter_ondemand): Use mail_do_filter_ondemand instead of + filter_driver_run + + * mail-tools.c: Removed mail_tool_filter_contents_into and + mail_tool_fetch_mail_into_searchable as they have now been + deprecated. + +2000-09-06 Dan Winship <danw@helixcode.com> + + * message-list.c (clear_tree): set the data to NULL for the tree + root, so nuke_uids won't try to free anything. + +2000-09-06 Ettore Perazzoli <ettore@helixcode.com> + + * folder-browser.c (folder_browser_new): @shell made const. + `CORBA_Object_duplicate()' it before storing it. + (folder_browser_destroy): Free the shell object with + `CORBA_Object_release()', not `CORBA_free()'. + + * folder-browser-factory.c (folder_browser_factory_new_control): + @shell made const. + +2000-09-05 Dan Winship <danw@helixcode.com> + + * mail-display.c (make_safe_filename): + * mail-format.c (handle_mystery): + * mail-identify.c (mail_identify_mime_part): + camel_mime_part_get_filename now deals with both + Content-Disposition and Content-Type. + +2000-09-05 Peter Williams <peterw@helixcode.com> + + * mail-ops.c (cleanup_load_folder): Check for NULL folder. + (mail_do_setup_folder): Copy the 'name' parameter so that + we can free it. + + * message-list.c (nuke_uids): Depth '-1' means "unlimited", not 0. + +2000-09-05 Dan Winship <danw@helixcode.com> + + * component-factory.c (owner_set_cb): Re-rename "Sent". + + * folder-browser.c (fb_resize_cb): Remove the "+ 90" here since it + seems to break things for me, and it's not commented anyway and + there's no excuse for adding 90 to a number with no explanation. + +2000-09-05 Peter Williams <peterw@helixcode.com> + + * folder-browser.c (folder_browser_destroy): Don't free the shell; + it's not ours. + +2000-09-05 Dan Winship <danw@helixcode.com> + + * mail-tools.c (mail_tool_move_folder_contents): only call + camel_folder_get_message_info if the folder has + summary_capability. Don't hack up a fake CamelMessageInfo: + append_message will take NULL. + + * mail-ops.c: Replace mail_do_setup_draftbox, + mail_do_setup_outbox, and mail_do_setup_sentbox with + mail_do_setup_folder. + (do_send_mail, do_send_queue): s/sentbox_folder/sent_folder/ + + * component-factory.c (owner_set_cb): Use mail_do_setup_folder, + rename sentbox_folder to sent_folder, and call + mail_operation_wait_for_finish after the setup_folder calls in + case anything needs to use the _folder variables. + +2000-09-04 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-format.c (mail_generate_reply): Applied Jesse's patch that + will append a signature to the replied message text + + * folder-browser-factory.c: Changed "Send & Receieve" back to "Get + Mail" temporarily so that the toolbar buttons don't all get + stretched to some weird proportion + +2000-09-03 JP Rosevear <jpr@helixcode.com> + + * mail-config.c (mail_config_add_news): Copy the passed in item + before adding + (mail_config_add_source): ditto + (mail_config_add_identity): ditto + + * mail-config-gui.c (mail_config): We don't actually need a notebook + pointer. + (identities_edit_clicked): Don't explicitly destroy, we are using + gtk_clist_set_data_full now + (sources_edit_clicked): ditto + (news_edit_clicked): ditto + (mail_config): Use gtk_clist_set_row_data_full to kill leaks + +2000-09-03 Jeffrey Stedfast <fejj@helixcode.com> + + * folder-browser-factory.c: Change the "Get Mail" toolbar button + to become "Send & Receieve" + + * mail-callbacks.c (send_queued_mail): New callback function for + sending queued mail + (send_receieve_mail): New callback for Send & Receieve that + basically just calls send_queued_mail and then fetch_mail + + * mail-ops.c (cleanup_send_mail): Mod to be able to handle a NULL + composer window + (setup_send_mail): Modified to handle a NULL composer widget + (mail_do_send_queue): New convenience async function to send all + messages in a folder (aka all messages in a queue) + +2000-09-02 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-tools.c (mail_tool_move_folder_contents): Since POP3 + doesn't implement get_message_info, we need to check for info to + be NULL. In this case, we need to make our own info structure to + pass to append_message and then remember to free it + afterward. Should we even bother with get_message_info? And if so, + should we then implement get_message_info for POP3? + +2000-09-02 Ettore Perazzoli <ettore@helixcode.com> + + * folder-browser.c (etable_key): Make the `Home' key to move to + the beginning of the list and `End' to the end of it, using + `message_list_home()' and `message_list_end()'. + + * message-list.c (message_list_home): New. + (message_list_end): New. + + * folder-browser.c (folder_browser_new): Don't ref the shell here. + (folder_browser_destroy): Don't unref the shell. Instead, + `CORBA_free()' the object reference. + + * folder-browser-factory.c (control_activate): Bind "Open in New + Window" to `Ctrl-O'. + +2000-09-02 Lauris Kaplinski <lauris@helixcode.com> + + * mail-config-gui.c: Use e_utf8 wrappers + + * main.c (main): Do e_unicode_init, so we are not confusing + libunicode + +2000-09-01 Christopher James Lahey <clahey@helixcode.com> + + * folder-browser.c: Removed a warning. + +2000-09-01 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-callbacks.c (compose_msg): Attach a callback to the + postpone signal + (send_to_url): Same + (mail_reply): Same + (forward_msg): Same + (composer_postpone_cb): Callback function for the postpone signal + + * mail-ops.c (mail_do_setup_outbox): New convenience function to + load the Outbox folder + (mail_do_setup_sentbox): Same, but for Sentbox. + (do_send_mail): Now saves messages in Sentbox if sent successfully + (mail_do_append_mail): New convenience async function for + appending messages to a folder + + * component-factory.c: Added outbox_folder and sent_folder + (owner_set_cb): Call our new convenience functions to load Outbox + and Sentbox + +2000-09-01 Ettore Perazzoli <ettore@helixcode.com> + + * mail-ops.c (cleanup_scan_subfolders): Update for the extra arg + needed by `evolution_storage_new_folder()'. + * mail-vfolder.c (vfolder_refresh): Likewise. + +2000-08-31 Peter Williams <peterw@helixcode.com> + + * folder-browser.c (folder_browser_new): Don't ref the shell: + causes a race upon exit. + (folder_browser_destroy): Don't unref it. + + * mail-config-gui.c (service_page_item_new): Add a checkbutton + "use default port" to make life simple. + (service_page_get_url): Honor use_default_port. + (service_page_set_url): Set use_default_port based on the input + URL. + (toggle_port): New function, sets the sensitivity of the + port entry based on "use default port" + + (config_do_query_authtypes): Make this asynchronous, as it + may involve connecting to a server. + (service_page_detect): Call the async auth querier. + (service_page_item_new): Put the authentication stuff in if + the url_flags have URL_ALLOW_AUTH. Call the async auth querier + to get the info. + +2000-08-30 Ettore Perazzoli <ettore@helixcode.com> + + * mail-view.c (mail_view_create): Make the HTML widget grab the + focus. + +2000-08-30 Peter Williams <peterw@helixcode.com> + + * mail-config-gui.c (do_test_service): Explicitly connect to + the service again. + + * component-factory.c (mail_load_storages): Now that + camel_service_get_provider exists, use it to make this function + much simpler. + +2000-08-29 Peter Williams <peterw@helixcode.com> + + * folder-browser.c (folder_browser_new): Ref the Evolution_Shell. + Is this correct, or is it a circular reference? + +2000-08-29 Dan Winship <danw@helixcode.com> + + * mail-ops.c (mail_do_send_mail): Update this and related + functions to no longer take a From address. (The composer deals + with it itself now.) + (do_send_mail): Add the Evolution version back to the X-Mailer + header (this change got lost in the thread migration). + + * mail-callbacks.c (composer_send_cb): Don't re-fetch the From + address. It's set by the composer now. Don't free the + post_send_data from here. + (mail_reply): Attach to the composer's destroy signal to free the + psd. (The current code would free it more than once if an error + occurred while trying to send the first time.) + +2000-08-28 Peter Williams <peterw@helixcode.com> + + * mail-config-gui.c (mail_config_apply_clicked): Add new news sources, + not only stores. + +2000-08-28 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-callbacks.c (composer_send_cb): Free the from address when + we're done with it. Also, e_msg_composer_hdrs_get_from returns + alloc'd memory so don't strdup it. + +2000-08-28 Peter Williams <peterw@helixcode.com> + + * mail-ops.c (do_transfer_messages): Add status messages. + (do_flag_messages): Same. + (do_scan_subfolders): Same. + (do_forward_messages): Same. + (do_view_messages): Same. + +2000-08-28 Ettore Perazzoli <ettore@helixcode.com> + + * mail-view.c (mail_view_create): Use `gnome_app_set_toolbar()' + the easy way instead of doing things manually with `GnomeDock' and + `gnome_app_add_toolbar()'. + (MINIMUM_WIDTH): New #define. + (MINIMUM_HEIGHT): New #define. + (view_size_allocate_cb): New, callback for the "size_allocate" + signal of the mail view. It saves the last allocation in a static + `last_allocation' variable. + (mail_view_create): Connect it. + (set_default_size): New function. Set the default width/height to + the last allocation width/height; if the width/height is less than + the `MINIUM_WIDTH' or `MINIMUM_HEIGHT', use that value instead. + + * mail-tools.c (mail_tool_move_folder_contents): Show `i + 1', not + `i', so that we correctlly start counting from one instead of zero. + +2000-08-28 Peter Williams <peterw@helixcode.com> + + * *.c: s,mail_dialog_run,gnome_dialog_run,g. + + * main.c (main): Since only the main thread is dealing with GTK+, + free the GDK threads mutex and never worry about locking again. + +2000-08-28 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-crypto.c (mail_crypto_openpgp_encrypt): Fix to prevent + possible buffer overflows and a logic fix. + +2000-08-27 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-crypto.c (mail_crypto_openpgp_clearsign): New crypto + function to clearsign plaintext + +2000-08-27 Ariel Rios <ariel@arcavia.com> + + * folder-browser-factory.c (control_activate): Added bonobo menu + handler for mark_all_deleted function. + + * mail.h: (mark_all_deleted): Added prototype. + + * mail-callbacks.c (mark_all_deleted): Added callback for marking + all displayed messages in a folder as deleted. + +2000-08-26 Ettore Perazzoli <ettore@helixcode.com> + + * mail-view.c (mail_view_create): Use + `gtk_window_set_default_size' on the toplevel instead of + `gtk_widget_set_usize()', and make the default size smaller. + +2000-08-25 Christopher James Lahey <clahey@helixcode.com> + + * mail-crypto.c: Fixed an uninitialized variable. + +2000-08-26 JP Rosevear <jpr@helixcode.com> + + * evolution-mail.gnorba: Kill + + * Makefile.am: Remove gnorba related stuff + +2000-08-25 Peter Williams <peterw@helixcode.com> + + * mail-config-gui.c (service_page_item_new): If the service wants + a host, also let the user specify a port. + (MailDialogServicePageItem): Add members for the port GtkEntry and + the default port. + (service_page_get_url): Translate the port in the entry back into + the CamelURL. + (service_page_set_url): Read in the port from the URL or use + the default. + +2000-08-25 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-crypto.c (mail_crypto_openpgp_encrypt): Implemented PGP 2.x + encryption. We only need to get the passphrase if we plan to sign + the text, otherwise we don't need to worry about getting the + passphrase. + +2000-08-24 Lauris Kaplinski <lauris@helixcode.com> + + * folder-browser.c: Use e_utf8 wrappers + + * mail-config-gui.c: Use e_utf8 wrappers + +2000-08-24 Peter Williams <peterw@helixcode.com> + + * folder-browser-factory.c (control_activate): Add all the + functions from message-list.c's popup menu to the main + menu as well + + * message-list.c (vfolder_subject): These functions become + public. + + * mail-callbacks.c (mark_all_seen): Don't call camel_folder_get_uids + here. IMAP, for example, will try to communicate with the IMAP + server during that call. + + * mail-ops.c (cleanup_fetch_mail): Tell the user + which URL has no new mail, as they may be checking + more than one source. + (mail_do_flag_all_messages): New function. Flags all of + the messages in a folder. Something of a hack. This merely + extends the flag_messages operation; it doesn't implement + a new one. + (do_flag_messages et al): Fetch the uids if we need to; + use camel_folder_free_uids if necessary, etc. + + * mail-tools.c (mail_tool_move_folder_contents): Add + messages to tell the user what's going on. + +2000-08-24 Christopher James Lahey <clahey@helixcode.com> + + * folder-browser-factory.c: Fixed some warnings in the uihandler + code. + +2000-08-24 Peter Williams <peterw@helixcode.com> + + * component-factory.c (mail_load_storages): New function. + Loads a list of URI's as mail storages, and inserts them + into the shell's folder tree if appropriate (really, only + puts them into the folder tree.) + (mail_add_new_storage): Insert a storage into the folder + tree. Not always appropriate (eg, /var/spool/mail/user is + a storage that shouldn't be in the folder tree.) + (create_view): Generate the Evolution_Shell and pass it + to folder_browser_factor_new_control so that its member + 'shell' can be set. + (owner_set_cb): Instead of create_news_storage and + creating the imap storages, load the news storages and + mail storages via mail_load_storages(). + + * folder-browser-factory.c (control_activate): Change to + use providers_config again instead of mail_config. Pass + the folderbrowser so that the config code knows where + to insert the new storages if any are created. Pass + forget_passwords the folderbriwser, too, for good luck. + (folder_browser_factory_new_control): Take a new parameter, + the Evolution_Shell that we belong to. The field in + FolderBrowser has been there but was never getting set by + anything, and we need this to be able to insert new storages + into the shell's folder list. + + * folder-browser.c (folder_browser_new): Accept the + new Evolution_Shell parameter. Set it. (Should we + ref it or something?) + + * mail-config-gui.c (struct MailDruidDialog): Store an + Evolution_Shell. With this we can insert the stores into + the shell's folder list. + (struct MailDialog): Same. + (service_page_item_changed): Close a leak. + (identity_dialog): Unswitch the Add/Edit identity titles. + (news_dialog): Analogous to above. + (mail_druid_finish): Add the new mail source to the shell + view. + (mail_config_druid): Take a new Evolution_Shell parameter + for later use. + (mail_config_apply_clicked): Add all the mail sources to + the shell view. + (mail_config): Take a new Evolution_Shell parameter. + + * mail-callbacks.c (check_configured): Accept a FolderBrowser + so that we know where to put the new storages if any are + created. Almost all the callbacks are passed a FB * anyway + so this isn't a big deal. + (check_send_configuration): Make sure that we're configured + enough to be able to send mail. composer_send_cb() used to + do this, but it would need a FolderBrowser *, and there are + too many entry points to composer_send_cb to make this + feasible. + (fetch_mail): Pass the extra parm to check_configured(). + (free_psd): Move so that composer_send_cb can call this + directly. + (composer_send_cb): Don't check for proper configuration + here -- it is the caller's responsiblity to call + check_send_configuration(). Call free_psd() directly. + (compose_msg): Call check_send_configuration(). + (send_to_url): Same. This is called from mail-display.c, + though, and cannot reasonably be passed a FB. So: we can't + start up the config dialog directly; the user must do it + manually. Oh well. + (mail_reply): Same as above. + (forward_msg): Same as compose_msg(). + (edit_msg): Same as above. + (providers_config): Reenable so that we can pass mail_config + its FolderBrowser. + + * mail-display.c (write_data_to_file): Use the much more + straightforward run_and_close to retrieve the user's answer, + instead of the reply callback stuff. + + * mail-threads.c (mail_dialog_run): New wrapper for + gnome_dialog_run that will take care of the GDK lock correctly. + Far far more complicated than it should be. + (mail_dialog_run_and_close): Analogous to above. + (read_msg): Set inside_read_msg and unset it for the benefit + of the two above functions. Don't bracket ourselves in + GDK_THREADS_ENTER/_LEAVE anymore. + (mail_operation_queue): Use mail_dialog_run_and_close. + (show_error): As above. + (get_password): As above. + + * mail-display.c (write_data_to_file): This has the only + exception to the rule that "use mail_dialog_run(_and_close) + instead of the gnome equivalent always." Not quite sure why + it doesn't work here (the file selection window?). + + * mail-config-gui.c (identity_dialog): Change to + mail_dialog_run_and_close. + (source_dialog): Same as above. + (news_dialog): Same as above. + (cleanup_test_service): Same as above. + (mail_config): Change to mail_dialog_run(). + + * session.c (mail_request_dialog): Change to + mail_dialog_run_and_close. + + * mail-tools.c (mail_tool_uri_to_folder_noex): As above. + + * mail-ops.c (cleanup_fetch_mail): As above. + + * mail-local.c (local_reconfigure_folder): As above. + + * mail-callbacks.c (check_send_configuration): As above. + (ask_confirm_for_empty_subject): As above. + (edit_msg): As above. + (filter_edit): As above. + +2000-08-23 Dan Winship <danw@helixcode.com> + + * folder-browser-factory.c (control_activate): Reformat a bit, + make "Folder" appear before "Message", fill in the Message menu + more. + +2000-08-23 Peter Williams <peterw@helixcode.com> + + * mail-ops.c (describe_fetch_mail): Don't use the camel calls + to describe the operation. + +2000-08-22 Peter Williams <peterw@helixcode.com> + + * mail-tools.c (mail_tool_get_folder_from_urlname): Don't connect + to the service explicitly. + (mail_tool_send_via_transport): Don't connect to the transport + explicitly. + (mail_tool_get_root_of_store): Same. + + * mail-config-gui.c (do_test_service): Just try camel_session_get_service, + which will now connect for us. + + * message-thread.h: Add a note about *next being the first member + of struct _container... if it isn't, everything goes Very Wrong. + + * message-thread.c (free_container): Extra debug print. + (remove_node): Handle the case of empty containers holding the child + that we're interested in. + (thread_messages_free): Extra debug print. + +2000-08-20 Jeremy Wise <jwise@pathwaynet.com> + * folder-browser.c: (fb_resize_cb) Added function to monitor resize + of the e_paned in the main view. + +2000-08-18 Peter Williams <peterw@helixcode.com> + + * mail-tools.c (mail_tool_filter_contents_into): Fix a race. filter_driver_run is an + async operation so it won't even be started by the time we sync the folders and check + for the movemailbox to be emtpy. Thus the empty check for the movemail would fail + 99% of the time. + + * mail-callbacks.c (run_filter_ondemand): Pass he new argument to the ever-mushrooming + filter_driver_run. + +2000-08-17 Peter Williams <peterw@helixcode.com> + + * folder-browser-factory.c (control_activate): Fix menu item names. + (register_ondemand): Put the ondemand hooks into the new folder menu. + +2000-08-17 Ettore Perazzoli <ettore@helixcode.com> + + * mail-vfolder.c (vfolder_gui_add_rule): Use stock OK/Cancel + buttons and add i18n support. + + * folder-browser-factory.c (control_activate): Changed menu item + label from "Mark all messages seen" to "Mark All Messages as + Read". Changed capitalization of some other menu items. + (control_activate): Put the message- and folder- related menu + items in new "Message" and "Folder" subtrees which are created in + the `<Component Placeholder>' item created by the shell. + (control_deactivate): Updated accordingly. + (control_activate): Put the filter and vfolder editors, the mail + configuration and the "forget password" command into the + "settings" menu. + (control_deactivate): Updated accordingly. + + * mail-config-gui.c (transport_page_new): Add translation mark. + (service_page_new): Show the menu items before appending them. + (service_page_item_new): Use `GTK_FILL' for the "Detect supported + types..." button. + + * local-config.glade: Change the apply button into an ok button. + +2000-08-17 Peter Williams <peterw@helixcode.com> + + Implement filtering on demand. + + * folder-browser-factory.c (register_ondemand): New function. Callback + to put the filter-on-demand filters into the bonobo UIH; + (create_ondemand_hooks): New function. Read in our on-demand filters + and hook them into the UI. + (remove_ondemand_hooks): New function. Remove the hooks when done with + them. + (control_activate): Call create_ondemand_hooks() + (control_deactivate): Call remove_ondemand_hooks(); + + * mail-callbacks.c (run_filter_ondemand): New function. Callback + for running a filter on demand. + (filter_edit): Pass NULLs as the new arguments to rule_context_load. + + * mail.h: Prototype run_filter_ondemand(); + + * folder-browser.c (oc_destroy): New function. Iterator to destroy + an fb_ondemand_closure. + (folder_browser_destroy): Free the data associated with the ondemand + menu items. + (my_folder_browser_init): Clear the filter_ variables. + + * folder-browser.h: Two new members of FolderBrowser: filter_menu_paths, + a list of fb_ondemand_closures so that the menu items can be freed and + removed; and filter_context, a permanently loaded FilterContext for + running the ondemand filters. Prototype the new fb_ondemand_closure + structure. + + * mail-autofilter.c (filter_gui_add_from_message): Pass NULLs as the + new parameters to rule_context_load (we don't need to hook up ondemand + menu items...) + + * mail-tools.c (mail_tool_filter_get_folder_func): Rename from + get_folder_func() and make public so mail-callbacks.c:run_filter_ondemand() + can use it too. + (mail_tool_filter_contents_into): Use the new name of get_folder_func. + Pass NULLs as the extra arguments to rule_context_load. Pass the + extra source type to filter_driver_run (only use INCOMING). + + * mail-tools.h: Publicly prototype mail_tool_filter_get_folder_func() + + * mail-vfolder.c (vfolder_create_storage): Pass NULLs as the extra + arguments to rule_context_load. + + * message-list.c (message_list_init): Free our strdup'd uids when + the table model gets destroyed. + (nuke_uids): New function. Walk the tree nodes to free the uids. + (nuke_uids_cb): New callback for nuke_uids(); + + +2000-08-16 Richard Hult <rhult@hem.passagen.se> + + * mail-ops.c (cleanup_display_message): Use a configurable timeout. + + * mail-config.c (mail_config_set_mark_as_seen_timeout): New function + for the settable mark-as-seen timeout. + (mail_config_mark_as_seen_timeout): Likewise. + (mail_config_write): Write the timeout setting. + (config_read): Read timeout setting. + + * mail-config-gui.c (mail_config): Add option for the settable + mark-as-seen timeout. + (mail_config_apply_clicked): Likewise. + (timeout_changed): New function for the timeout setting. + +2000-08-16 Peter Williams <peterw@helixcode.com> + + * message-thread.c (walk_containers): More (default disabled) + mem debugging here. Fix the big leaks. + + * mail-format.c (get_url_for_icon): Copy the url_path so that + it can't get freed under us. + + * mail-threads.c (mail_operation_queue): Fix a leak. + + * mail-ops.c (mail_do_display_message): Fix another leak. + + * message-list.c (message_list_destroy): Remove the seen_id timeout + if necessary. + + * mail-local.c (mail_tool_local_uri_to_folder): Fix a leak. + + * session.c (auth_callback): Fix a leak. Almost seems as if + I've been using Purify... + + +2000-08-15 Peter Williams <peterw@helixcode.com> + + * message-thread.c (alloc_container): Add support for debugging + container allocations -- currently disabled. Make sure that + the g_strfreev works. + + * message-list.c (main_message_changed): Address bug #496 -- + possible race when forwading a message_changed event. + + * mail-threads.c (dispatch): Close the dispatch thread's half of + pipes when about to exit. + (mail_operations_terminate): Close the main thread's half of the + pipes when about to exit. + (all): Add i18n support. + + * mail-tools.c (all): Add i18n support. + + * mail-ops.c (transfer_messages): Generalize move_messages into + transfer_messages so that we can copy too. + (all): Add i18n supprt where appropriate. + + * mail-ops.h: Prototype the new mail_do_transfer_messages. + + * folder-browser-factory.c: Add a UI hook for copy_msg. + + * mail-callbacks.c (transfer_msg): Generalize move so that it supports + copy as well, and add a callback 'copy_msg'. + + * message-list.c (on_right_click): Add a right-click hook for Copy Message. + + * session.c (mail_request_dialog): Don't deadlock when in main thread. + +2000-08-14 Peter Williams <peterw@helixcode.com> + + * mail-threads.c (show_error): Fix the error dialogs. + (read_msg): Re-enable them. + + * mail-ops.c (do_scan_subfolders): Silence a compile warning. + +2000-08-13 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-crypto.c (mail_crypto_openpgp_encrypt): Added support for + encrypting via PGP 5.0 + +2000-08-13 Ettore Perazzoli <ettore@helixcode.com> + + * mail-ops.c (cleanup_create_folder): Release the listener object + with `CORBA_Object_release()', not `CORBA_free()'. + +2000-08-13 Ettore Perazzoli <ettore@helixcode.com> + + * main.c (main): Set the signal handlers for `SIGSEGV' and + `SIGBUS' to the default ones. + +2000-08-13 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-config.c (mail_config_write): Set config->configured to + TRUE + +2000-08-13 Ettore Perazzoli <ettore@helixcode.com> + + * mail-config-gui.c (mail_config_druid): Don't + `GDK_THREADS_ENTER()'/`GDK_THREADS_LEAVE()'. + +2000-08-13 Ettore Perazzoli <ettore@helixcode.com> + + * mail-threads.c (update_active_views): Just iterate through all + the controls, not just the active ones. + + * folder-browser-factory.c: Don't keep track of active controls. + Rather, keep track of all of them. + (folder_browser_factory_get_active_control_list): Removed. + (folder_browser_factory_get_control_list): New. + +2000-08-13 Dan Winship <danw@helixcode.com> + + * Makefile.am (evolution_mail_SOURCES): add mail-local.h + +2000-08-13 Ettore Perazzoli <ettore@helixcode.com> + + * mail-threads.c (read_msg): For now, don't do anything about + errors. + +2000-08-13 Dan Winship <danw@helixcode.com> + + * mail-format.c (add_url): Fix some freed-memory references + + * mail-threads.c (get_password): Don't free the prompt. It + doesn't belong to you. + +2000-08-13 Ettore Perazzoli <ettore@helixcode.com> + + * mail-ops.c (mail_do_create_folder): Duplicate the listener + object. + (cleanup_create_folder): Free the listener. + +2000-08-13 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-threads.c (get_password): Don't wrap the gnome_dialog_run + in GDK_THREADS_ENTER/LEAVE + +2000-08-13 Ettore Perazzoli <ettore@helixcode.com> + + * folder-browser-factory.c (control_destroy_cb): Remove the + control from the active control list, if it's there. + + * mail.h (folder_browser_factory_new_control): Removed prototype. + (folder_browser_factory_init): Removed prototype. + + * folder-browser-factory.h: New. + + * folder-browser-factory.c: New static variable `active_controls', + list of the currently active controls. + (control_activate): Add the control to it. + (control_deactivate): Remove the control from it. + (folder_browser_factory_get_active_control_list): New. + + * mail-threads.c (mail_operations_get_status): New function. + + * folder-browser.c (folder_browser_gui_init): Add i18n support for + the labels. + + [The following is actually from a patch by Peter Williams + <peterw@helixcode.com>.] + + * Removed types `PERCENTAGE', `HIDE_PBAR', `SHOW_PBAR'. New + struct `block_info_s'. Removed all the code to create and destroy + the progress window. + +2000-08-13 Jeffrey Stedfast <fejj@helixcode.com> + + * component-factory.c (create_news_storage): Updated to reflect + changes to mail_do_scan_subfolders + (create_imap_storage): Same. + + * mail-ops.c (mail_do_scan_subfolders): No longer takes an + add_INBOX argument + +2000-08-13 Dan Winship <danw@helixcode.com> + + * mail-ops.c (do_scan_subfolders): Lose a reference to the store + on purpose. To be fixed later. + +2000-08-12 Dan Winship <danw@helixcode.com> + + * component-factory.c (create_imap_storage): Take the source as a + command-line argument rather than fetching it from mail-config. + (owner_set_cb): Call create_imap_storage on each configured IMAP + store. + + * mail-format.c (decode_pgp): Redo this so that the lock icon + remains active after a failed decryption so you can click on it + and try again. + (try_inline_pgp, handle_multipart_encrypted): Put a border around + the decrypted data. + + * message-list.c (cleanup_regenerate_messagelist): Don't clear the + tree here. If two "folder_changed"s arrive in close succession, + then one possible ordering of events is + cleanup_regenerate_messagelist, cleanup_regenerate_messagelist, + cleanup_thread_messages, cleanup_thread_messages. Which would + result in the message list being filled in twice without being + cleared in between. So don't clear it until the rebuilding + function itself is called. + (clear_tree): New function to empty out the ETreeModel in the + message list. + (build_tree): Change to simpler interface. Call clear_tree. + (build_subtree): Does most of the work of the old build_tree + (build_flat): Remove unused arg. Call clear_tree. + + * message-thread.c (cleanup_thread_messages): Update for + build_tree interface change. + + * mail-ops.c (do_send_mail): Don't leak the transport. + + * mail-tools.c (mail_tool_get_folder_from_urlname): Don't ref the + store returned from camel_session_get_store. It's already reffed. + (mail_tool_get_root_of_store): Ditto. + (mail_tool_send_via_transport): Remove some commented-out code and + fix it to not leave the transport connected if sending fails. + + * mail-callbacks.c (delete_msg): Toggling a flag is an + "instantaneous" operation, so if we're only doing one, just do it + and return, rather than queueing it for the other thread. This + makes the "Delete" key work correctly (move to the next message) + again. + + * mail-identify.c: Remove workaround for gnome-vfs 0.2 bug. + + * mail-format.c (lookup_handler): Remove workaround for function + introduced between gnome-vfs 0.2 and 0.3, since we depend on 0.3 + now. + +2000-08-12 Michael Meeks <michael@helixcode.com> + + * main.c (main): kill using_oaf assertion. + +2000-08-11 Peter Williams <peterw@helixcode.com> + + * Makefile.am: Make it so that test-mail links + +2000-08-11 JP Rosevear <jpr@helixcode.com> + + * folder-browser-factory.c (control_activate): Move menu items + that affect a single message together, ditto with ones that + affect multiple messages, put a separator in. + +2000-08-11 Christopher James Lahey <clahey@helixcode.com> + + * mail-format.c, mail-tools.h, message-list.c: Fixed a warning. + +2000-08-11 Dan Winship <danw@helixcode.com> + + * mail-display.c, mail-format.c: Redo this again. Get rid of + struct mail_format_data and move most of that info into + MailDisplay itself, and pass the MailDisplay around. Add a GData** + to MailDisplay, and put the urls hash table into that. Also add + the ability to redisplay the currently-displayed message (with the + same GData**), and add a "show_pgp" datum to it that controls + whether or not to decrypt PGP messages, and redo the PGP stuff + (again) to take that into account. Now you don't get the annoying + PGP password dialog box without any warning. + +2000-08-11 Peter Williams <peterw@helixcode.com> + + * mail-config-gui.c (service_acceptable): Make verify-service + an asynchronous operation. + + * Makefile.am (noinst_PROGRAMS): Don't build test-thread + while mail-threads.c is in flux. + + * mail-threads.c (mail_operation_queue): Make the error + and query dialogs modal. + + * mail-local.c (update_progress): Don't use the + temporarily-disabled mail_op_set_percentage(). + +2000-08-11 Chris Toshok <toshok@helixcode.com> + + * mail-config.c (mail_config_get_default_news): use config->news + instead of config->sources. + +2000-08-11 Dan Winship <danw@helixcode.com> + + * mail-format.c (destroy_part): Update this for CamelObject + (try_inline_pgp): Deal with decrypting here rather than trying to + pawn the data off to handle_multipart_encrypted, since it most + likely won't be correct (won't have the proper MIME headers inside + the encrypted part). + (handle_multipart_encrypted): Add code from Nathan Thompson-Amato + to re-MIME-parse the decrypted data after decrypting. + + * mail-crypto.c (mail_crypto_openpgp_{de,en}crypt): Get the + password here rather than having it passed in. Remove some dead + code. + + * session.c (mail_request_dialog): Allow this to work in either a + sync or an async context. + +2000-08-11 Peter Williams <peterw@helixcode.com> + + * mail-tools.c (mail_tool_fetch_mail_into_searchable): Don't + do the imap check here... it's a silly place. + + * mail-ops.c (do_fetch_mail): Do the imap check here. + +2000-08-11 JP Rosevear <jpr@helixcode.com> + + * mail-config-gui.c (service_page_new): Work around + gtk option menu bug. + (service_page_item_auth_fill): ditto + +2000-08-11 Peter Williams <peterw@helixcode.com> + + * mail-threads.c (read_msg): Fix the new FORWARD_EVENT handler + (didn't free msg, didn't write newline in the debug) + + * mail-local.c (local_reconfigure_folder): Make the dialog + modal. + + * mail-callbacks.c (select_first_unread): Fix some warnings. + + * mail-threads.c (mail_op_forward_event): New function that + writes a FORWARD_EVENT signal to the compipe, to allow Camel + events to be handled in the main thread. + (read_msg): Handle a FORWARD_EVENT. + + * mail-callbacks.c (select_first_unread): Forward the + event into the main thread to prevent the GTK calls in the + dispatcher thread. + (main_select_first_unread): New name of old select_first_unread. + + * message-list.c (folder_changed): Same as above. + (main_folder_changed): Same as above. + (message_changed): Same as above. + (main_message_changed): Same as above. + + * mail-format.c (free_byte_array): Note about using + mail_op_forward_event. (cmm_destroyed): Same. + +2000-08-11 Dan Winship <danw@helixcode.com> + + * message-list.c (message_list_select): If the caller passes "-1" + for the model row, translate that to view row 0. + + * message-list.c (idle_select_row): + * mail-callbacks.c (select_first_unread): Use new + message_list_select kludge^H^H^H^H^H^Hfeature + +2000-08-11 JP Rosevear <jpr@helixcode.com> + + * mail-config-gui.c (source_dialog): Allow the window + to be growable + + * mail-config.c: use void in empty declarations + +2000-08-11 Peter Williams <peterw@helixcode.com> + + * mail-config.c (mail_config_get_news): Change () to (void) + if a function takes no arguments. + + * mail-config.h: Prototype mail_config_get_{sources,news}x + +2000-08-11 JP Rosevear <jpr@helixcode.com> + + * mail-config-gui.c (identity_dialog): iddialog, not sdialog + (news_edit_clicked): Kill leftover c-p crud + +2000-08-11 JP Rosevear <jpr@helixcode.com> + + * mail-config-gui.c (news_edit_clicked): Check nrow, not srow. + +2000-08-11 JP Rosevear <jpr@helixcode.com> + + * mail-config-gui.c (service_acceptable): Use camel_object_unref + instead of gtk_object_unref + (mail_druid_finish): Use new config accessors + (mail_config_druid): No need to call config functions + (news_add_clicked): Increments maxnrow, not maxsrow + (mail_config_apply_clicked): Use new config accessors + (mail_config): ditto + + * component-factory.c (create_imap_storage): Use new + config accessors + (create_news_storage): ditto + + * mail-config.glade: Set news clist name correctly + + * mail-config.c (config_read): Rename from mail_config_read and + made private - no one should need to do a read manually. + (mail_config_set_send_html): New accessor + (mail_config_add_identity): ditto + (mail_config_get_sources): ditto + (mail_config_add_source): ditto + (mail_config_get_default_news): ditto + (mail_config_get_news): ditto + (mail_config_add_news): ditto + + * mail-config.h: Prototype new accessors. Config struct is now + in mail-config.c and hidden from the world. + +2000-08-11 Dan Winship <danw@helixcode.com> + + * mail-ops.c (describe_fetch_mail): Use camel_service_get_name + rather than showing the URL to the user. + +2000-08-11 Peter Williams <peterw@helixcode.com> + + * mail-ops.c (do_refile_messages): Freeze the folders while moving. + (do_flag_messages): Same. + + * mail-threads.c (get_password_clicked): Fix the case when the + user /doesn't/ use escape to cancel the dialog :-/ + (show_error_clicked): Same. + +2000-08-11 Dan Winship <danw@helixcode.com> + + * mail-tools.c (mail_tool_get_folder_name): Add a function to + return a useful name for a folder (not just "mbox" or "mh" for + any local folder.) + + * mail-ops.c: Use mail_tool_get_folder_name rather than + folder->full_name when printing folder names. + +2000-08-11 Not Zed <NotZed@HelixCode.com> + + * mail-tools.c (mail_tool_get_local_inbox_url): Properly handle + different local file formats. The folder isn't always mbox. + (mail_tool_do_movemail): Movemail always uses an mbox format + however. + (mail_tool_get_local_movemail_url): What is the mbox url, it is + always the same type, mbox. + (mail_tool_fetch_mail_into_searchable): Same here. + + * mail-local.c (mail_local_map_uri): Map a local uri to the real uri. + +2000-08-10 Christopher James Lahey <clahey@helixcode.com> + + * folder-browser-factory.c, message-list.c, message-thread.c, + session.c: Fixed some warnings. + +2000-08-10 Dan Winship <danw@helixcode.com> + + * session.c (session_init): Don't call e_setup_base_dir. It was + wrong and it doesn't exist any more. + + * component-factory.c (owner_set_cb): Update for changed + prototype, and record the evolution_homedir. Move call to + mail_config_init here from session.c so it happens after + evolution_dir is initialized. + + * mail.h: define "extern char *evolution_dir;" (formerly in + e-util/e-setup.h) + + * component-factory.c, mail-callbacks.c, mail-config-gui.c, + mail-config.c, mail-display.c, mail-format.c, mail-ops.c, + mail-tools.c, session.c: Remove "e-util/e-setup.h" include. + +2000-08-10 Peter Williams <peterw@helixcode.com> + + * test-thread.c (queue_ops): Use mail_operations_terminate() to + close the other thread nicely. + + * mail-threads.c (get_password_deleted): Handle the "close" event + as a cancel. + (show_error): Same. + +2000-08-10 Dan Winship <danw@helixcode.com> + + * mail-tools.c (mail_tool_get_folder_from_urlname): Add a + "gboolean create" argument to pass to camel_store_get_folder. + + * mail-ops.c (do_create_folder, do_setup_draftbox): + * mail-local.c (mail_tool_local_uri_to_folder): + * mail-vfolder.c (vfolder_uri_to_folder): Add create flag to + mail_tool_get_folder_from_urlname calls. + +2000-08-10 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-callbacks.c (composer_send_cb): Fix compile warning by + casting the object to a CamelObject + +2000-08-10 Peter Williams <peterw@helixcode.com> + + * mail-tools.c (mail_tool_filter_contents_into): Delete the source + folder if told to and if it's empty + (mail_tool_get_local_movemail_path): New function. + +2000-08-10 Dan Winship <danw@helixcode.com> + + * mail-callbacks.c (reply_to_all): Fix a bug in the async changes. + (This was identical to reply_to_sender.) + +2000-08-10 Not Zed <NotZed@HelixCode.com> + + * mail-local.c (do_local_reconfigure_folder): Update for + append_message api change. + + * message-list.c (message_list_regenerate): Change for search api + change. + (ml_tree_value_at): Add a colour column, based on the colour + assigned in the summary. + (message_list_init_renderers): Init colour column. + +2000-08-09 Peter Williams <peterw@helixcode.com> + + * mail-display.c (part_for_url): Remove a gtk_object_get_data + +2000-08-09 Cody Russell <bratsche@gnome.org> + + * folder-browser-factory.c, mail-view.c: Make the toolbars + honor the user's gnomecc settings for detachable toolbars. + +2000-08-09 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-ops.c (composer_send_cb): Get the from address set in the + composer, if that fails ONLY THEN get the default from mail config + + * mail-config.c (mail_config_get_identities): New convenience + function for getting a list of the configured identities + +2000-08-09 Dan Winship <danw@helixcode.com> + + * mail-display.c (on_object_requested): Support controls as well + as embeddables. + +2000-08-09 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-view.c (mail_view_create): Changed to only take a + FolderBrowser argument + + * mail-ops.c (real_view_msg): Create a new FolderBrowser for each + message being opened in a new window. Also set the + message_list->cursor_uid and mail_display->current_message to the + appropriate values. + (real_view_msg): Updated to reflect changes in the mail_view_create + + * message-list.c (on_right_click): Nicify a little, add in a menu + separator between VFolder and Filter stuff. + + * mail-ops.c (real_view_msg): Set the UID of the message that is + being displayed + +2000-08-09 Ettore Perazzoli <ettore@helixcode.com> + + * folder-browser-factory.c (control_activate): Use + `GNOME_STOCK_MENU_*' things instead of `GNOME_STOCK_PIXMAP_*' + things, that are too big and look bad. + +2000-08-09 Peter Williams <peterw@helixcode.com> + + * mail-view.c (mail_view_create): Save the top window so that on_close + can find it [with set_data]. + (on_close): Recover the top window. + + * mail-threads.c (read_msg): Destroy the window instead of hiding it. + +2000-08-09 Not Zed <NotZed@HelixCode.com> + + * mail-autofilter.c (filter_gui_add_from_message): Helper function + to add with confirm. + (rule_match_recipients): Dont set real name if its empty for the + filter name. + (rule_match_subject): was cutting ] off mailing list names. + + * message-list.c (on_right_click): Added menu to install + vfolders/filters from message. + +2000-08-09 Not Zed <NotZed@HelixCode.com> + + * mail-autofilter.c: New file to hold auto filter/vfolder stuff. + +2000-08-09 Christopher James Lahey <clahey@helixcode.com> + + * mail-display.c, mail-format.c, mail-ops.c: Fixed some warnings. + + * message-list.c: Fix the call to e_popup_menu_run to match the + new signature. + +2000-08-09 Ettore Perazzoli <ettore@helixcode.com> + + * folder-browser-factory.c (control_activate): Create a "print + message" menu item. + +2000-08-09 Jeffrey Stedfast <fejj@helixcode.com> + + * message-list.c (message_list_init): Attached a double_click + signal handler + (on_double_click): Our lovely new double_click callback. Will + display the current selected message in a new window + +2000-08-08 Jeremy Wise <jwise@pathwaynet.com> + * mail-config.[ch], folder-browser.c: Added configuration work to + save the size of the vpaned widget. It will be functional when the + e_paned widget emits a "resized" signal + +2000-08-08 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-config.h: Added void as an argument to functions not + needing any parameters to avoid compile warnings. + +2000-08-08 Jeremy Wise <jwise@pathwaynet.com> + * mail-config.[ch], main.c, folder-browser-factory.c: State of the + threaded list toggle is now saved via gnome_config + +2000-08-08 Dan Winship <danw@helixcode.com> + + * mail-config-gui.c (service_page_item_new): Attach a signal + handler to call the "changed" function when the user clicks the + "keep on server" checkbox. + +2000-08-08 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-ops.c (view_msg): New convenience function with params of a + normal Gtk callback function. We also now create a new + FolderBrowser object so that the message-view window isn't tied to + the display in the main window + (view_message): Now calls view_msg (this function is a bonobo + callback and can't be used with gtk widgets) + (edit_msg): Same idea as view_msg() + (edit_message): Again, same as view_message() + + * message-list.c (on_right_click): Callback for creating an + e-popup-menu + (message_list_init): Added a right_click event to trigger a pop-up + menu to be displayed + +2000-08-08 Dan Winship <danw@helixcode.com> + + * mail-config-gui.c: Add "Don't delete messages from server" + button to remote SOURCEs that aren't STORAGEs (ie, POP). + (provider_list): Only list SOURCEs. (ie, not mh) + + * mail-config.c: Save/load "keep_on_server" flag. + + * mail-ops.c (fetch_remote_mail): New function, split out of + real_fetch_mail. Deals with copying mail from a remote server into + a temporary mbox, possibly using a CamelUIDCache to leave the + messages on the server. + + * mail-crypto.c, mail-format.c, message-thread.c: Fix some + compiler warnings. + + * mail-format.c (mail_generate_reply): Fix up format of addresses. + (write_headers): Use CamelAddress functions to simplify this. + +2000-08-08 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-view.c: Lets get rid of the last separator in the toolbar + until we add n/p + +2000-08-08 Ettore Perazzoli <ettore@helixcode.com> + + * mail-threads.c (queue_window_delete_event_cb): Callback for + "delete_event", just doing nothing. + (create_queue_window): Connect it to the "delete_event" signal of + the progress dialog. + +2000-08-08 Peter Williams <peterw@helixcode.com> + + * mail-threads.c (remove_next_pending): Sanity check for + job queue, which seems to have some issues. + (read_msg): Make sure that the next operation isn't started + before the last one is cleaned up. + + * mail-callbacks.c (fetch_mail): Fix erroneous free. + + * mail-config-gui.c (mail_config_druid): Wrap the gtk_main call. + + * mail-ops.c (do_flag_messages): Allow specification of whether + to set the flags unconditionally or toggle their current state. + + * message-list.c (ml_tree_set_value_at): Toggle the seen status; + don't set it unconditionally. + + * mail-callbacks.c (delete_msg): Toggle the deletion status; + don't set it unconditionally. + + * mail-tools.c (mail_tool_do_movemail): Fix for undeclared tmpfd. + + * mail-local.c (local_reconfigure_folder): Big rewrite; make into + an asynchronous operation. Use some mail tools to make life easy. + +2000-08-08 Dan Winship <danw@helixcode.com> + + * main.c (main): Move mail_config_init after session_init, since + it depends on evolution_dir being set. + +2000-08-08 JP Rosevear <jpr@helixcode.com> + + * mail-ops.c (check_configured): Use config accessors + (fetch_mail): ditto + (composer_send_cb): ditto + (create_msg_composer): ditto + + * mail-config-gui.h: Update API + + * mail-config.h: Update API + + * mail-config.c: Add accessor functions + (mail_config_is_configured): accessor function + (mail_config_get_default_identity): ditto + (mail_config_get_default_source): ditto + (mail_config_get_transport): ditto + (mail_config_send_html): ditto + (identity_copy): Make public + (identity_destroy): ditto + (identity_destroy_each): ditto + (service_copy): ditto + (service_destroy): ditto + (service_destroy_each): ditto + (mail_config_init): Rename from init_config and make public + (mail_config_clear): Rename from clear_config and make public + (mail_config_read): Rename from read_config and make public + (mail_config_write): Reanme from write_config and make public + + * main.c (main): Call mail_config_init. + + * mail.h: Include mail-config-gui.h + + * mail-config-gui.c: Move config gui stuff here. + (source_dialog): Kill memory leak from debug leftovers. + Make sure returned source is NULL by default + +2000-08-07 Not Zed <NotZed@HelixCode.com> + + * mail-local.c (local_reconfigure_folder): Redone to show a + dialogue first, and show progress of whats happening as its done. + + * Makefile.am (glade_DATA): Added local-config.glade, for mailbox + reconfig dialogue. + +2000-08-04 Not Zed <NotZed@HelixCode.com> + + * folder-browser.c (mail_uri_to_folder): Use local_uri_to_folder() + for local uri's (file://). + + * mail-local.c (local_uri_to_folder): Handle looking up folder + storage type before opening the store/folder. + (local_reconfigure_folder): Function to reconfigure the format of + a local mailbox into another storage format. + + * Makefile.am (evolution_mail_SOURCES): Added mail-local.c and + missing mail-vfolder.h. + +2000-08-07 Jeffrey Stedfast <fejj@helixcode.com> + + * Makefile.am: Added mail-view.c + + * folder-browser-factory.c (control_activate): Adda menu item for + viewing the message + + * mail-view.c: New file containing methods for viewing messages in + separate windows + + * mail-ops.c (view_message): New callback for viewing messages in + a new window. + +2000-08-07 Jeffrey Stedfast <fejj@helixcode.com> + + * component-factory.c (real_create_generic_storage): New function + to replace real_create_imap_storage and real_create_news_storage + (create_imap_storage): Updated. + (create_news_storage): Updated. + +2000-08-07 Peter Williams <peterw@helixcode.com> + + * mail-ops.c (cleanup_edit_messages): New operation: edit_messages + For continuing draft messages. + (attach_messages): Fix accidental 0 datasize. + (do_setup_draftbox): New operation: setup_draftbox. Soooo hacky. + + * mail-callbacks.c: Move fejj's edit message to the async home. + + * component-factory.c (owner_set_cb): Use mail_do_setup_draftbox. + + +2000-08-07 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-display.c: + * component-factory.c: s/strncasecmp/g_strncasecmp + + * mail-format.c (write_headers): Get rid of kludge around subject + beginning with spaces. + (mail_generate_reply): Get rid of kludge around subject beginning + with spaces and also use g_strncasecmp instead of strncasecmp for + portability + + * mail-ops.c (forward_msg): Get rid of kludges around subject + beginning with spaces. + +2000-08-07 Dan Winship <danw@helixcode.com> + + * message-list.c (message_list_select): Clarify that the input row + is a model row, and swap it to a view row when finding the + next/previous row. + (idle_select_row): Select view row 0, not model row 0. + + * mail-ops.c (select_first_unread): Start from view row 0, not + model row 0. + +2000-08-07 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-format.c (mail_get_message_body): Renamed from reply_body() + so other functions can use it + (mail_generate_reply): Updated to reflect function name changes + + * mail-ops.c (real_edit_msg): Attach a callback to the send signal + +2000-08-07 Jeffrey Stedfast <fejj@helixcode.com> + + * folder-browser-factory.c (control_activate): New menu item under + Actions to allow editing of messages. + + * mail-ops.c (edit_message): New function for editing messages. + + * component-factory.c (owner_set_cb): Create a global reference to + the Drafts mbox folder for the Composer to use + +2000-08-06 JP Rosevear <jpr@helixcode.com> + + * mail-config.c (ndialog_page_undone): Desensitize ok button + (sdialog_page_undone): ditto + (iddialog_page_undone): ditto + (news_page_new): Typo - news, not mail + (transport_page_new): Typo - transport, not source + (identity_dialog): Set undone callback + (source_dialog): ditto + (news_dialog): ditto + (mail_druid_identity_undone): Desensitize next button and + mark done flag as false + (mail_druid_source_undone): ditto + (mail_druid_transport_undone): ditto + (mail_druid_identity_done): Mark done flag as true + (mail_druid_source_done): ditto + (mail_druid_transport_done): ditto + (mail_druid_prepare): Use done flag to set next button + sensitivity, fixes #467 + +2000-08-06 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-crypto.c (mail_crypto_openpgp_encrypt): Added support for + encrypting with GnuPG. Support for PGP5 and PGP2 are still in + progress. + +2000-08-05 Dan Winship <danw@helixcode.com> + + * folder-browser-factory.c (control_activate): Remove bonobo 0.15 + vs 0.15-and-a-half ifdef, since we require post-0.16 now. + +2000-08-04 Dan Winship <danw@helixcode.com> + + * mail-threads.c (mail_operation_wait_for_finish): Don't use + "while (gtk_events_pending ()) gtk_main_iteration ();" inside + another tight loop, because it makes the thread spin rather than + blocking and waiting like it should. + +2000-08-04 Peter Williams <peterw@helixcode.com> + + * message-thread.c (do_thread_messages): Uninitialized variable + fix. + + * mail-threads.c (read_msg): Small leak fix. + + * component-factory.c (owner_unset_cb): Use mail_operations_ + terminate() instead of wait_for_finish(). + + * mail-threads.c (mail_operation_queue): Centralize the clur + handling functions; fix a race condition where the dispatcher + would overwrite the closure before the main thread could + free the old one. + (mail_operations_terminate): New function, wait for ops to + finished and kill the other thread. + (dispatch): changes to die when terminate is called (abort + on NULL spec). + + * mail-ops.c (cleanup_display_message): Fix improper handling + of displaying a NULL message (which means clear the message + display). + +2000-08-04 Ettore Perazzoli <ettore@helixcode.com> + + * message-list.c (message_list_regenerate): Free the GPtrArray + correctly instead of using `g_strfreev()'. + +2000-08-04 Michael Meeks <michael@helixcode.com> + + * folder-browser-factory.c (control_activate): release the ui_handler + after set_container. + +2000-08-03 Michael Meeks <michael@helixcode.com> + + * mail-config.c (identity_page_new): only whack the sig in if the + file exists. + + * component-factory.c (factory_fn): count running instances, + attach destroy signal (factory_destroy): add. + + * main.c (main): pass orb around. + +2000-08-03 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-ops.c (composer_send_cb): Yay, no more compiler warnings + + * mail-config.c: set config = NULL + (provider_list) Eek! Initialize news to NULL! Also, use + g_slist_prepend() for "performance" gains ;-) + (init_config): Set the config member data to NULL just to be on + the safe side + (clear_config): Don't bother freeing slist data if the slist is + NULL + +2000-08-03 Peter Williams <peterw@helixcode.com> + + * mail-ops.c (op_forward_messages): Use the new dynamic + operation naming. + + * message-thread.c (describe_thread_messages): Ditto. + + * message-list.c (describe_regenerate_messagelist): Ditto. + + * mail-threads.c (get_password_clicked): Dynamic generation + of descriptive text for mail operations. "Opening a folder" -> + "Opening INBOX". Supported only so far, will be implemented + quickly. + g_strdup() the old_message when changing the queue_window_label's + text. + + * main.c (main): One more gconf reference to take out... + + * mail-ops.c (composer_send_cb): Check for an identity before + sending. + +2000-08-03 JP Rosevear <jpr@helixcode.com> + + * mail-config.glade: Increase window size slightly, rename + "Transport" to "Mail Transport" + + * mail-config.c (init_config): Remove gconf references + (clear_config): ditto + (read_config): ditto + (write_config): ditto + (mail_config): Null provider lists before filling them + (mail_config_druid): ditto + (identity_page_new): Increase spacing of vbox + (service_page_new): ditto + + * Makefile.am: Remove gconf references. + +2000-08-02 Dan Winship <danw@helixcode.com> + + * mail-config.c (service_page_item_new): Make the "test settings" + button FILL rather than SHRINK so it doesn't end up oddly-placed. + + * mail-config-druid.glade: Make the icon background dark blue + like the surrounding area. + +2000-08-02 Peter Williams <peterw@helixcode.com> + + * component-factory.c (owner_unset_cb): Wait for async operations + to finish before exiting. + +2000-08-02 Christopher James Lahey <clahey@helixcode.com> + + * mail-ops.c, message-list.c: Emit "model_pre_change" where + appropriate. + +2000-08-02 Peter Williams <peterw@helixcode.com> + + * mail-config.h: #ifdef _MAIL_CONFIG_H protect the header. + +2000-08-01 Peter Williams <peterw@helixcode.com> + + * mail-threads.c: Implement Solaris threads. Attempt + to join to the thread upon exit -- hopefully prevents + all those nasty zombie processes from popping up :-( + +2000-08-01 Dan Winship <danw@helixcode.com> + + * mail-crypto.c: New code to spawn off GPG/PGP to do stuff. + Currently only deals with decryption. From Nathan Thompson-Amato + <ndt@jps.net>, with bunches of changes from me. + + * session.c (mail_request_dialog): Expose the password dialog to + the rest of the app (for use by the GPG/PGP code). + + * mail-format.c (handle_text_plain): Handle special inline data + types. (Currently uuencoding, BinHex, and PGP encryption.) This is + not the best way to deal with it, but it works for now. + (try_inline_pgp): Convert an inline PGP-encrypted message into a + multipart/encrypted part. + (try_inline_binhex): Convert an inline BinHex attachment into an + application/mac-binhex40 part (which we currently don't deal + with...) + (try_uudecoding): Convert a uuencoded attachment to an + application/octet-stream part. + (handle_multipart_encrypted): Deal with RFC2015 MIME-encoded PGP + encrypted messages. (From ndt.) + + * mail-display.c (mail_text_write, mail_error_write): New utility + functions. + + * Makefile.am (evolution_mail_SOURCES): add mail-crypto.c + +2000-07-31 Christopher James Lahey <clahey@helixcode.com> + + * component-factory.c, folder-browser.c: Fixed some warnings. + + * message-list.c: Made the icon column non sortable. + +2000-07-31 Dan Winship <danw@helixcode.com> + + * mail-config.c (service_page_set_url): Fix a NULL-pointer strcmp + noticed by peterw. + +2000-07-31 Not Zed <NotZed@HelixCode.com> + + * mail-vfolder.h: Header for vfolder functions. + + * folder-browser.c (mail_uri_to_folder): Use new scheme to open + vfolders. + (search_save): New button/function to save a search as a vfolder. + + * mail-vfolder.c (vfolder_edit): Made asynchronous. + (vfolder_uri_to_folder): New function for loading vfolders and + setting up their source folders. + (vfolder_refresh): Change shell vfolder uri's to indirect + references rather than the real vfolder uri. + (vfolder_gui_add_rule): Add a rule with user confirmation. + (vfolder_create_part): Get a new part by name, for creating rules + in code. + + * message-thread.c (thread_messages): Check for uid lookup + failure, which indicates an error in the folder or calling code. + +2000-07-29 Not Zed <NotZed@HelixCode.com> + + * component-factory.c (create_view): Remove hack to pass the + storage around. + + * folder-browser-factory.c (control_activate): Changed to call + renamed vfolder editor. + + * mail-ops.c (vfolder_edit_vfolders): renamed from vfolder_edit, + call new edit function. + (vfolder_editor_clicked): Removed. + (filter_druid_clicked): + (filter_edit): Updated for api change. + (real_fetch_mail): Fixed up for api change and fucked up indent. + (filter_get_folder): callback for filter driver. + + * mail-vfolder.c: New file to manage virtual folders. + +2000-07-29 JP Rosevear <jpr@helixcode.com> + + * mail-format.c (mail_generate_reply): Use new mail config stuff + + * component-factory.c (create_imap_storage): Use new mail config + stuff + (create_news_storage): ditto + + * evolution-mail.schemas: Gconf schema for evolution mail + + * mail-config-druid.glade: Gladification of config druid + + * mail-config.h: New header with config structs. + + * mail-config.c: Rewrite of GUI configuration tools to use + new config structs. Stores multiple identities and sources now. + Still only uses the first one found. + (mail_config_fetch): Returns MailConfig struct to caller + for configuration queries. + (mail_config): Renamed function to show mail config dialog. + (mail_config_druid): Renamed function to show mail config druid. + + * mail-ops.c (create_msg_composer): Use + e_msg_composer_new_with_sig_file and new config stuff + (check_configured): Use new config stuff + (fetch_mail): ditto + (composer_send_cb): ditto + +2000-07-28 Cody Russell <bratsche@gnome.org> + * mail-ops.c, mail.h: Added mark_all_seen(), to mark every + message in the list with CAMEL_MESSAGE_SEEN. + + * folder-browser-factory.c: Added "Actions/Mark all seen". + +2000-07-27 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-config.c: Lets fix Dan's kludge the Right Way (tm) + (set_service_url): Only strip off the leading "/" from the + url->path if url->host is NULL + (get_service_url): Only prepend a leading "/" to the path if the + host is NULL + +2000-07-27 Dan Winship <danw@helixcode.com> + + * mail-config.c (get_service_url): toss in a kludge to deal with + the IMAP vs mbox path problem for now. + +2000-07-26 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c, message-list.h: Removed counting of selected + messages. + +2000-07-26 Dan Winship <danw@helixcode.com> + + * mail-ops.c (real_fetch_mail): Don't create the tmp_mbox before + calling movemail, because the external movemail requires it to not + exist. Contrariwise, delete it in the cleanup code if it's empty. + Update for camel_movemail interface change. Do the "No new + messages" dialog in the mbox case as well as the remote mail + issue. + +2000-07-26 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-ops.c: s/struct refile_data/struct move_data + (real_move_msg): Renamed from real_refile_msg() + (move_msg): Renamed from refile_msg() + + * folder-browser-factory.c: Changed Refile to Move. + +2000-07-26 Dan Winship <danw@helixcode.com> + + * mail-format.c (lookup_handler): Update for OAF and for external + apps as well as components. + (handle_via_external): Handler to set up for data that can be + displayed by an external application. + + * mail-display.c (on_link_clicked, etc): Refactor the save_data() + code and add launch_external() as a handler for + x-evolution-external URLs. + (embeddable_destroy_cb): Remove this, since it seems like it's all + wrong. + (on_object_requested): Update for OAF, and fix some bugs. + +2000-07-25 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-config.c (get_service_url): Always prepend a leading "/" to + the url->path. + (set_service_url): Added more error checking and also strip the + leading '/' from the url->path + (create_identity_page): Set the signature file to the one specified in + the identity record, else set the default path to ~/.sugnature + +2000-07-25 Michael Meeks <michael@helixcode.com> + + * mail-config.c (create_identity_page): set default signature to + ~/.signature + +2000-07-25 Peter Williams <peterw@helixcode.com> + + * mail-ops.c (reply): Check for the case of fb->mail_display-> + current_message = NULL, which shouldn't happen, but has happened + to me. + +2000-07-25 Dan Winship <danw@helixcode.com> + + * message-thread.c (group_root_set): Don't group together messages + with the same non-Re: subject and no References/In-Reply-To. More + often than not, they're unrelated. (eg, "[No subject]".) + (thread_messages): Handle messages with no Message-Id. "This + shouldn't happen", but it does sometimes, and it's not much code + to make it just work. + +2000-07-25 Ettore Perazzoli <ettore@helixcode.com> + + * mail-config.c (create_service_page): Call + `gtk_option_menu_set_menu()' as the last thing, as `GtkOptionMenu' + is fscking broken. Also, `gtk_widget_show()' the individual menu + items. + +2000-07-24 Dan Winship <danw@helixcode.com> + + * message-list.c (mark_msg_seen, ml_tree_set_value_at, + message_list_regenerate): Update for CamelFolder API changes. + (Certain functions no longer take a CamelException.) + + * mail-ops.c (real_fetch_mail, real_send_mail, real_delete_msg): + ditto + + * component-factory.c (real_create_imap_storage, + real_create_news_storage): ditto + +2000-07-24 Dan Winship <danw@helixcode.com> + + * component-factory.c, folder-browser-factory.c, test-mail.c: + Remove GOAD support. + + * main.c: Remove GOAD support. + (main): More "guess the build mistake" fun, this time for the + failure to initialize Bonobo case. + +2000-07-24 Peter Williams <peterw@helixcode.com> + + * mail-tools.c (mail_tool_set_uid_flags): Change + function to faithfully pass parameters to + camel_folder_set_message_flags; this function is + somewhat useless now. Other files synced with + API change. + + * mail-ops.c (op_display_message): Change "display + a message" into "retrieve a messsage" in the + description of mail_op_display_message. + + * mail-threads.c (display_timeout): New function. + Only display the progress dialog if the operation + takes more than a second to perform. + (hide_queue_window): New function. Hide the queue + window as an idle function... I'm thinking maybe + the problem with hiding it was due to us not + being in a GTK event sequence? Perhaps it's only + the timeout, which was not being cancelled, which + is now. + + * message-list.c (get_message_uid): New function, + copy of get_message_info, except gets only the + UID, as that's all that most functions want, and + we avoid a Camel call. + +2000-07-23 Ettore Perazzoli <ettore@helixcode.com> + + * mail-ops.c (create_message_composer): New. + (compose_msg): Use it. + (send_to_url): Likewise. + (forward_msg): Likewise. + + * folder-browser-factory.c (control_activate): Use `_()' instead + of `N_()'. + +2000-07-21 Peter Williams <peterw@helixcode.com> + + * message-thread.c (setup_thread_messages): New + operation: thread_messages, simple wrapper around + thread_messages () and thread_messages_free(); + + * message-list.c (cleanup_regenerate_messagelist): + Use new thread_messages operation instead of just + calling ... thread_messages :-) + + * folder-browser.c (folder_browser_destroy): Use new + sync_folder operation instead of calling camel_folder_sync + directly. + + * component-factory.c (create_folder): Changed to use + new create_folder operation. + + * mail-ops.c (mail_do_create_folder): New operation: create + folder. New operation: sync folder. + + * mail-format.c (cmm_destroyed): Remove the url hashtable from + the larger hashtable when it gets destroyed. + + * mail-callbacks.c (fetch_mail): Pass a hook function and data + down the chain to pick up the folder_changed and change the view. + + * mail-ops.c: Rename from mail-ops-new.c now that it's a little more + solid. + (fetch_mail): Add new options to hook and unhook an event while the + filter driver runs. A hack, but all of the operations are to some + extent. + (cleanup_fetch_mail): Unref the destination folder if not NULL. + * mail-tools.c (mail_tool_filter_contents_into): Intermediate the + event hook/unhook hack here. + +2000-07-20 Peter Williams <peterw@helixcode.com> + + * mail-ops-new.c (setup_send_mail): Fix silly forgetting-to-ref + problem on some sends (when not replying). Note the early exit + path with a big comment. + + * message-list.c (message_list_set_folder): Don't call + folder_changed, call mail_do_regenerate_messagelist, as + the GDK_THREADS_ENTER in the former can deadlock us! + + * folder-browser.c (folder_browser_set_uri): Ah, screw it. + Make 'load folder' asynchronous and pretend that it always + succeeds. + + * mail-ops-new.c (mail_do_load_folder): New operation, loads + a folder into a FolderBrowser. + + * mail-threads.c (read_msg): Check if the exception is + a user cancel; don't complain if it is. + (mail_operation_queue): Same. + (dispatch_func): Same. + +2000-07-20 Peter Williams <peterw@helixcode.com> + + * mail-ops-new.c (cleanup_send_mail): Fix evil mistaken + unref. + + * test-thread.c: Fit the new mail_operation_spec prototype. + + * mail-callbacks.c (composer_send_cb): Hide the composer upon + start of send operation. + + * folder-browser.c: #include "mail-ops-new.h" + + * mail-threads.h: Change text fields of mail_operation_spec to + provide two forms of the name. + + * mail-threads.c: Use appropriate new string fields. + (dispatch_func): Hide the progressbar by default. + + * message-list.c (op_regenerate_messagelist): Fix the datasize from + 0 -> sizeof (regenerate_messagelist_data_t). Add the new gerund and + infinitive strings. + (do_regenerate_messagelist): Include some code that fell between the + cracks. + + * mail-ops-new.c (op_scan_subfolders): Same datasize fix for + scan_subfolders. + (op_forward_message): Same. + (all): Add new gerund and inifinitive strings for mail_operation_spec. + (cleanup_send_mail): Destroy the composer on success; re-show it on + error. I'm so clever! + +2000-07-20 Ettore Perazzoli <ettore@helixcode.com> + + * component-factory.c (factory_fn): Updated for the new + `evolution_shell_component_new()' arg. + +2000-07-19 Jeffrey Stedfast <fejj@helixcode.com> + + * message-thread.c (thread_messages): What if message info is NULL? + +2000-07-17 Peter Williams <peterw@helixcode.com> + + * component-factory.c (real_create_{imap,news}_storage): Instead of + directly calling evolution_storage_new_folder, queue up a list of + folders to register so that we don't do our CORBA in The Other Thread. + (create_{imap,news}_storage): Changes ancillary to the above. + (add_new_mailbox): New function to queue up a folder + (cleanup_create_info): New function to dequeue the folders and free mem. + + * test-thread.c: s,ENABLE_BROKEN_THREADS,USE_BROKEN_THREADS -- oops + + * mail-format.c: (mail_lookup_url_table): New function to get the url + table associated with a CamelMimeMessage because we can no longer + gtk_object_get_data on it. + + * mail-display.c: replace 'gtk_object_get_data( message, "urls" )' + with 'mail_lookup_url_table( message )' + +2000-07-16 Jeffrey Stedfast <fejj@helixcode.com> + + * folder-browser.c, component-factory.c: Initial code to support + IMAP folders that don't use "/" as a directory separator. + +2000-07-15 Ettore Perazzoli <ettore@helixcode.com> + + * mail-ops.c (set_x_mailer_header): New helper function to set the + `X-Mailer:' header to to `Evolution <version> [Developer + Preview]". + (real_send_mail): Call it. + +2000-07-14 Peter Williams <peterw@curious-george.helixcode.com> + + * message-list.c (message_list_set_folder): Ported to CamelObject: + GTK_OBJECT->CAMEL_OBJECT; gtk_signal_connect->camel_object_hook_event; + GDK_THREADS_ENTER/LEAVE around "changed" event hooks. + + * folder-browser.c (folder_browser_destroy): likewise. + (mail_uri_to_folder): likewise. + (folder_browser_load_folder): likewise. + +2000-07-14 Ettore Perazzoli <ettore@helixcode.com> + + * Makefile.am (evolution_mail_LDADD): Add `GCONF_LIBS'. + +2000-07-14 Dan Winship <danw@helixcode.com> + + * mail-format.c (write_headers): put a <p> at the end of the + header table. (I think there used to be whitespace after it, but + then some gtkhtml change got rid of it...) + (handle_text_plain): Don't do this <PRE>. Instead, CONVERT_NL and + CONVERT_SPACES and wrap it in <TT>. Now if the sender didn't + include any newlines, it will be wrapped to the width of the + window instead of extending off into infinity. + +2000-07-13 Dan Winship <danw@helixcode.com> + + * message-list.c (message_list_destroy): Only unref the folder if + it's been set. + + * folder-browser.c (folder_browser_destroy): Only sync the folder + if it's been set. + +2000-07-13 Jonathan Blandford <jrb@redhat.com> + + * mail-config.c (create_transport): + s/CAMEL_SERVICE_NEED_HOST/CAMEL_SERVICE_URL_NEED_HOST. + +2000-07-13 Dan Winship <danw@helixcode.com> + + * mail-config.c (add_row): Add a "gboolean required" argument, and + set its value on the entry. + (create_source, create_transport): Create rows for URL elements if + the URL ALLOWs them. Mark them required if it NEEDs them. + (service_note_doneness): Only require the required fields to be + filled in. + + Now the IMAP config page allows the user to enter a path, but + doesn't require it. + +2000-07-13 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-ops.c (real_fetch_mail): Back to the old way to avoid + g_warnings, yay. Also fix append to send a flags argument (0) + +2000-07-12 Chris Toshok <toshok@helixcode.com> + + * mail-config.c (providers_config_new): fix some cut & paste bung. + +2000-07-12 Chris Toshok <toshok@helixcode.com> + + * mail-format.c (setup_function_table): add "message/news" to the + mime_function_table using the same handler as message/rfc822. + +2000-07-12 Chris Toshok <toshok@helixcode.com> + + * mail-config.glade*: add news server tab to dialog. + + * mail-config.c (on_NewsServerConfigDialogButton_clicked): new function. + (on_clistNewsServers_select_row): new function. + (on_cmdNewsServersAdd_clicked): new function. + (on_cmdNewsServersEdit_clicked): new function. + (on_cmdNewsServersDelete_clicked): new function. + (providers_config_new): mirror the source tab's code to fill in + the news server tab. + (write_config): save out the news server. + (create_news_server_config_dialog): new function. + (create_news_server_page): new function. + +2000-07-12 Peter Williams <peterw@helixcode.com> + + * mail-display.c (save_data): Change from evolution_dir to + g_get_home_dir() for default location of save file. + +2000-07-11 Dan Winship <danw@helixcode.com> + + * Update for CamelFolder API changes + +2000-07-11 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-ops.c (real_fetch_mail): Changed to use + camel_folder_move_message_to () rather than get_message () and then + append_message (). This also makes it so we don't have to worry about + fetching message flags to pass to the new append_message () method. + + * folder-browser.c (folder_browser_load_folder): Disable + Search capability menu/entry if folder doesn't support it. + + * message-list.c (message_list_regenerate): Don't perform + a search if the folder doesn't support it. + +2000-07-11 Dan Winship <danw@helixcode.com> + + * mail-ops.c (real_send_mail): Set the post_send_data flag rather + than toggling it. (Maybe we'll need more control over it later, + but for now, the only flag we set is "replied", and we want + that set, not toggled.) + +2000-07-10 Dan Winship <danw@helixcode.com> + + * folder-browser-factory.c (control_activate): Work with both + current and 0.15 bonobo + + * kill more debugging messages + + * mail-ops.c (real_fetch_mail): Don't multiply free dest_url. + + * message-list.c (message_list_select): Update + message_list_select_next to do either next or previous. + + * folder-browser.c (etable_key): Make 'n' and 'p' do next and + previous unread message. + + * mail-ops.c (select_first_unread): Update. + (real_fetch_mail): clean up a bit. + +2000-07-10 Ettore Perazzoli <ettore@helixcode.com> + + * mail-ops.c (forward_msg): Initialize `fwd_subj' to NULL if + `from' is NULL. + +2000-07-10 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-ops.c (real_fetch_mail): Fixed broken POP fetching + +2000-07-10 Ettore Perazzoli <ettore@helixcode.com> + + * component-factory.c: Removed variable `browsers'. + (create_view): Don't update it. + (owner_unset_cb): Don't sync the folders here anymore, because at + this point the folder browser is dead already so we cannot get a + valid list of folders from it anymore. + + * folder-browser.c (folder_browser_destroy): Sync the associated + mailbox first. + +2000-07-10 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c, message-list.h: Switched from ETable to + ETableScrolled. + +2000-07-10 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-ops.c (real_fetch_mail): Fixed movemail so that it too would + deliver to Inbox. + +2000-07-09 Dan Winship <danw@helixcode.com> + + * message-list.c (get_message_info): Don't g_warn if the user + selects a fake tree parent. + (message_list_select_next): Ignore fake rows + (build_tree): Store the "root_subject" for fake rows + (ml_tree_value_at): Display the correct subject for fake rows. + (on_cursor_change_cmd): Update for the other changes and set + cursor_uid to NULL when the cursor is on a fake row. + + * mail-ops.c (reply): Don't try to reply when no (real) message is + selected. + (forward_msg): Ditto. + +2000-07-09 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c: Remove setting of dnd_code since that's handled + internally to ETable. + +2000-07-08 Dan Winship <danw@helixcode.com> + + * folder-browser.c (etable_key): Fix up the pageup/pagedown + increment a bit. + + * folder-browser-factory.c (control_activate): Add a "Threaded + Message List" item to the "View" menu. + + * message-list.c (message_list_toggle_threads): Handler for that. + (build_flat): New function to build a "flat" message list using + the tree model. + (message_list_regenerate): Build tree or flat message list + depending on the global setting. + + * message-thread.c (get_root_subject): fix a "Re:" parsing bug + +2000-07-08 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-ops.c (real_fetch_mail): Always dump incoming messages to + Inbox (assuming not filtered to another location). + +2000-07-08 Ettore Perazzoli <ettore@helixcode.com> + + * folder-browser-factory.c (control_activate): Move the + "Expunge" item to the "Action" menu. + (control_deactivate): Accordingly. + +2000-07-08 Dan Winship <danw@helixcode.com> + + * mail-ops.c (forward_msg): Deal with having multiple selected + messages. + + * mail-format.c (mail_generate_forward): Removed. (Integrated into + forward_msg) + +2000-07-08 Jeffrey Stedfast <fejj@helixcode.com> + + * message-list.c (build_tree): Small fix to stop uid data from + being set on a message-list tree node when it didn't correspond + to an actual message. + +2000-07-08 Dan Winship <danw@helixcode.com> + + * message-list.c (get_message_info): Fix Jeff's FIXME: This does + get called with out-of-range data sometimes, so we do need the + check. Use e_table_model_row_count to get the actual right answer. + +2000-07-07 Jeffrey Stedfast <fejj@helixcode.com> + + * message-list.c (get_message_info): This wasn't quite right, it + will now work but still isn't perfect. See FIXME comment. + +2000-07-07 Dan Winship <danw@helixcode.com> + + * message-thread.c (remove_node): Add another argument "clast" + pointing to the container before the current one in the list, + which it can update if that turns out to be the one that it + removed. + (group_root_set): Update for remove_node change, and remove both + nodes in the "subjects are common" case. Fixes a bug that would + cause the message list to be truncated if this rule was invoked. + + (sort_node): sort the tree by the original order of the messages + in the folder rather than by date. + +2000-07-07 Dan Winship <danw@helixcode.com> + + * message-list.c: Lots of changes. Store uids as node data on the + tree nodes and use those rather than rows where possible. (The + concept of "row" is just getting too complicated.) Get rid of the + summary_table, because given a uid we can call + camel_folder_get_message_info, which makes more sense than keeping + a separate uid->row hash table ourselves. + + (get_message_info): update + (get_message_row): removed + (ml_col_cound, ml_row_count, ml_value_at, ml_set_value_at, + ml_cell_is_editable, ml_duplicate_value, ml_free_value, + ml_initialize_value, ml_value_is_empty, ml_value_to_string): + Removed. We always use the tree model now. + (message_list_init): Remove the non-tree code. + (build_tree): store uids in the tree rather than row numbers, + and build the message_list->uid_rowmap to map from uids to rows + when needed. + (message_list_regenerate): Renamed from _set_search, since it's + used to redraw in non-search cases too. + (message_changed): Use the uid_rowmap to get a model row number. + + * message-thread.c (thread_messages): Change the interface on this + to work with the new MessageList. + + * folder-browser.c (search_set, folder_browser_clear_search): + s/message_list_set_search/message_list_regenerate/ + +2000-07-07 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c (get_message_info): Handle a row number of -1 + properly. + +2000-07-06 Dan Winship <danw@helixcode.com> + + * message-list.c (get_message_info): Map tree model row numbers to + summary row numbers. + (ml_tree_value_at, ml_tree_set_value_at, + ml_tree_is_cell_editable): So don't do that here. + +2000-07-06 JP Rosevear <jpr@arcavia.com> + + * mail-config.glade*: Glade files for the configuration dialog. + + * mail-config.c (providers_config_new): Build the dialog with + glade. + +2000-07-06 Dan Winship <danw@helixcode.com> + + * folder-browser-factory.c, folder-browser.c, mail-ops.c, + message-list.c: fix warnings. + + * main.c (main): gtkhtmllib_init is no more. Call gconf_init + directly instead. + + * message-list.c (message_list_select_next): New function to + select the first message on or after the given row that meets + certain flag criteria. + + * mail-ops.c (real_fetch_mail): call message_list_select_next to + select first unread message in current folder if it changes. + (real_delete_msg): Remove the code to move the etable cursor. It + only makes sense really if you deleted the message with the + keyboard, so do it from etable_key. + + * folder-browser.c (etable_key): call message_list_select_next to + select next non-deleted message after Delete. + + * mail-identify.c: Add a workaround for a small gnome-vfs 0.2 bug + so we don't need to require CVS gnome-vfs. + +2000-07-06 Not Zed <NotZed@HelixCode.com> + + * message-thread.c (sort_thread): sort messages based on date for + the initial sort order. + (thread_messages_free): Implement. + + * message-list.c (message_list_init_header): Setup the subject + renderer to a tree in tree mode. + (on_cursor_change_cmd): For a tree model, map the view row to the + data row. + (build_tree): Builds the tree data structure of all messages. + (message_list_set_search): For a tree model, build the tree here. + (ml_tree_icon_at): Icon callback, returns nothing. + (ml_tree_value_at): + (ml_tree_set_value_at): + (ml_tree_is_cell_editable): Maps tree node to data row, and calls + the equivalent table callback + (message_list_init_renderers): Setup the tree renderer if needed. + (message_list_init): set the root node invisible afterall. + (message_list_set_search): Clear the old tree before putting in a + new one. + + * message-list.h: Add a tree renderer to render list, and + tree_view indicator. + + * message-thread.[ch]: Code for message threading. + +2000-07-05 Dan Winship <danw@helixcode.com> + + * mail-identify.c (mail_identify_mime_part): Oops. My gnome-vfs + was out-of-date. Update for changed function name. + +2000-07-05 Dan Winship <danw@helixcode.com> + + * mail-identify.c (mail_identify_mime_part): Use the gnomevfs + sniff buffer interface to try to identify the MIME type when + everything else fails. + + * mail-display.c (on_object_requested): + * mail-format.c (lookup_handler, handle_undisplayable, + handle_audio): s/gnome_mime/gnome_vfs_mime/ + + * Makefile.am: Add gnomevfs stuff + +2000-07-03 Ettore Perazzoli <ettore@helixcode.com> + + * component-factory.c (create_folder): Get rid of a compiler + warning by making sure `folder' is always initialized to some + value for any code path. + +2000-07-03 Dan Winship <danw@helixcode.com> + + * message-list.c (select_msg): call mail_display_set_message with + NULL if the message we tried to select doesn't exist (probably + meaning we tried to selecte the first message and the folder is + empty.) + + * mail-display.c (mail_display_set_message): deal with NULL as an + input (meaning "undisplay previous message and display nothing"). + +2000-07-02 Dan Winship <danw@helixcode.com> + + * mail-ops.c (real_fetch_mail): Remove hack to redisplay the + inbox, since folder_changed signals will now be emitted + appropriately. + + * component-factory.c (create_vfolder_storage): Fix + filter_driver_new invocation. + + * Makefile.am (bin_PROGRAMS): test-mail and test-thread should be + noinst. + + * mail-ops.c (real_fetch_mail): + (vfolder_editor_clicked): + * component-factory.c (create_vfolder_storage): + Pass mail_uri_to_folder and rules to filter_driver_new. + +2000-07-02 Ettore Perazzoli <ettore@helixcode.com> + + * folder-browser.c (mail_uri_to_folder): Fix double freeing of the + local exception `ex'. + +2000-07-01 Ettore Perazzoli <ettore@helixcode.com> + + * mail-ops.c (refile_msg): Only allow type "mail" in the folder + selection dialog. + +2000-07-01 Dan Winship <danw@helixcode.com> + + * pixmaps.h, pixmaps/*.xpm: Removed. These aren't being used any + more. (The real pixmaps are in ../art.) + +2000-07-01 Jeffrey Stedfast <fejj@helixcode.com> + + * message-list.c (get_message_info): + (select_msg): Updated to reflect camel-folder changes. + + * mail-ops.c (real_fetch_mail): Modified to reflect camel-folder + changes. + +2000-06-30 Dan Winship <danw@helixcode.com> + + * mail-ops.c (print_msg): Use gnome-print to do a print preview. + + * folder-browser-factory.c: Hook up "Print" button. + + * message-list.c (message_list_foreach): New function, a wrapper + around e_table_selected_row_foreach, which calls the callback + function with UIDs rather than row numbers. + + * folder-browser-factory.c: Remove never-used "Find" button from + the toolbar and replace it with "Refile". (We need a better icon + for this...). Hook up "Refile" to "refile_msg". + + * mail-ops.c (refile_msg): Call the shell's user_select_folder + routine, and then use message_list_foreach and real_refile_msg to + do the work. + (delete_msg): Update to use message_list_foreach. + + * folder-browser.c (mail_uri_to_folder): new function, extracted + from folder_browser_load_folder, to turn a URI into a folder. + (folder_browser_load_folder): Use it. + +2000-06-30 Peter Williams <peterw@curious-george.helixcode.com> + + * component-factory.c (create_news_storage, create_imap_storage): + Fixed to use new EvolutionShellClient proxy thingamajiggie. + +2000-06-30 Dan Winship <danw@helixcode.com> + + * message-list.c (on_row_selection): use the ETable row_selection + signal to track how many rows are selected. Eventually we will use + this info to disable toolbar buttons when you have too few/too + many messages selected, but the current toolbar widget doesn't + allow that. + + * message-list.h, message-list.c, mail-ops.c: Change selected_row + and selected_uid fields of MessageList to cursor_row and + cursor_uid to be more correct according to the new ETable + interfaces. + +2000-06-30 Ettore Perazzoli <ettore@helixcode.com> + + * component-factory.c: Eeek. Fix typo: add missing star in the + declaration of `global_shell_client'. + +2000-06-29 Ettore Perazzoli <ettore@helixcode.com> + + * component-factory.c: Replace `global_shell_interface' with + `global_shell_client'. + +2000-06-29 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-ops.c (delete_msg): Clean up compile warnings + (real_fetch_mail): Fetching from IMAP should do nothing + +2000-06-29 Christopher James Lahey <clahey@helixcode.com> + + * mail-ops.c: Handle multiple deletes (change by Peter Williams.) + +2000-06-29 Jeffrey Stedfast <fejj@helixcode.com> + + * folder-browser-factory.c: Changed "Send" to "Compose" to + avoid user confusion. Compose is a little more intuitive. + Also changed the pixmap to MAIL_NEW instead of MAIL_SND + + * mail-ops.c (compose_msg): Renamed to avoid confusion + +2000-06-29 Dan Winship <danw@helixcode.com> + + * component-factory.c (create_imap_storage, create_news_storage): + remove some code incorrectly copied and pasted from + create_vfolder_storage which caused vfolder creation to stop + working. + +2000-06-29 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c, mail-ops.c: Changed the name of + e_table_select_row to e_table_set_cursor_row. + +2000-06-29 Peter Williams <peterw@helixcode.com> + + * message-list.c (message_list_init): Set the dnd_code of the + ETableHeader to something so that Solaris sprintf doesn't die + on a NULL string. + + * mail-config.c (providers_config_new): Check for a null "transport" + string (not all OS' handle NULL strings well *cough* Solaris) + +2000-06-28 Dan Winship <danw@helixcode.com> + + * mail-format.c (mail_generate_forward): add default subjects + + * component-factory.c (create_folder): Refuse to create folders + not of type "mail", and correctly create an empty "mbox" folder + for new folders in /local. + + * main.c (init_corba): Call od_assert_using_oaf() or + od_assert_using_goad() as appropriate to make sure people didn't + somehow trick the build system. + +2000-06-28 Jeffrey Stedfast <fejj@helixcode.com> + + * message-list.c: Added prototype for filter_date to make + it build cleanly + +2000-06-27 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c: Made dates display grouping information + properly. + +2000-06-27 Peter Williams <peterw@curious-george.helixcode.com> + + * message-list.c (mark_msg_seen): Need to return a value + on error. + + * main.c (main): Don't start threads or enter threads if + there's no threading! Sigh. + + * test-thread.c: Don't compile if no threads. + + * session.c: Work without broken threads. + + * message-list.c (filter_date): Solve the ctime_r problem the + correct way, with the magic of autoconf. + +2000-06-27 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c: Work around mismatched ctime_r functions. This + will be fixed. + +2000-06-27 Peter Williams <peterw@curious-george.helixcode.com> + + * mail-threads.c: Don't compile this if we don't have + threads enabled. This should maybe be on the Makefile.am + level. + +2000-06-27 Michael Zucchi <zucchi@zedzone.mmc.com.au> + + * component-factory.c (owner_set_cb): Put in a gross hack to + export the shell reference elsewhere. + +2000-06-26 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c: Added a value_to_string handler. + +2000-06-26 Peter Williams <peterw@helixcode.com> + + * component-factory.c, mail-ops.c: #ifdef the threads stuff so + that if USE_BROKEN_THREADS is not defined we just call the functions + in the main thread. + + * mail-threads.h: Don't declare funcs if USE_BROKEN_THREADS not + defined. + + * mail-threads.c: Put the query and message boxes on top so that + you can see them. + +2000-06-26 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-config.c (error_dialog): va_start() returns void, don't + assign it's retval to a variable. + +2000-06-26 Ettore Perazzoli <ettore@helixcode.com> + + * main.c (main): Call `GDK_THREADS_ENTER()' and + `GDK_THREADS_LEAVE()' around the main loop as in the examples from + the GTK+ FAQ. + + * mail-threads.c (DEBUG): New macro for debugging. + (read_msg): Use it. + +2000-06-25 Peter Williams <peterw@helixcode.com> + + * Makefile.am: Clean up the various _LIBS and _CFLAGS + to work with simpler THREADS_LIBS and THREADS_CFLAGS scheme. + +2000-06-23 Jeffrey Stedfast <fejj@helixcode.com> + + * folder-browser.c (folder_browser_load_folder): Improved the + code to separate the imap namespace from the folder name. + +2000-06-23 Peter Williams <peterw@curious-george.helixcode.com> + + * component-factory.c: Include e-util/e-setup.h for the + prototype of evolution_dir; prototype create_news_storage. + (real_create_imap_storage, real_create_news_storage): New + functions moving the camel stuff into the async callback. + (create_imap_storage, create_news_storage): Chopped in + half to move camel stuff as above. + + * mail-ops.c: Include "mail-threads.h" for threading protos. + (real_fetch_mail, real_send_mail, real_expunge_folder): + New functions moving the camel stuff into the async callback. + (async_mail_exception_dialog): A version of mail_exception_dialog + to be called from the async handlers (just calls mail_op_error()) + (fetch_mail, expunge_folder, composer_send_cb): Cut in half to + move camel stuff as above. + (cleanup_send_mail): Clean up after the async real_send_mail + with the gtk_object_destroys et al. + + * mail-threads.c: Instead of hiding the progress bar, make it + zip back and forth constantly. + (progress_timeout): New func. Timeout called to make the pbar + shimmy. + (timeout_toggle): New func. Turn on and off the shimmy effect. + (check_cond): New func. Make sure that the GCond for modal + operation is initialized before mail_op_{error,get_password}. + (show_error_clicked, read_msg, get_password_clicked): Move + over to timeout_toggle. + (mail_op_error,mail_op_get_password): Add check_cond() call. + + * main.c: (main) Call g_thread_init. + + * session.c: Change auth_callback stuff over to assume that it's + being called async. Note: no real good way to tell if this is + the case or not. + (request_callback): ifdef'ed out + (evolution_auth_callback): Use mail_op_get_password. + +2000-06-22 Jeffrey Stedfast <fejj@helixcode.com> + + * folder-browser.c (folder_browser_load_folder): Now should + correctly get the selected folder from the given URL. + +2000-06-22 Chris Toshok <toshok@helixcode.com> + + * folder-browser.c (folder_browser_load_folder): add handling for + loading "news:" folders. + + * component-factory.c (create_news_storage): add a root for news + source. + (owner_set_cb): call create_news_storage. + +2000-06-22 Jeffrey Stedfast <fejj@helixcode.com> + + * folder-browser.c (folder_browser_load_folder): Updated to + prepend url-> path if it exists for that imap store. + + * component-factory.c (create_imap_storage): Modified to not + prepend a hard-coded namespace. + +2000-06-22 Chris Toshok <toshok@helixcode.com> + + * mail-ops.c (fetch_mail_cleanup): new function, passed as arg to + mail_operation_try. + (fetch_mail): add cleanup func arg. + +2000-06-22 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c: Changed ml_value_at to return "" instead of NULL + in some cases. + +2000-06-22 Peter Williams <peterw@curious-george.helixcode.com> + * Makefile.am: Add GNOME_EXTRA_LIBS so that we get libgthread + in our LIBS for evolution-mail. + + * mail-threads.c: Make the dialog boxes for error and + question non-modal. They're modal relative to the dispatch + thread, but before they would also eg lock up the toolbar + buttons (while the menus, managed by another process, were + active -- a weird effect). + +2000-06-22 Peter Williams <peterw@curious-george.helixcode.com> + + * mail-threads.[ch]: Extra argument to mail_operation_try: + 'cleanup', a function to be called in the main thread after + the dispatcher thread exits. gtk_object_destroy's et al may + attempt to unmap windows so we can't do them in the dispatcher + thread :-( + + * test-thread.c: Updated with demo of new argument working. + +2000-06-22 Peter Williams <peterw@helixcode.com> + + * test-thread.c (op_5): New tests for the get_password + hook. + + * mail-threads.[ch]: New hook, mail_op_get_password, for + getting a user response from an async operation. The operation + blocks while waiting for the response. A big whole mutex + condition threading blocking dealie to make sure that it + works. + + Also the error hook creates a dialog again, which also needs + to block its caller while we wait for the user to press ok. + +2000-06-22 Peter Williams <peterw@helixcode.com> + + * mail-threads.c (various functions): Prettify the UI + so that the progress bar doesn't become all huge 'n stuff. + (mail_operation_try): Now save the operation's description, + so that we can display it later as the default message. + (read_msg): When the operation starts set the label to its + UI-friendly name. + (dispatch_func): Free the saved prettyname. + +2000-06-21 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c: Removed an erroneous comment. + +2000-06-21 Dan Winship <danw@helixcode.com> + + * mail-config.c (create_transport_page): Make this not crash if + you don't have a transport configured. + + * message-list.c: Update received date to work like sent date. + +2000-06-21 Peter Williams <peterw@helixcode.com> + + * mail-thread.{c,h}: New files -- a simple API for executing + the major mail ops (fetch_mail etc) asynchronously, allowing + the operations to send messages and update a progress bar. + + * test-thread.{c,h}: Tests the mail-thread API. + + * Makefile.am: add mail-thread.[ch] to evolution_mail_SOURCES + and declare the test_thread noinst_PROGRAM. + +2000-06-21 Peter Williams <peterw@helixcode.com> + + * mail-format.c (mail_generate_reply): Include "e-setup.h" to + get the prototype for evolution_dir. + +2000-06-20 Jeffrey Stedfast <fejj@helixcode.com> + + * component-factory.c (create_imap_storage): Oops. Should + have checked for a NULL sources. + +2000-06-20 Dan Winship <danw@helixcode.com> + + * message-list.c (mark_msg_seen): Quick hack to prevent a NULL + pointer dereference. Things need to be cleaned up a bit more here + though. + + * mail-sources.c: Oops. This should have been removed a long time + ago. + +2000-06-20 Jeffrey Stedfast <fejj@helixcode.com> + + * folder-browser.c (folder_browser_load_folder): Working on getting + this to work :) + + * component-factory.c (create_imap_storage): Should now correctly + construct the folder path allowing the selection of a folder. + +2000-06-20 Ettore Perazzoli <ettore@helixcode.com> + + * mail-format.c (mail_generate_reply): Declare `evolution_dir'. + Ugly, ugly, ugly, but I am not sure where it should go instead. + +2000-06-19 Ettore Perazzoli <ettore@helixcode.com> + + * mail-ops.c (ask_confirm_for_empty_subject): New function to ask + confirmation for an empty subject line. + (composer_send_cb): Use it if the subject is empty and only send + the message if the user confirms. + +2000-06-20 Jeffrey Stedfast <fejj@helixcode.com> + + * component-factory.c (create_imap_storage): Now creates the IMAP + storage (listing subfolders and such) + +2000-06-19 Dan Winship <danw@helixcode.com> + + * mail-format.c (find_preferred_alternative): add an option to + prefer text/plain. + (reply_body): add an option to prefer text/plain + (mail_generate_reply): Check the mail sending preferences, and + generate a text/plain reply if the user prefers to send plain text + (and we have a text/plain part to generate a reply from). + +2000-06-19 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-config.c (providers_config_new): Should now correctly display + the Transport page (made it set the optionmenu correctly, before it + would only set SMTP). + (create_transport_page): Updated to set the page info to sendmail/smtp + based on the url. + (create_service_page): Had to add some code to set data on some objects + so I could grab the objects I needed to modify in the above function. + +2000-06-18 Jeffrey Stedfast <fejj@helixcode.com> + + * folder-browser.c (folder_browser_load_folder): started to add + code to load an IMAP folder. + + * component-factory.c: Started to add a create_imap_storage + method so that we can eventually have our IMAP store displayed + in the tree view. + (create_vfolder_storage): Renamed from + create_test_storage(). + (owner_set_cb): Updated. + +2000-06-17 Dan Winship <danw@helixcode.com> + + * message-list.c (message_list_set_folder): Prevent double-freeing + action on summary_table and uid_rowmap. + +2000-06-16 Dan Winship <danw@helixcode.com> + + * message-list.c (ml_set_value_at): Implement clicking on the + envelope icon to set read/unread. Based on a patch by clahey. + (select_msg): keep the timeout id for the "seen" flagging in the + message_list structure, so ml_set_value_at can clear it so it + doesn't re-mark a message seen after you click it unseen. + +2000-06-16 Dan Winship <danw@helixcode.com> + + * message-list.c (get_message_row): new function to do a uid to + row mapping. + (mark_msg_seen, select_msg, message_changed, + message_list_set_folder): Update for Camel flag changes. + (on_cursor_change_cmd): Rename "row_to_select" to "selected_row", + and keep a "selected_uid" as well. + + * mail-ops.c (composer_send_cb): Update for Camel flag changes, + and fix some memory-handling bugs. (Free the post_send_data when + the composer is destroyed, not when the user clicks "send", which + could happen never, or more than once.) + (delete_msg): Update for Camel flag changes, and fix the "holding + down the delete key skips some messages" bug. + +2000-06-15 Dan Winship <danw@helixcode.com> + + * mail-ops.c (fetch_mail): + * component-factory.c (owner_unset_cb): + * message-list.c (message_list_set_folder): Update for CamelFolder + changes. + + * folder-browser.c (folder_browser_clear_search): New function to + revert back to non-searching mode. + + * mail-ops.c (fetch_mail): Use folder_browser_clear_search. + + * mail-display.c (on_url_requested): if the document requests an + unknown URL, it's not an error; just ignore the URL. + + * mail-ops.c (fetch_mail): If there's no new mail, tell the user. + +2000-06-14 Radek Doulik <rodo@helixcode.com> + + * main.c (main): call gtkhtmllib_init here + +2000-06-13 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-config.c (on_SourceConfigDialogButton_clicked): Make sure source + is always pointing to something, so a blank is not written to the config file + on close. + +2000-06-13 Ettore Perazzoli <ettore@helixcode.com> + + * Makefile.am (SHELL_OBJS): Removed. + (evolution_mail_LDADD): Use `libeshell.a'. Also use + `top_builddir' consistently. + +2000-06-12 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-config.c: Got rid of sources_max_row and identities_max_row + as they are not really needed (just use clist->rows) + (on_cmdSourcesEdit_clicked): Modified to make 'source' + point to the data being edited. + (on_cmdSourcesAdd_clicked): Adds a new clist item and selects it so the + editor knows where to stick the data when it's done. + +2000-06-12 Federico Mena Quintero <federico@helixcode.com> + + * message-list.c: Removed the ETableModel thaw handler. + +2000-06-12 Dan Winship <danw@helixcode.com> + + * folder-browser.c (folder_browser_set_uri): Return the result of + folder_browser_load_folder. + (get_prop, set_prop, folder_browser_properties_init): Remove. No + longer needed. + + * folder-browser-factory.c (folder_browser_factory_new_control): + Add a "uri" argument, return NULL if setting it fails. + (folder_browser_factory_new_control): Remove property bag stuff. + (folder_browser_factory_init, folder_browser_factory): Remove + this, since we're using the component factory now. + + * component-factory.c (create_view): Update for + folder_browser_factory_new_control change and return NOTFOUND as + appropriate. + + * main.c (main): Don't call folder_browser_factory_init. + + * mail-format.c (mail_generate_reply): Fix the subject generation + so we don't get "Re: Re:". This is working around something that + may later be declared a misfeature in Camel. + +2000-06-10 Ettore Perazzoli <ettore@helixcode.com> + + * component-factory.c (create_folder): New stub implementation for + the folder creation function in the EvolutionShellComponent we + expose [it simply returns success all the time]. + (factory_fn): Pass this function to `evolution_shell_component_new'. + +2000-06-09 Dan Winship <danw@helixcode.com> + + * folder-browser.c (folder_browser_new): Add a serial number to + FolderBrowser. + + * folder-browser-factory.c (control_activate, control_deactivate): + Include fb serial number in the name of the Bonobo toolbar to + prevent problems with disappearing toolbars. This is a kludge and + should go away. + + + * mail-ops.c (expunge_folder): display error from + camel_folder_expunge if there is one. + + * message-list.c (select_row): install an idle function to + select the row rather than doing it directly. Ugh. What a + kludge, but at least it works now. + + * session.c (evolution_auth_callback): Update for + CamelAuthCallback changes. (Uncache passwords when asked to.) + + * mail-ops.c (fetch_mail): close and expunge the source folder + after copying it to a local folder. + +2000-06-09 Ettore Perazzoli <ettore@helixcode.com> + + * component-factory.c (create_view): Updated to match the changes + to the definition of `EvolutionShellComponentCreateFn'. If @type + is not "mail", return an "unsupported type" error. + (factory_fn): Pass NULL for the `remove_folder' and + `create_folder' functions. + +2000-06-09 Dan Winship <danw@helixcode.com> + + * mail-format.c: Redo things a bit so that whitespace-only + text parts aren't displayed. (In particular, so that + whitespace-only subparts of multipart/mixed aren't displayed as + separate (empty) parts.) + +2000-06-06 Dan Winship <danw@helixcode.com> + + * mail-ops.c (fetch_mail): + * folder-browser.c (folder_browser_load_folder): Update for folder + creation/existence changes. + + * message-list.c (message_list_set_folder): Remove the code to + create the folder if it doesn't exist, since we don't want to do + that. + +2000-06-05 Dan Winship <danw@helixcode.com> + + * mail-ops.c (composer_send_cb): Leave the composer window around + if the message doesn't get sent. + +2000-06-05 Matt Loper <matt@helixcode.com> + + * folder-browser.c (etable_key): Allow "GDK_KP_Delete", a keypad + delete key, to delete a message. + +2000-06-05 Dan Winship <danw@helixcode.com> + + * session.c (evolution_auth_callback): Remember passwords between + calls. + (forget_passwords): Callback for "Forget Passwords" menu item. + + * folder-browser-factory.c (control_activate): + (control_deactivate): Add "Forget Passwords" menu item. + + * mail.h, mail-ops.c: fix some function prototypes + + * folder-browser.c (etable_key): Add "Delete" = delete message. + + * mail-format.c (mail_generate_forward): Update for new composer + attachment interface. + +2000-06-02 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-config.c (providers_config_new): Added a new notebook + page that allowed for mail format (text/plain or + multipart/alternative) + +2000-06-02 Dan Winship <danw@helixcode.com> + + * message-list.c (filter_date): If the date in the summary is 0, + output "?". + + * component-factory.c (create_view): keep a GList of folder + browsers created + (owner_unset_cb): Go through the list and close each folder before + exiting so they sync their summary state, etc to disk. + + * mail-ops.c (fetch_mail): Use camel_service_connect, not + connect_with_url, since we already passed the URL into + camel_session_get_store. + +2000-06-02 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c: Use camel_folder_free_summary instead of + g_ptr_array_free. Unref the folder when we're done with it. + +2000-06-02 Christopher James Lahey <clahey@helixcode.com> + + * session.c: Revert removal of e_setup_base_dir. + +2000-06-02 Dan Winship <danw@helixcode.com> + + * folder-browser.c (my_folder_browser_init): Connect to ETable's + key_press signal. + (etable_key): scroll mail on space/backspace. + +2000-06-02 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c: Made sent column as wide as from column. + +2000-06-02 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-config.c (on_cmdSourcesAdd_clicked): Changed identity_row + to source_row as this is a Sources clist we are dealing with and + not an identity clist + (on_cmdSourcesEdit_clicked): same + (on_cmdSourcesDelete_clicked): again, same + (on_cmdSourcesEdit_clicked): Source editor now fills in data from + the clist + +2000-06-01 Dan Winship <danw@helixcode.com> + + * message-list.c: Add a date column. + (COL_SENT_WIDTH_MIN): Make this wider. + (ml_value_at): return the sent date (as a time_t) for COL_SENT. + (Fix COL_TO too while I'm here.) + (ml_duplicate_value, ml_free_value, ml_initialize_value, + ml_value_is_empty): COL_SENT is numeric now. + (message_list_init_renderers): Create a date renderer (using + text_filter to translate the time_t into a string). + (message_list_init_header): Use render_date for COL_SENT. + +2000-06-01 Christopher James Lahey <clahey@helixcode.com> + + * session.c: Don't call e_setup_base_dir. + +2000-06-01 Dan Winship <danw@helixcode.com> + + * mail-format.c (mail_generate_forward): Fix forwarding to work + for people other than me. :) [Although apparently it doesn't + really.] + + * mail-ops.c (delete_msg): Add a quick hack to move the selection + down a row when you delete a message. + + * mail-format.c (handle_message_rfc822): use <blockquote> rather + than <center><table border=1 width=95%> to frame the embedded + message. If <pre> text in the subtable won't fit in the 95% width, + GtkHTML will write past the border of the table (and + <blockquote><table border=1> causes creeping updates so it's not + usable for now). + +2000-06-01 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c (message_list_init): Turn off the grid in our + ETable. + +2000-06-01 Dan Winship <danw@helixcode.com> + + * mail-format.c (write_headers): Oops. This needs to take a + message argument because we might be writing headers for an + embedded message/rfc822 subpart rather than the root document. + +2000-06-01 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-config.c: Config dialogs are completed. + (service_acceptable): Fixed a segfault caused by duplicate + camel_exception_free() + (providers_config_new): Identity and Source clists are now filled in + when the dialog is created as well as the Transport page + + * folder-browser-factory.c: Renamed Tool/ menu items + Vfolder was changed to Virtual Folder and + Configure Camel Providers was changed to Mail Configuration + +2000-06-01 Ettore Perazzoli <ettore@helixcode.com> + + * Makefile.am (evolution_mail_LDADD): Link with + `libemiscwidgets.a'. + + * mail-display.c (mail_display_new): Use an EScrollFrame instead + of a GtkScrolledWindow. + (mail_display_set_message): Likewise. + + * mail-display.h: Replace the GtkScrolledWindow with an + EScrollFrame. + +2000-06-01 Dan Winship <danw@helixcode.com> + + * component-factory.c (owner_unset_cb): Quit when the shell exits. + This is a kludge, but a pretty necessary one until the refcounting + bugs that keep the component from exiting properly are fixed. + +2000-05-31 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-config.c: Partially implemented the source + configuration, seems to segfault due to a destroyed + gnome dialog being destroyed again in the method + on_SourceConfigDialogButton_clicked() + +2000-05-31 Dan Winship <danw@helixcode.com> + + * mail-format.c (free_url, handle_text_enriched, + get_url_for_icon): Fix up memory management of x-evolution-data + URLs so the URLs and/or their data don't get freed while there are + still references to them. + + * message-list.c (message_list_init_header): redo the (unused) + online status column to no longer refer to pixmaps that no longer + exist. + +2000-06-01 Ettore Perazzoli <ettore@helixcode.com> + + * folder-browser-factory.c (control_activate): Put the toolbar + into a frame to make it look like standard GNOME toolbars. Also, + set `GNOME_DOCK_ITEM_BEH_NEVER_VERTICAL' so that it does not do + evil things when its moved to the left or the right of the window. + +2000-05-31 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-config.c: Configuration dialog now allows + adding/editing/deleting of Identities (which leaves + adding/editing/deleting of sources left to implement). + The data is also saved when the dialog is exited via + the OK button. + +2000-05-31 Dan Winship <danw@helixcode.com> + + * mail-format.c (mail_format_mime_message): Initialize the "urls" + hash table stored on the message and store cid and other URLs + there rather than as object data on the message. + (get_cid): rewrite this a bunch + (handle_text_enriched): move the code from write_iframe_string() + into here, since it's the only place that actually needs it. + (handle_text_html): simplify this a lot. We can use a cid: URL + here rather than x-evolution-data. + (get_url_for_icon): New routine to return URLs for icons, and + cache the results, so we don't have to keep re-reading the icon + files (and so we can't be spoofed into reading non-icon files). + (handle_mystery, handle_audio): use get_url_for_icon. + + * mail-display.c (save_data): move the CamelMimePart filename + extracting code from get_cid to here. + (on_link_clicked, on_object_requested): Update for cid: changes. + (on_url_requested): Kill off the kludgy, exploitable x-gnome-icon + URL schema, update cid and x-evolution-data to match + mail-format.c. + + It should now be easier to implement RFC 2557 (Content-Location, + etc), but that RFC still pretty much sucks. + +2000-05-30 Dan Winship <danw@helixcode.com> + + * mail-format.c: Redo this back to the old way: a single GtkHTML + with various things inline in it. (Gets rid of flicker, simplifies + some scrolling, selecting, and printing issues.) + (handle_text_enriched, handle_text_html): Use <iframe>s for these, + to protect the rest of the document from their possibily invalid + HTML. + (handle_via_bonobo): Use (new-and-improved) <object> tags for + this, moving most of the work back into mail-display.c + + * mail-display.c (on_object_requested): Move the Bonobo embedding + code back here again (reorganized a bit). + (on_url_requested): add x-evolution-data handler, for iframe + bodies. + (mail_html_new, mail_html_end): removed + (mail_display_set_message, mail_display_new): Update for NWO. + +2000-05-30 Not Zed <NotZed@HelixCode.com> + + * folder-browser.c (search_set): Properly encode the search string. + +2000-05-30 Jeffrey Stedfast <fejj@helixcode.com> + + * mail.h: Added a prototype for providers_config_new() which + is the constructor for the configuration dialog window + + * mail-config.c: Added set_service_url() which is basically + the reverse of get_service_url(). + Implemented on_cmdCamelServicesOK_clicked() - The configuration + window will now remember the Sendmail/SMTP data that the user + had entered in the previous session. + Removed on_cmdCamelServicesApply_clicked() - No need for this. + +2000-05-30 Dan Winship <danw@helixcode.com> + + * message-list.c (message_changed): call + e_table_model_row_changed, not e_table_model_changed so we do less + work, and don't lose the current selection. + (select_msg): Set up a timer to mark the displayed message as + "seen" if it's selected for longer than 1.5 seconds (a number + pulled out of Matt's butt). + (ml_value_at): Use the MESSAGE_STATUS column for read/unread as + well as deleted. + + * message-list.c: use the "new" tigert pixmaps rather than the + older ones. Includes a "replied to" icon (which is used now), but + no "deleted" icon (although we have the strikeout renderer for + that now). + +2000-05-30 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c, message-list.h: Added bold for unread messages. + +2000-05-30 Jeffrey Stedfast <fejj@helixcode.com> + + * mail.h: Added a prototype for providers_config() + which is the callback for a new menu item that + will construct a configuration dialog for the camel + providers and identities and display it + + * mail-config.c: Added some code to construct the + new providers dialog and a bunch of callbacks (most + of which are not yet useful) + + * mail-ops.c: Added the code for the providers_confi() + callback + + * folder-browser-factory.c: Added the + "Tools/Camel Providers Configuration ..." menu item + +2000-05-30 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c: Switched to using "cursor_change" signal instead + of "row_selection" for switching messages. Select the first row + (still doesn't work because of ETable.) Adapt to some small + ETable changes. Set drawfocus to FALSE. + +2000-05-29 Not Zed <NotZed@HelixCode.com> + + * folder-browser.c (folder_browser_load_folder): Hardcode the + vfolder source to just the inbox (so at least it returns + something). + + * component-factory.c (create_test_storage): Create a vfolder dir + first, and put the folders in that. + (create_test_storage): Create the storage as VFolders, not + "storage_name" :) + +2000-05-28 Dan Winship <danw@helixcode.com> + + * mail-config.c (error_dialog): helper function since we need to + set "modal" on the dialogs returned by gnome_error_dialog to make + them work when popped up from the modal Druid. + (service_acceptable): New function to check if the info entered on + a store/transport page actually checks out. + (mail_config_druid): Connect to the "next" signal on the store and + transport pages and don't let the user continue if the data is + bad and "check this before continuing" is checked. Also, only + display sources/transports in the "mail" domain. (Ie, not + "vfolder".) + + * mail-format.c (write_recipients_to_stream): Use `foo@bar' rather + than `<foo@bar>' for recipient with no name. + + * mail-ops.c (fetch_mail): don't put up an error message if the + user cancels the password dialog. + +2000-05-27 Not Zed <NotZed@HelixCode.com> + + * Makefile.am (SHELL_OBJS): Include mail storage so we can + initialise folders. + + * component-factory.c (create_test_storage): Parses vfolder + defintions and adds them to the storage. Definetly needs more + work. + + * folder-browser-factory.c (control_activate): Add the VFolder + druid menu item. + (control_deactivate): And remove it. + + * mail-ops.c (vfolder_editor_clicked): For editing vfolder + definitions (rather like filters, oddly enough :). Tries to + update the shell but it doesn't seem to work properly - requires a + mail component restart to take effect. + + * folder-browser.c (folder_browser_load_folder): Handle vfolder: + urls' appropriately and map to camel. Still needs a way to tell + the vfolder what folders to search! (all vfolders come up empty!). + +2000-05-28 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c, message-list.h: Added a COL_DELETED and made it + the strikeout column for both text renderers. + +2000-05-27 Dan Winship <danw@helixcode.com> + + * mail-format.c: Various improvements: + + (call_handler_function, etc): Add a "mime_type" argument to the + handlers, so that if a part is tagged as + "application/octet-stream", and we figure out that it's really + something else, the handler we call can know what that something + else is. + + (handle_text_enriched): Small fixes to make this not do + text/enriched-specific syntax in text/richtext or vice versa. + + (handle_mystery): Allow for mystery data that can't even be saved + to disk. (ie, unrecognized external-body). Let the caller specify + the URL to use. + + (handle_message_external_body): New function to deal with + message/external-body parts. Generates URLs for anon-ftp, + local-file, and URL access-types, and a more-useful-than-before + descriptive message for other types. + + (handle_audio, handle_undisplayable): Use gnome_mime_get_value to + try to get a description of the MIME type to display to the user + rather than the raw form. (This will only work if the user has + recent gnome-vfs installed. [If they don't, it works just like + it used to.]) + +2000-05-26 Dan Winship <danw@helixcode.com> + + * mail-format.c (handle_text_html): Fix a bug (security/stability) + in its usage of mail_html_write. + + * mail-ops.c (composer_send_cb, reply): set CAMEL_MESSAGE_ANSWERED + on a message after a successful reply. + + * message-list.c (folder_changed): free the summary with + camel_folder_free_summary rather than g_ptr_array_free. + + * mail-format.c (handle_via_bonobo): Update for PersistStream + changes + +2000-05-25 Ettore Perazzoli <ettore@helixcode.com> + + * main.c (main): Initialize the component factory. + + * Makefile.am (evolution_mail_LDADD): Link with + `evolution-shell-component.o' from the shell directory. + + * evolution-mail.oafinfo: Updated with the + Evolution::ShellComponent OAFIID. + + * evolution-mail.gnorba: Updated with the + Evolution::ShellComponent GOAD ID. + + * folder-browser-factory.c (folder_browser_factory_new_control): + New function; code moved out from `folder_browser_factory'. + (folder_browser_factory): Use it. + + * component-factory.c: New. + * component-factory.h: New. + +2000-05-24 Dan Winship <danw@helixcode.com> + + * mail-ops.c (composer_send_cb): connect to and disconnect from + the transport. + +2000-05-24 Christopher James Lahey <clahey@helixcode.com> + + * Makefile.am: Added libepaned.a. + + * folder-browser.c: Switched from GtkPaned to EPaned. + +2000-05-23 Ettore Perazzoli <ettore@helixcode.com> + + * Makefile.am: Don't link to `evolution-service-repository.o' + anymore. + + * folder-browser-factory.c: Don't use crufty service-repository + anymore. + +2000-05-21 Ettore Perazzoli <ettore@helixcode.com> + + * message-list.c (get_message_info): Made static. + (ml_initialize_value): Return NULL to placate compiler. + + * folder-browser.c (folder_browser_gui_init): Add cast. + + * mail-display.c (mail_html_new): Don't pass an empty URL to + `gtk_html_begin()' anymore. + + * mail-config.c (put_html): Don't pass an empty URL to + `gtk_html_begin()' anymore. + + * mail-display.h: Updated for the new GtkHTML API that uses + `GtkHTMLStream *' instead of `GtkHTMLStreamHandle'. + * mail-display.c: Likewise. + * mail-config.c: Likewise. + * mail-format.c: Likewise. + +2000-05-19 NotZed <NotZed@HelixCode.com> + + * mail-format.c: Fixes for stream stuff. + + * mail-display.c (save_data_cb): Remove exception stuff on streams. + +2000-05-19 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c: Added initialize_value and value_is_empty + callbacks. + +2000-05-18 Dan Winship <danw@helixcode.com> + + * folder-browser-factory.c (folder_browser_factory): Remove + development_warning (moved to shell) + + * message-list.c (select_msg): Update for camel_folder_get_uids + (folder_changed, message_list_set_folder): Update for + camel_folder_get_summary + + * mail-ops.c (fetch_mail): Update for camel_folder_get_uids + +2000-05-17 Dan Winship <danw@helixcode.com> + + * mail-component.c: This seems to be cruft. Nuke it. + + * mail-display.c (save_data_cb, save_data, on_url_requested): + * mail-format.c (handle_text_plain_flowed, handle_text_html): + Use camel_data_wrapper_write_to_stream rather than + camel_data_wrapper_get_output_stream. + +2000-05-16 NotZed <NotZed@HelixCode.com> + + * mail-ops.c (filter_edit): Function to bring up the filter editor. + (filter_druid_clicked): Save/close dialogue. + (fetch_mail): Apply filters to incoming mail ... *hold breath* + If we are coming from a non-indexed/searchable/etc source, then + copy it to an mbox first. When copying mail from an mbox source, + dont remove it aftewards, open it for append, so partially + filtered mail isn't lost. + + * Makefile.am (evolution_mail_LDADD): Added libfilter. + (INCLUDES): Add EVOLUTION_DATADIR, and fix matt's brokeneditor(tm) + for putting spaces instead of tabs in. + +2000-05-16 Christopher James Lahey <clahey@helixcode.com> + + * mail-format.c: Removed usage of bonobo_object_destroy. + +2000-05-14 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c: Updated to work with new ETable resizing. + +2000-05-12 NotZed <NotZed@HelixCode.com> + + * mail-ops.c (fetch_mail): Use 6 X's to mkstemp, as required by + the man page, just a temp fix, this should probably change to a + known filename. + +2000-05-11 Dan Winship <danw@helixcode.com> + + * folder-browser-factory.c (control_activate): Now that we depend + on current gnome-libs we can make the toolbar detachable again. + +2000-05-11 Federico Mena Quintero <federico@helixcode.com> + + * folder-browser-factory.c (development_warning): Left-justify the + message. + +2000-05-10 Christopher James Lahey <clahey@helixcode.com> + + * folder-browser-factory.c (development_warning): Made this dialog + have fewer buttons. + +2000-05-10 Christopher James Lahey <clahey@helixcode.com> + + * folder-browser-factory.c (development_warning): New development + warning text from Nat. + +2000-05-10 Larry Ewing <lewing@helixcode.com> + + * mail-config.c (html_new): only set the default background color + if style is not NULL. + +2000-05-09 Christopher James Lahey <clahey@helixcode.com> + + * Makefile.am: Removed folder-browser-factory.h since it doesn't + exist. Added mail-display.h, mail-types.h, pixmaps.h. + +2000-05-09 Matt Loper <matt@helixcode.com> + + * folder-browser-factory.c (control_activate): Remove "File->mail" + menuitem. + + * mail-config.c (mail_config_druid): Fill in "blah blah blah". + +2000-05-09 Dan Winship <danw@helixcode.com> + + * folder-browser.c (folder_browser_load_folder): make this a + little less kludgy. Use gnome_error_dialog rather than printf on + errors. + + * mail-ops.c (fetch_mail): Fix to work with the new shell stuff... + sorta. Will need more fixing later when the new shell framework is + more done. + + * mail-config.c (finish): Call gnome_config_sync so the data + actually gets written. + +2000-05-08 Dan Winship <danw@helixcode.com> + + * mail-display.c (save_data_cb): + (on_url_requested): Update for CamelStream CamelException changes. + + * mail-format.c: Pass NULL for a CamelException in a bunch of + places... the user will see that the data is not being displayed, + and there's not a lot we can do, and none of these things should + be failing anyway. Maybe fix this later. + +2000-05-07 NotZed <NotZed@HelixCode.com> + + * message-list.c (ml_value_at): Size moved to message info, rather + than content info structure. + +2000-05-07 Dan Winship <danw@helixcode.com> + + * message-list.c (select_msg): unref the message after displaying + it. + + * mail-format.c (get_data_wrapper_text): + (handle_text_plain_flowed): + (handle_via_bonobo): Replace camel_stream_close calls. + +2000-05-07 Matt Loper <matt@helixcode.com> + + * folder-browser-factory.c: Changed a toolbar button from saying + "New mail" (which suggests you might be composing new mail) to + "Get mail". + +2000-05-06 Dan Winship <danw@helixcode.com> + + * folder-browser-factory.c (folder_browser_factory): Don't + hardcode "inbox" here. + + * folder-browser.c (folder_browser_set_uri): Don't hardcode + "inbox" here either. + (folder_browser_load_folder): Create a new store according to the + folder browser's URI, and load the mbox file from that store. + Parts of this are temporary. + + * session.c, mail.h: There is no longer a global store, just a + global session. + + * mail-config.c, mail-ops.c: Update for default_session -> session + change. fetch_mail is currently broken. + +2000-05-06 Dan Winship <danw@helixcode.com> + + * mail-config.c: New code to configure identity, mail source, and + mail transport. + (mail_config_druid): A druid using the config widgets. (Only + allows configuration of a single identity, source, and transport.) + + * mail-ops.c (check_configured): New function to make sure the + user has configured stuff, and call the druid if not. + (fetch_mail, send_msg, send_to_url, reply, forward_msg): Call + check_configured + (composer_send_cb): Make this pass the message to a CamelTransport + rather than just printing it to stdout. + + * folder-browser-factory.c (development_warning): Add a warning + about sending mail, since you can do that now. + +2000-05-06 Chris Toshok <toshok@HelixCode.com> + + * .cvsignore: ignore evolution-mail.pure + + * Makefile.am: add support for building evolution-mail.pure + +2000-05-06 Dan Winship <danw@helixcode.com> + + * mail.h: consolidate mail-format.h, mail-identify.h, mail-ops.h, + main.h and session.h into this new file. There's no reason to have + a .h for every .c. + +2000-05-05 Anders Carlsson <andersca@gnu.org> + + * test-mail.c (create_container): Use the OAFIID when using an + OAF-enabled build of bonobo. + +2000-05-04 NotZed <NotZed@HelixCode.com> + + * message-list.c (message_list_set_folder): Get the whole message + summary right away. + (folder_changed): And if we change too. + (ml_row_count): Use the match count or summary table length as the + row count. + (get_message_info): Use array references to lookup message summary + info. For the search result list, use the summary_search_cache to + cache the info lookup. + (message_list_init): Allocate the summary search cache. + (message_list_destroy): Free the summary search cache and the + summary table, if there is one to free. + (message_list_set_search): Save the match count, and clear the + summary search cache for reuse. + (folder_changed): Re-retrieve the summary list if the folder has + changed. + (message_list_set_folder): Retrieve the summary list when opening + the folder. + +2000-05-03 Jason Leach <leach@wam.umd.edu> + + * Makefile.am (evolution_mail_LDADD): s/-lunicode/$(UNICODE_LIBS)/ + in the LDADD section. + +2000-05-03 Dan Winship <danw@helixcode.com> + + * mail-format.c (write_recipients_to_stream, write_headers): Make + the "Cc:" field optional again. (Before, we could check if + camel_mime_message_get_recipients returned NULL, but now we need + to actually look into the returned CamelInternetAddress object.) + +2000-05-03 Larry Ewing <lewing@helixcode.com> + + * folder-browser.c (folder_browser_gui_init): comment out the + changed signal for now. + +2000-05-02 Matt Loper <matt@helixcode.com> + + * Makefile.am: set G_LOG_DOMAIN. + +2000-05-02 Larry Ewing <lewing@helixcode.com> + + * message-list.c (message_list_set_search): only free search if it + is not NULL. + +2000-05-02 NotZed <NotZed@HelixCode.com> + + * folder-browser.c (folder_browser_gui_init): Connect the changed + signal to search, so it searched immediately? + +2000-05-01 NotZed <NotZed@HelixCode.com> + + * pixmaps.h: Added envelope-deleted state. + + * folder-browser-factory.c: Setup callback for actual delete op. + (control_activate): Setup a tool menu item to expnge deleted + messages. + + * mail-ops.c (delete_msg): Toggle the delete flag on a message. + (expunge_folder): New function to expunge deleted messages from + the current folder. + + * folder-browser.c (folder_browser_gui_init): A hackish little + quick-search entry. + (search_activate): Perform a quick-search on the folder subject + only. + (folder_browser_gui_init): Add an option meny to the search line. + (create_option_menu): Build the option menu from a table. + (search_set): Build a search from another string whent he option + menu or text item is changed. 5 search options are defined so + far. + + * message-list.c (get_message_info): If there is an active search, + then get the data from that ... use this instead of + _get_message_info(). + (ml_row_count): If we have an active search, get the info from its + result. + (select_msg): Changed to use get_message_info, so searches work. + (ml_value_at): And same here. + (message_list_init_renderers): Added a 3rd state to message_status + = deleted. + (ml_value_at): Show the message state as deleted, if it is marked + for deletion. + (folder_changed): When the folder changes, update the display. + (message_list_set_folder): Connect to the folder_changed event + here. + (message_changed): Callback to update the display when the message + changes. + (select_msg): And connect to the message_changed signal so we know + when it cahgnes. + (message_list_set_search): Save the search string. + (folder_changed): If the folder changes, re-run the search, + otherwise we may end up with invalid entries in the display. + + * mail-display.c: Include missing errno.h. + +2000-04-30 Dan Winship <danw@helixcode.com> + + * session.c (session_providers_init): This is no longer necessary. + + * mail-ops.c (fetch_mail): Remove kludge to load remote provider, + as camel can do it by itself now. + +2000-04-29 Dan Winship <danw@helixcode.com> + + * mail-display.c (on_link_clicked): Handle clicks on "cid" URLs by + popping up a "Save Attachment" dialog. + + * mail-format.c (get_cid): if the part has a Content-Disposition + with a filename specified, record (a sanitized version of) that on + the wrapper when creating the cid reference, so the "save + attachment" code can use it later. + (handle_mystery): fix a bug in the cid generation here. + +2000-04-29 Dan Winship <danw@helixcode.com> + + * mail-format.c (lookup_handler, etc): Improve the builtin vs + bonobo selection code. + (handle_mystery): Include name and Content-Description in the + "mystery data" info, when available + (handle_unknown_type): Call mail_identify_mime_part before + giving up. + (handle_undisplayable): Split out of handle_unknown_type now + that handle_unknown_type can try alternate viewers. + (handle_via_bonobo): Fall back to handle_undisplayable if the + bonobo control fails. + + * mail-identify.c (mail_identify_mime_part): New function to + attempt to identify a MIME part that we can't identify based on + Content-Type alone. + + * mail-display.c (on_url_requested): redo the mystery data icon + display stuff less kludgily. + +2000-04-28 Dan Winship <danw@helixcode.com> + + * mail-format.c (write_recipients_to_stream, write_headers, + mail_generate_reply): Update (minimally) for Camel recipient + changes. + +2000-04-28 Ettore Perazzoli <ettore@helixcode.com> + + * main.c (init_bonobo): Don't call `init_corba()' and don't get + any args. + (init_corba) [!USING_OAF]: Fix args. + +2000-04-27 Ettore Perazzoli <ettore@helixcode.com> + + * folder-browser-factory.c: New macro `CONTROL_FACTORY_ID', which + is #defined to a different value according to whether we are + `USING_OAF' or not. + (folder_browser_factory_init): Use `CONTROL_FACTORY_ID'. + + * test-mail.c + (init_corba): New helper function, implemented differently + according to `USING_OAF'. + (main): Use `init_corba()'. + + * main.c + (init_corba): New helper function, implemented differently + according to `USING_OAF'. + (init_bonobo): Use `init_corba()'. + + * Makefile.am: Install OAF stuff if `USING_OAF'. Add + `-I$(datadir)/idl' to the `orbit-idl' command-line so that we can + use Bonobo IDL files installed under our prefix as well. Also, + use `$(ORBIT_IDL)' instead of hardcoded `orbit-idl'. + + * evolution-mail.oafinfo: New file. + +2000-04-27 Dan Winship <danw@helixcode.com> + + * mail-format.c: Move text_to_html to e-util. + + * mail-ops.c (send_to_url): New routine. Thin wrapper for + e_msg_composer_new_from_url. + + * mail-display.c (on_link_clicked): print a warning for news or + nntp URLs (which we'll deal with some day), and call send_to_url + for mailto URLs. + + * mail-format.c (text_to_html): Improve URL conversion code. + Recognize https, recognize "www\..*" without a prefixed "http://". + Properly escape &, <, >, etc in URL strings. Don't be fooled by + "mailto:", "http://", etc with no following data. + +2000-04-26 Dan Winship <danw@helixcode.com> + + * mail-format.c (text_to_html): Reorganize a bit and add a new + flag, TEXT_TO_HTML_CONVERT_URLS to recognize and wrap URLs + in text. + + * mail-display.c (mail_html_new): Add link_clicked signal handler. + (on_link_clicked): Use gnome_url_show to launch a browser. + + * mail-format.c: update for CamelStream changes. Update for + CamelMimeBodyPart -> CamelMimePart + +2000-04-25 Dan Winship <danw@helixcode.com> + + * mail-display.c, mail-format.c: Redo large chunks of this. The + mail display now consists of a vbox in a scrolled window, in which + we put multiple GtkHTML objects. This means broken HTML in one + part can't corrupt other parts. The headers now scroll with the + body. Unrecognized attachments look prettier, but still don't do + anything, and will probably be changed later. We can also now + display nested message/rfc822 parts and multipart/alternatives + with multipart subparts. Oh, and text/{richtext,enriched}, since + we had all these ancient sample messages that use it and the lack + of support annoyed me. :) + + Bonobo embeddables are broken right now, but I don't think that's + my fault. + + * mail-format.c (reply_body): Fix some bugs that crept into reply + generation. This needs a lot more work to deal correctly with + complicated bodies. + (setup_function_table): pass unknown text subtypes to + handle_text_plain. + (handle_multipart_appledouble): new handler. Just ignores the + first (application/applefile) part and tries to display the + second part. Since the second part is usually + application/octet-stream, this doesn't work very well still + usually. + (reply_body): Make this deal better with multiparts. + + * mail-format.c, mail-display.c: Now that we're not limited to + a single GtkHTML for the display, there's no reason to embed + Bonobo objects for unrecognized content-types in GtkHTML rather + than embedded them into the vbox directly. So do that. + + Meanwhile, fix up the handler-selection code so that we can + declare which built-in handlers are more desirable than external + handlers and which are less. (Of course, eventually we'll want + this to be customizable.) Add some cleverness to + handle_multipart_alternative as well so it doesn't accept an + alternative which we can display generically over one we can + display specifically. + + * mail-format.c (text_to_html): add a convert_space_hack flag, + which turns N spaces into N-1 s and a space. + (handle_text_plain): Check for "format=flowed" in the + Content-Type. + (handle_text_plain_flowed): Spinoff of handle_text_plain to deal + with RFC 2646 flowed text. (All the examples I can find of it + are generated by Eudora, but it's a pretty cool idea that ought + to be used more widely.) + +2000-04-23 Dan Winship <danw@helixcode.com> + + * folder-browser-factory.c: rename "send" to "send_msg", to avoid + name clash with the tcp function. Connect the "forward" button. + + * mail-ops.c: rename "send" to "send_msg", to avoid name clash + with the tcp function. Add forward_msg function. + + * mail-format.c (mail_generate_forward): support function for + forward_msg. Pretty much a big kludge right now, pending the + attachment/attachment-bar changes. + +2000-04-22 Dan Winship <danw@helixcode.com> + + * mail-display.c (on_url_requested): Change cid expectations to + match current camel reality. + + * main.c (main): call glade_gnome_init, for composer. + + * folder-browser-factory.c: move msg_composer_cb and + msg_composer_send_cb to mail-ops. Attach send, reply, and "reply + to all" buttons. + + * mail-ops.c (composer_send_cb, send): moved from + folder-browser-factory.c. + (reply_to_sender, reply_to_all): new functions to do replies. + + * mail-format.c (text_to_html): Add an "add_pre" flag, to make + it wrap the output in <pre></pre>. + (mail_generate_reply): New function to create a composer and build + a reply in it. + +2000-04-21 Dan Winship <danw@helixcode.com> + + * mail-display.c (on_url_requested): deal with cid: URLs. + (find_cid): helper routine for above. (This could be much better.) + (mail_display_init): connect url_requested signal + + * mail-format.c (handle_multipart_related): Make this work. + + * mail-display.c (mail_display_set_message): ref the message we + display, since we're going to unref it when we remove it. Fixes a + bug that showed up with the new camel code, but it's not obvious + if it's due to a bug or a feature in the new code. + +2000-04-20 NotZed <NotZed@HelixCode.com> + + * Makefile.am (evolution_mail_LDADD): Add libibex.la to link. + + * message-list.h: Removed folder summary. + + * message-list.c: Dont include folder-summary anymore. + (select_msg): Changed to use folder, not summary in + summary_get_message_info(). God this code is grotty. + (ml_value_at): Ditto. + (ml_value_at): Changed to use new interface. Hmm, this returns a + static variable, that seems wrong. + (message_list_set_folder): Remove folder summary. + (ml_row_count): Oops, remove some debug i put there. + +2000-04-20 Dan Winship <danw@helixcode.com> + + * mail-display.c: update for bonobo change, and remove a + now-unused variable. + +2000-04-17 Chris Toshok <toshok@helixcode.com> + + * message-list.c (on_row_selection_idle): new function, actually + calls select_msg. + (on_row_selection_cmd): register an idle instead of calling + select_msg directly. this fixes the lag before the row is + selected - selection is instantaneous now, with message loading + happening afterward. + + * message-list.h: add row_to_select and an idle_id to the message + list to make the select_msg call happen in an idle func. + + * message-list.c (message_list_init_renderers): no more + e_cell_set_editable. this info always comes from the model. + +2000-04-14 Dan Winship <danw@helixcode.com> + + * mail-format.[ch]: Moved from camel/camel-formatter, and changed + slightly. (More to come.) + + * html-stream.[ch]: No longer necessary. mail-format uses + GtkHTMLStreamHandles directly. + + * mail-display.[ch]: update for new message formatting code. + +2000-04-14 Chris Toshok <toshok@helixcode.com> + + * folder-browser-factory.c (control_activate): use + gnome_app_fill_toolbar_with_data, so we get the beautiful gnome + toolbar. + +2000-04-14 Dan Winship <danw@helixcode.com> + + * folder-browser-factory.c (development_warning): Fix up the + warning message a bit. + (folder_browser_factory): Make the warning bypassable. + +2000-04-12 Miguel de Icaza <miguel@gnu.org> + + * main.c (main): Call e_cursors_init. + +2000-04-10 Dan Winship <danw@helixcode.com> + + * mail-ops.c (fetch_mail): use camel_movemail when fetching mail + from an mbox store. This leaves behind temp files for now, + because CamelMboxFolder::delete is too confused to use, and NotZed + is rewriting CamelMboxFolder, so I'm not going to bother to try to + fix it. + + * mail-ops.c: Add some #includes for the non-HAVE_MKSTEMP case + +2000-04-09 Matt Loper <matt@helixcode.com> + + * folder-browser.c (folder_browser_new): set folder_browser->uri + to NULL, so that we know when to free it. + +2000-04-07 Miguel de Icaza <miguel@gnu.org> + + * message-list.c (states_pixmaps): Add more beautiful art from + Miggue, the Diego Rivera of the next millenium. + (message_list_init_header): Use the beautiful art. + + * pixmaps: Miguel rediscovers the "transparent" concept. + +2000-04-07 Matt Loper <matt@helixcode.com> + + * folder-browser.c (folder_browser_destroy): Unref the shell + interface that we have a handle to. + + * folder-browser-factory.c (control_destroy_cb): New function; + destroys a folder-browser when its control is destroyed. + (folder_browser_factory): Hook up to the above. + +2000-04-07 Dan Winship <danw@helixcode.com> + + * mail-ops.c: new file, for toolbar/menu callbacks + (fetch_mail): fetch mail. Doesn't do mbox locking. Many kludges. + + * folder-browser-factory.c (control_activate): use new fetch_mail + function as the callback for the "New mail" icon. Rename check_cb + to random_cb. + + * Makefile.am: don't build test-sources since the version in + CVS doesn't do much and once I've fixed it it won't be a separate + program. Add mail-ops.[ch]. + +2000-04-06 Miguel de Icaza <miguel@gnu.org> + + * message-list.c: Stick pixmaps here. + + * mail-display.c (embeddable_destroy_cb): Replaced C++ comments + with C comments. + + * message-list.c (load_internal_images): New function, loads images. + (message_list_init_renderers): Load images, fix previous attempt + at loading images. + + * Makefile.am (dist-hook): Added distribution of pixmaps. + + * pixmaps: New directory, used to hold the XPMs we ship with. + + * pixmaps/envelope-closed.xpm, pixmaps/envelope-open.xpm: Tigert's + envelopes incorporated. + +2000-03-31 Miguel de Icaza <miguel@gnu.org> + + * message-list.c (ml_value_at): Fix miss-used variable. + +2000-04-01 Michael Meeks <michael@helixcode.com> + + * folder-browser.c (folder_browser_properties_init): update to + new property (folder_browser_property_changed): kill. + (get_prop, set_prop): do the donkey work + make properly RW. + +2000-03-31 Dan Winship <danw@helixcode.com> + + * folder-browser-factory.c (folder_browser_set_shell): + * folder-browser.c (folder_browser_new): + * message-list.c (on_row_selection_cmd, select_msg, + message_list_init, message_list_set_folder): + + remove debugging printf()s that no longer seem useful + +2000-03-29 Dan Winship <danw@helixcode.com> + + * folder-browser-factory.c (control_activate): build a toolbar. + (control_deactivate): and hide it. + +2000-03-27 Chris Toshok <toshok@helixcode.com> + * mail-display.c: quiet warnings when building in ../po + +2000-03-26 Miguel de Icaza <miguel@gnu.org> + + * folder-browser-factory.c (folder_browser_set_shell): Memory leak + fix. + +2000-03-25 Dan Winship <danw@helixcode.com> + + * message-list.c (select_msg, ml_value_at): update for summary + changes. Hey, neat, it really does make it more efficient. + +2000-03-22 Christopher James Lahey <clahey@helixcode.com> + + * .cvsignore: Updated .cvsignore. + +2000-03-21 Matt Loper <matt@helixcode.com> + + * mail-display.c: Minor cleanup & commenting. + + * folder-browser-factory.c: Minor cleanup & warning elimination. + +2000-03-21 bertrand <bertrand@helixcode.com> + + * message-list.c (ml_value_at): display message size + +2000-03-20 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c: Properly ref & sink the table and header models. + +2000-03-14 Dan Winship <danw@helixcode.com> + + * mail-sources.c: First cut at a mail source selection wizard. + Basically a rigged demo at this point. Doesn't use camel to get + its information, and is not yet complete or integrated with the + mail component. Did I mention that the code is ugly? + +2000-03-13 bertrand <bertrand@helixcode.com> + + * folder-browser-factory.c (folder_browser_set_shell): + for testing and demonstration purpose, immediately + register a fake service. + +2000-03-12 bertrand <bertrand@helixcode.com> + + * folder-browser-factory.c (folder_browser_factory_init): + name change. + (control_activate_cb): when the control is activated, + it merges its own UI with the remote UIHandler. + (control_add_menu): sample menu merging. + (folder_browser_factory): connect the control "activate" signal. + + * evolution-mail.gnorba: + name changes + + * folder-browser.h: added a reference to an + Evolution::Shell object. + + * folder-browser-factory.c (folder_browser_set_shell): + (folder_browser_control_add_service_repository_interface): + (folder_browser_factory): the folder-browser control now + implements the Evolution/ServiceRepository interface. + +2000-03-07 bertrand <bertrand@helixcode.com> + + * folder-browser-factory.c (development_warning): + added a warning so that the user knows that this + version may crash his mails. + +2000-03-05 bertrand <bertrand@helixcode.com> + + * message-list.h: include a referrence to the parent + folder browser. + + * message-list.c (ml_value_at): use the message summary + from the + + * html-stream.c (html_stream_close): when the stream + is closed, set the html stream to NULL + (html_stream_write): don't write anything if the + html handle does not exist. + (html_stream_reset): implemented. close the current + html handle and begins a new html parser. + + * session.c (session_store_new): use static exception + here. + +2000-03-05 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c: Added a prototype message listing. + +2000-03-04 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c: Set up the column headers properly. + + * folder-browser.c: Show the folder_browser widget. + +2000-03-04 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c: Define ml_duplicate_value and ml_free_value + correctly. + +2000-03-04 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c: Use g_int_compare and g_str_compare as we should + be instead of g_int_equal and g_str_equal. + +2000-03-04 bertrand <bertrand@helixcode.com> + + * test-mail.c (main): replace the bonobo-active/gtk-main + by bonobo-main. + Include Gnorba headers. + (main): don't call the container creation routine + before we entered the main loop. Use idle for that. + +2000-03-04 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c: Change this to use the ETable widget itself + instead of building it from all the parts. + +2000-03-03 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c: Ref the table columns since we unref them at the + end. + +2000-03-01 Ettore Perazzoli <ettore@helixcode.com> + + * Makefile.am (INCLUDES): Add `$(top_srcdir)'. Also, the + `top_srcdir' includes must come first everything else to avoid + including installed headers instead of our fresh ones. + +2000-02-28 NotZed <NotZed@HelixCode.com> + + * Makefile.am (evolution_mail_LDADD): Fixed references to eutil. + +2000-02-24 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c: Changed to match new e_table_simple interface. + +2000-02-24 Dan Winship <danw@helixcode.com> + + * message-list.c (message_list_set_folder): update for CamelFolder + changes + +2000-02-24 Christopher James Lahey <clahey@helixcode.com> + + * message-list.c: Changed this to not use the "x" and "y" + arguments to e-table-item. + +2000-02-23 Matt Loper <matt@helixcode.com> + + * message-list.c (message_list_set_folder): Check 'desc'riptions + of exceptions. + +2000-02-22 bertrand <Bertrand.Guiheneuf@aful.org> + + * message-list.c (message_list_set_folder): + fix to show a sample correct implementation. + +2000-02-21 Matt Loper <matt@helixcode.com> + + * Makefile.am: added -lunicode to evolution_mail_LDADD. + +2000-02-21 Dan Winship <danw@helixcode.com> + + * session.c (session_store_new): Pass a CamelAuthCallback + (evolution_auth_callback) to camel_session_new. + +2000-02-21 Dan Winship <danw@helixcode.com> + + * session.c (session_store_new): Update session_store_new to + deal with the fact that camel_session_get_store takes a + CamelException now. Doesn't actually do anything with the + exception yet, because nothing else does yet either. + +2000-02-19 Matt Loper <matt@helixcode.com> + + * .cvsignore: added test-mail. + +2000-02-14 Miguel de Icaza <miguel@gnu.org> + + * folder-browser.c (folder_browser_load_folder): New routine, + loads a camel folder. + (folder_browser_set_uri): redo. + + * session.c: new file. Implements SessionStores to keep track of + a Session/Store tuple. + +2000-02-13 Matt Loper <matt@helixcode.com> + + * html-stream.c (html_stream_new): Second param of gtk_html_begin + should be "", not NULL. + (html_stream_new): gtk_html_parse() is deprecated, so the call was + removed. + + * html-stream.h: HTMLStreamClass's parent changed to + CamelStreamClass, not CamelStream. + +2000-02-11 Christopher James Lahey <clahey@helixcode.com> + + * Makefile.am: Add the e-text directory to the includes list. + + * message-list.c: Change the call to e_cell_text_new, since + there's an added argument. + +2000-02-09 Christopher James Lahey <clahey@helixcode.com> + + * Makefile.am: Added libetext as libetable depends on it. + +2000-02-08 Iain Holmes <ih@csd.abdn.ac.uk> + + * Makefile.am: Changed the order of the compilation so the CORBA stuff + was made before it was needed. + +2000-01-19 Miguel de Icaza <miguel@gnu.org> + + * Started work on the mail display engine. + + * html-stream.c, html-stream.h: New files, they are CamelStreams + used to write to the GtkHTML widget. + |