2000-06-20 Jeffrey Stedfast * component-factory.c (create_imap_storage): Oops. Should have checked for a NULL sources. 2000-06-20 Dan Winship * 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 * 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 * 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 * 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 * component-factory.c (create_imap_storage): Now creates the IMAP storage (listing subfolders and such) 2000-06-19 Dan Winship * 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 * 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 * 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 * message-list.c (message_list_set_folder): Prevent double-freeing action on summary_table and uid_rowmap. 2000-06-16 Dan Winship * 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 * 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 * 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 * main.c (main): call gtkhtmllib_init here 2000-06-13 Jeffrey Stedfast * 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 * Makefile.am (SHELL_OBJS): Removed. (evolution_mail_LDADD): Use `libeshell.a'. Also use `top_builddir' consistently. 2000-06-12 Jeffrey Stedfast * 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 * message-list.c: Removed the ETableModel thaw handler. 2000-06-12 Dan Winship * 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 * 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 * 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 * 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 * 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 * 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 * mail-ops.c (composer_send_cb): Leave the composer window around if the message doesn't get sent. 2000-06-05 Matt Loper * folder-browser.c (etable_key): Allow "GDK_KP_Delete", a keypad delete key, to delete a message. 2000-06-05 Dan Winship * 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 * 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 * 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 * 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 * session.c: Revert removal of e_setup_base_dir. 2000-06-02 Dan Winship * 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 * message-list.c: Made sent column as wide as from column. 2000-06-02 Jeffrey Stedfast * 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 * 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 * session.c: Don't call e_setup_base_dir. 2000-06-01 Dan Winship * 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
rather than
to frame the embedded message. If
 text in the subtable won't fit in the 95% width,
	GtkHTML will write past the border of the table (and
	
causes creeping updates so it's not usable for now). 2000-06-01 Christopher James Lahey * message-list.c (message_list_init): Turn off the grid in our ETable. 2000-06-01 Dan Winship * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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