2007-05-23 Murray Cumming <murrayc@murrayc.com>
[modest] / ChangeLog2
index 1c9556a..6e70845 100644 (file)
+2007-05-23  Murray Cumming  <murrayc@murrayc.com>
+
+       Modest on-disk outbox directories are now here, for instance:
+       $HOME/.modest/outboxes/<account-id-1>/outbox
+       $HOME/.modest/outboxes/<account-id-2>/outbox
+       instead of here:
+       $HOME/.modest/local-folders/outbox
+       so we can have a separate outbox for each account.
+       But they are shown as one outbox in the GtkTreeView, by using a 
+       TnyMergeFolder in a ModestTnySimpleFolderStore.
+       
+       * src/Makefile.am:
+       * src/modest-tny-simple-folder-store.c:
+       * src/modest-tny-simple-folder-store.h:
+       Added ModestTnySimpleFolderStore, used to contain folders from 
+       other folder stores, such as other accounts.
+       
+       * src/modest-tny-outbox-account.h:
+       * src/modest-tny-outbox-account.c:
+       Added ModestTnyOutboxAccount, derived from TnyCamelStoreAccount, 
+       used for the per-account local outbox folders.
+       
+       * src/modest-defs.h: Rename MODEST_LOCAL_FOLDERS_ACCOUNT_ID to 
+       MODEST_ACTUAL_LOCAL_FOLDERS_ACCOUNT_ID, to make it clearer that we 
+       only use this (internally) now for the non-outbox local folders.
+
+       * src/modest-init.h:
+       * src/modest-init.c: Added modest_init_one_local_folder(), for 
+       setting up the directory structure for each local folder.
+
+       * src/modest-local-folder-info.c:
+       (modest_per_account_local_outbox_folder_info_get_maildir_path),
+       (modest_per_account_local_outbox_folder_info_get_maildir_path_to_ou
+       tbox_folder):
+       * src/modest-local-folder-info.h:
+       * src/modest-tny-account-store.c: (on_account_removed),
+       (on_account_changed), (create_per_account_local_outbox_folders),
+       (get_server_accounts), (modest_tny_account_store_get_accounts),
+       (modest_tny_account_store_get_tny_account_by_account),
+       (modest_tny_folder_store_is_virtual_local_folders):
+
+       * src/modest-tny-account.h:
+       * src/modest-tny-account.c:
+       Added modest_tny_account_new_for_per_account_local_outbox_folder(), 
+       to create an on-disk per-account local outbox folder for each 
+       transport account.
+       (create_per_account_local_outbox_folders): Create a local outbox folder 
+       for each transport account.
+       (modest_tny_account_new_for_local_folders): Do not create an outbox folder 
+       for all local folders.
+       
+       Added modest_tny_account_get/set_parent_modest_account_name_for_server_account() 
+       instead of using g_object_get/set() directly. It is clearer.
+       
+       (modest_tny_folder_store_get_message_count),
+       (modest_tny_folder_store_get_local_size
+       (modest_tny_folder_store_get_folder_count): Renamed from modest_tny_account*, 
+       because we now use these with non-acount folder stores.
+       
+       (modest_tny_account_get_special_folder),
+       (modest_tny_account_new_from_server_account),
+       (modest_tny_account_new_from_account):
+       (recurse_folders): Adjust to the new outbox system.
+       
+       * src/modest-tny-folder.h:
+       * src/modest-tny-folder.c: 
+       (modest_tny_folder_is_local_folder),
+       (modest_tny_folder_get_local_folder_type),
+       (modest_tny_folder_is_outbox_for_account): Adjust for the new outbox system.
+       
+       * src/widgets/modest-main-window.h:
+       * src/maemo/modest-main-window.c: (create_details_widget),
+       (modest_main_window_set_contents_style): Show details for any folder store, 
+       not just accounts.
+       
+       (modest_tny_folder_get_rules): 
+       Remove the const. C does not support constness enough for this.
+       
+       * src/modest-ui-actions.c:
+       update_model(): Use a ModestTnySimpleListStore and a TnyMergeFolder to 
+       make all outboxes appear as one, in the usual local-folders tree node.
+       
+       (set_active_account_from_tny_account),
+       (modest_ui_actions_on_folder_selection_changed):
+       * src/widgets/modest-folder-view.c: (text_cell_data),
+       (icon_cell_data), (filter_row),
+       (add_account_folders_to_merged_folder),
+       (add_account_folders_to_simple_folder_store), (),
+       (get_cmp_rows_type_pos), (cmp_rows),
+       (modest_folder_view_set_account_id_of_visible_server_account):
+       Adjust to the new outbox system, using generic folder stores and folders 
+       in the GtkTreeModel.
+
+2007-05-23  Christian Kellner  <ckellner@openismus.com>
+
+       * src/modest-mail-operation.c:
+       (modest_mail_operation_update_account):
+       Use info->max_size instead of unintialized local var [small
+       build fix]. (Added TODO to review that change since I don't
+       know the code)
+
+2007-05-23  Marcus Bauer  <marcusb@openismus.com>
+
+       * libmodest-dbus-client/libmodest-dbus-client.c:
+       (libmodest_dbus_client_compose_mail): function added
+       * src/dbus_api/modest-dbus-api.h:
+       * src/dbus_api/modest-dbus-callbacks.c: (on_idle_compose_mail),
+       (on_compose_mail): Implementation of the SendAsMail functionality
+
+2007-05-22 Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-account-mgr.c:
+       (modest_account_mgr_add_server_account): Set the secure-connection 
+       conf key for transport accounts as well as store accounts. I don't know 
+       why the if was there. For instance, this makes sure that we use SSL 
+       for the gmail preset from the easysetup wizard.
+
+2007-05-22 Murray Cumming  <murrayc@murrayc.com>
+
+       * src/gnome/modest-main-window.c:
+       (on_account_store_connecting_finished), (connect_signals):
+       * src/maemo/modest-main-window.c:
+       (on_account_store_connecting_finished), (connect_signals),
+       (modest_main_window_new):
+       Handle TnyAccountStore::connecting-finished instead of 
+       TnyDevice::connection-changed, because we cannot actually perform 
+       operations on accounts until TnyAccountStore has itself responded to 
+       the TnyDevice::connection-changed signal. This prevents a GError from 
+       tinymail.
+       Do not try to update at startup, because we (at least on scratchbox) 
+       already do an update at startup when the device goes online. 
+       This prevents a GError from tinymail.
+       * src/modest-ui-actions.c: (modest_ui_actions_do_send_receive): 
+       Added TODO about stopping simultaneous operations.
+
+2007-05-21  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-account-mgr.c: (modest_account_mgr_add_account):
+       * src/modest-mail-operation-queue.c:
+       (modest_mail_operation_queue_remove):
+       * src/modest-tny-account-store.c: When GErrors happen, give more clues 
+       about where they happened.
+
+2007-05-21  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-ui-actions.c:
+       (modest_ui_actions_on_password_requested): Make sure that the remember 
+       output parameter is always TRUE.
+
+2007-05-21  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-tny-account-store.c: (modest_tny_account_store_alert):
+       Show a OK/Cancel dialog if the error is a question, though we still do not 
+       know anything more about what we are asking the user.
+       * src/widgets/modest-folder-view.c: (on_drag_data_received):
+       Fix an uninitialized variable (helper). This is a logic error, however.
+
+2007-05-21  Christian Kellner  <ckellner@openismus.com>
+       
+       * src/modest-search.h:
+       Correct bit shifting in the ModestSearchFlags enum.
+
+2007-05-21  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-tny-account.c:
+       (modest_tny_account_new_from_server_account): Do not use the lsub and 
+       check-all hard-coded IMAP options when using POP.
+
+2007-05-21  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-tny-account.c:
+       (modest_tny_account_new_from_server_account): 
+       Use NULL for the secure-auth method for POP when Password auth has been 
+       specified by the user, as we already do for IMAP. "auth=Login" causes 
+       an error from camel or the server.
+
+2007-05-17  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/maemo/modest-account-settings-dialog.c:
+       (create_page_account_details),
+       (modest_account_settings_dialog_set_account_name):
+       * src/maemo/modest-account-settings-dialog.h: Hide the whole caption 
+       for the leave-on-server checkbox, rathr than just the checkbox, when 
+       the protocol is not POP.
+
+2007-05-17  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/widgets/modest-account-view.c:
+       * src/widgets/modest-account-view.h:
+       Added modest_account_view_select_account() which will be useful later 
+       to asynchronously re-select the edited account.
+
+2007-05-17  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/maemo/modest-account-settings-dialog.c:
+       (modest_account_settings_dialog_set_account_name): 
+       Automatically choose the port numbers based on the secure authentication 
+       methods, if they have not been chosen before.
+       This fixes projects.maemo.org bug NB#56273 .
+
+2007-05-17  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/maemo/modest-main-window-ui.h:
+       * src/modest-ui-actions.c:
+       * src/modest-ui-actions.h:
+       Connect the Tools/SMTP Servers menu item to 
+       modest_ui_actions_on_smtp_servers(), which shows the connection-specific 
+       SMTP servers dialog, as in the UI specification and saves changes when it 
+       is closed. This fixed  projects.maemo.org bug NB#56305 .
+
+2007-05-17  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/maemo/modest-connection-specific-smtp-window.c:
+       (modest_connection_specific_smtp_window_init):
+       Use gtk_window_set_default_size() to make this window big enough, so 
+       we see more of the GtkTreeView. This fixes projects.maemo.org bug NB#55497 .
+
+2007-05-17  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/maemo/modest-connection-specific-smtp-edit-window.h:
+       * src/maemo/modest-connection-specific-smtp-edit-window.c:
+       (modest_connection_specific_smtp_edit_window_init),
+       Do not try to connect to a combobox signal before the combobox exists.
+       This fixes the cras in projects.maemo.org bug NB#56288 .
+       (modest_connection_specific_smtp_edit_window_get_settings):
+       Remove the server_account_name parameter which was being checked for NULL 
+       though it was not used.
+
+       * src/maemo/modest-connection-specific-smtp-window.c:
+       (modest_connection_specific_smtp_window_fill_with_connections),
+       (on_button_edit), (modest_connection_specific_smtp_window_init):
+       Correct the number of treemodel columns to prevent a warning.
+       Added DEBUG_WITHOUT_LIBCONIC #define, for debugging on scratchbox, where 
+       libconic does not work.
+
+2007-05-16  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-tny-account.c:
+       (modest_tny_account_new_from_server_account):
+       Explicitly use ANONYMOUS secure authentication, instead of "PLAIN" for 
+       SMTP when "None" was chosen by the user. However, with my SMTP server that 
+       does not support ANONYMOUS, the emails do not leave the Outbox and I see 
+       no error dialog.
+
+2007-05-16  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-pair.h: Improve the documentation for modest_combo_box_new() 
+       to explain the memory management issue with the ID in the ModestPair.
+       
+       * src/gnome/modest-account-assistant.c: (add_receiving_page),
+       (add_sending_page), (modest_account_assistant_finalize):
+       * src/gnome/modest-gnome-global-settings-dialog.c:
+       (create_updating_page), (create_composing_page):
+       * src/gnome/modest-msg-edit-window.c: (get_transports),
+       (init_window), (modest_msg_edit_window_finalize),
+       (modest_msg_edit_window_get_msg_data):
+       * src/gnome/modest-store-widget.c: (imap_pop_configuration):
+       * src/gnome/modest-transport-widget.c:
+       (modest_transport_widget_finalize), (smtp_configuration):
+       * src/maemo/modest-maemo-global-settings-dialog.c:
+       (create_updating_page), (create_composing_page):
+       * src/maemo/modest-msg-edit-window.c: (get_transports),
+       (init_window), (modest_msg_edit_window_finalize),
+       (modest_msg_edit_window_get_msg_data),
+       (modest_msg_edit_window_free_msg_data):
+       * src/maemo/modest-store-widget.c: (imap_pop_configuration),
+       (modest_store_widget_finalize):
+       * src/maemo/modest-transport-widget.c:
+       (modest_transport_widget_finalize), (smtp_configuration):
+       * src/modest-main.c: (send_mail):
+       * src/widgets/modest-combo-box.h:
+       * src/widgets/modest-global-settings-dialog-priv.h:
+       * src/widgets/modest-global-settings-dialog.c:
+       (modest_global_settings_dialog_finalize):
+       * src/widgets/modest-msg-edit-window.h:
+       Whenever using modest_combo_box_new(), keep the ModestPairList alive
+       as long as the combo box, to prevent use of freed memory for the ID.
+
+2007-05-15  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-tny-account-store.c: (get_server_accounts): Renamed from 
+       get_accounts(), to make this clearer. Do not check for the enabled gconf
+       key, because we do not use this for server accounts (at least, not yet).
+       This allows us to send email again.
+
+2007-05-15  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/maemo/modest-platform.c:
+       (on_modest_conf_update_interval_changed), (modest_platform_init):
+       Only respond to this particular key change. All these strcmp()s cannot be 
+       efficient.
+
+2007-05-15  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/maemo/modest-maemo-global-settings-dialog.c:
+       (current_connection): Prevent a crash in scratchbox when 
+       ny_maemo_conic_device_get_current_iap_id() returns NULL.
+       * src/maemo/modest-platform.c:
+       (on_modest_conf_update_interval_changed), (modest_platform_init):
+       Get the update interval from gconf and reset it when the gconf key changes.
+
+2007-05-15  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-protocol-info.c:
+       * src/modest-protocol-info.h: Adde enum-specific get functions, 
+       instead of using a ModestProtocolType enum parameter.
+       
+       * src/gnome/modest-account-assistant.c:
+       * src/gnome/modest-store-widget.c:
+       * src/gnome/modest-store-widget.h:
+       * src/gnome/modest-transport-widget.c:
+       * src/gnome/modest-transport-widget.h:
+       * src/maemo/easysetup/modest-easysetup-servertype-combo-box.c:
+       * src/maemo/easysetup/modest-easysetup-servertype-combo-box.h:
+       * src/maemo/easysetup/modest-easysetup-wizard.c:
+       * src/maemo/modest-account-settings-dialog.c:
+       * src/maemo/modest-account-settings-dialog.h:
+       * src/maemo/modest-store-widget.c:
+       * src/maemo/modest-store-widget.h:
+       * src/maemo/modest-transport-widget.c:
+       * src/maemo/modest-transport-widget.h:
+       * src/modest-account-mgr-helpers.c:
+       * src/modest-account-mgr-helpers.h:
+       * src/modest-account-mgr.c:
+       * src/modest-account-mgr.h:
+       * src/modest-tny-account.c:
+       * src/modest-tny-folder.c: 
+       * src/widgets/modest-account-view.c:
+       * src/widgets/modest-retrieve-combo-box.c:
+       * src/widgets/modest-retrieve-combo-box.h:
+       * src/widgets/modest-secureauth-combo-box.c:
+       * src/widgets/modest-serversecurity-combo-box.c:
+       * src/widgets/modest-serversecurity-combo-box.h:
+       * tests/check_account-mgr.c: 
+       Use the specific functions, and use the re-renamed enum values for GNOME too.
+
+2007-05-15  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-pair.h: 
+       * src/modest-pair.c: Added modest_pair_list_find_by_first_as_string(),
+       so we can get the second based on the first.
+
+       * src/maemo/modest-account-settings-dialog.h: 
+       * src/maemo/modest-account-settings-dialog.c:
+       Added get_supported_secure_authentication_methods(), though it is mostly 
+       commented-out for now until the necessary API is committed to tinymail.
+       (modest_account_settings_dialog_set_account_name),
+       (save_configuration): Request the supported authentication methods from the 
+       server, so we can choose a working method.
+       
+       * src/modest-tny-account-store.h:
+       * src/modest-tny-account-store.c:
+       (modest_tny_account_store_get_session): Rename from 
+       tny_account_store_get_session().
+
+2007-05-14  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-protocol-info.h: Split the ModestProtocol enum 
+       into ModestProtocol, ModestSecureConnection, and ModestSecureAuthentication.
+       There was no need to have these unrelated values in one enum.
+       
+       * src/: many files: Adapted to changed enum. This makes the code a bit
+       clearer, and the compiler could catch some errors.
+
+2007-05-14  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-tny-account-store.c: (modest_tny_account_store_alert):
+       Show the detailed internal camel error message when an error happens 
+       during the configuration, so that our testers can give us more clues.
+       For instance, in projects.maemo.org bug NB#56910 .
+
+2007-05-14  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-tny-account.c:
+       (modest_tny_account_new_from_server_account): Adapt to changed tinymail API: 
+       change tny_account_set_mech() to tny_account_set_secure_auth_mech().
+
+2007-05-14  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/maemo/easysetup/modest-easysetup-wizard.c: (create_account):
+       * src/maemo/modest-account-settings-dialog.c:
+       (modest_account_settings_dialog_set_account_name),
+       (save_configuration): For the incoming secure authentication checkbox, 
+       use PASSWORD for unchecked, and CRAM-MD5 for checked, after I reread 
+       the UI specification. PLAIN does not seem to be supported for most IMAP 
+       servers anyway, and I am not sure what it would mean.
+       However, we probably need to discover which of the secure-authentication 
+       mechanisms are supported by the server, instead of hard-coding CRAM-MD5.
+       * src/modest-account-mgr-helpers.c:
+       (modest_account_mgr_get_server_account_data):
+
+       * src/modest-tny-account.c:
+       (modest_tny_account_new_from_server_account):
+       Use tny_account_set_mech() to set secure-authentication methods, 
+       with some special-casing for IMAP, based on my observations of how 
+       evolution behaves.
+       
+       * src/modest-account-mgr-helpers.h:
+       * src/modest-account-mgr.c:
+       * src/modest-defs.h: Comment that the URI is only used for local folders.
+
+2007-05-11  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/maemo/modest-main-window.c: (on_account_update): Make the gchar* 
+       parameter const, just to be neat.
+       * src/modest-text-utils.c: (modest_text_utils_inline):
+       End g_strconcat() with NULL, as its documentation says. This is almost 
+       certainly the cause of my crash at startup on the device. Interestingly, 
+       valgrind doesn't tell us about these errors.
+
+2007-05-11  Murray Cumming  <murrayc@murrayc.com>
+
+       * scripts/build-packages: Added more precise comments about how to use 
+       this script, though I still get this error:
+       dpkg-genchanges: error: cannot open .dsc file ../tinymail_1.0-svn1938.dsc: No such file or directory
+       error building tinymail
+       
+2007-05-11  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/maemo/modest-main-window.c: (on_account_update):
+       Very slight cleanup, hoping to make it simpler to discover what causes 
+       a crash here sometimes.
+       
+       * src/modest-tny-account.c:
+       (modest_tny_account_new_from_server_account): Set the port. Added 
+       comments about the options and a TODO comment because I need to find out 
+       how to specify the secure authentication method.
+
+2007-05-11  Marcus Bauer  <marcusb@openismus.com>
+
+       * libmodest-dbus-client/libmodest-dbus-client-1.0.pc.in:
+       changed CFlags paths form modest to libmodest
+
+2007-05-10  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-account-mgr-helpers.c:
+       (modest_account_mgr_get_server_account_data),
+       (modest_account_mgr_free_server_account_data):
+       * src/modest-account-mgr-helpers.h:
+       * src/modest-account-mgr.c:
+       (modest_account_mgr_add_server_account):
+       * src/modest-defs.h:
+       * src/modest-tny-account.c:
+       (modest_tny_account_new_from_server_account):
+       Determine the options for tny_camel_account_add_option() here, 
+       based on the settings, rather than storing them directly in gconf.
+
+2007-05-10  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-tny-account-store.c: (modest_tny_account_store_alert):
+       Show a more friendly error dialog now that we expect (from the tinymail 
+       documentation) to get the UNKNOWN_ALERT error. Add explanatory comments.
+
+2007-05-10  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/maemo/modest-main-window.c: (on_account_update): Check that 
+       account_name is not NULL, to prevent a crash at startup that I am 
+       seeing on the N800. I do wonder why it is NULL.
+       
+       * src/maemo/easysetup/modest-easysetup-wizard.c:
+       (create_page_user_details):
+       * src/maemo/modest-account-settings-dialog.c:
+       (create_page_user_details), (create_page_outgoing):
+       * src/maemo/modest-connection-specific-smtp-edit-window.c:
+       (modest_connection_specific_smtp_edit_window_init):
+       * src/modest-ui-actions.c:
+       (modest_ui_actions_on_password_requested):
+       Use HILDON_GTK_INPUT_MODE_INVISIBLE with password entries, which 
+       might do something useful with the on-screen keyboard.
+
+2007-05-10  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/maemo/modest-main-window.c: (on_account_update):
+       Avoid adding a menu item to priv->accounts_popup if accounts_popup is 
+       NULL, to avoid lots of warnings. However, it probably should not be NULL.
+
+2007-05-09  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-tny-account-store.c: (on_account_changed): 
+       Correct the signature of this signal handler.
+
+2007-05-09  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-tny-account-store.c: (modest_tny_account_store_alert):
+       Show a HildonNote instead of a GtkDialog for Maemo.
+
+2007-05-09  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/widgets/modest-account-view.h:
+       * src/widgets/modest-account-view.c: (on_account_changed),
+       (on_account_removed). Added a boolean flag, set/unset by 
+       modest_account_view_block_conf_updates(), 
+       modest_account_view_unblock_conf_updates() to prevent unnecessary 
+       updates, but this is not very useful because the gconf notifications are 
+       so delays (maybe only on Maemo Bora).
+       So auto-updating is turned off, and these functions do an explicit 
+       update when necessary.
+       However, something else is still doing too much work when adding/removing 
+       accounts, probably in another part of the application.
+       
+       * src/maemo/modest-account-view-window.c:
+       (on_delete_button_clicked), (on_edit_button_clicked),
+       (on_new_button_clicked): Use the new functions.
+
+2007-05-09  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-account-mgr-helpers.c:
+       (modest_account_mgr_set_first_account_as_default):
+       Sort the list of names alphabetically-by-title, so we choose the first one 
+       based on that.
+       * src/widgets/modest-account-view.c: (init_view): Sort the TreeModel 
+       alphabetically by the title.
+       
+       This fixes projects.maemo.org bug NB#56418 .
+       
+       * src/modest-account-mgr-priv.c:
+       (_modest_account_mgr_account_from_key):
+       * src/modest-account-mgr.c: (on_key_change): Initialize variables to 
+       avoid a valgrind error, and possible random behaviour.
+
+2007-05-09  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-tny-account-store.c: (modest_tny_account_store_alert):
+       Handle the new TNY_ACCOUNT_STORE_ERROR error domain. I will update the 
+       tinymail documentation to say that this can be expected.
+       Handle the new TNY_ACCOUNT_STORE_ERROR_UNKNOWN_ALERT error code. It is not 
+       pretty, and should not happen, but I would prefer to know when it does.
+
+2007-05-09  Murray Cumming  <murrayc@murrayc.com>
+
+       * configure.ac: When using the older hildon version, probably on Bora, 
+       require gnome-vfs-module-2.0, which is the old provider of gnome-vfs-mime.h,
+       to fix the build.
+       * src/widgets/modest-attachment-view.c:
+       (modest_attachment_view_set_part_default): Initialize variables, to fix the 
+       build.
+
+2007-05-09  Marcus Bauer  <marcusb@openismus.com>
+
+       * src/dbus_api/modest-dbus-callbacks.c: (on_idle_open_message):
+       Implemented the prototype. Can be tested with
+       tests/dbus_api/test_open_message: 
+
+2007-05-08  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-tny-account-store.c:
+       (modest_tny_account_store_instance_init), (get_password):
+       * src/modest-ui-actions.c:
+       (modest_ui_actions_on_password_requested):
+       Do not store the password in gconf, because this function is called 
+       for non-remembered passwords. Actually use the cached (in the hash map) 
+       password instead of releasing it.
+       The password will now not be remembered if it is asked via the protected 
+       password dialog, as per the UI spec.
+
+2007-05-08  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-defs.h:
+       * src/modest-account-mgr-helpers.h:
+       * src/modest-account-mgr-helpers.c:
+       Added modest_server_account_get_username_has_succeeded(),
+       modest_server_account_set_username_has_succeeded().
+       (modest_server_account_set_username),
+       Reset the has-succeeded flag if the username changes.
+       
+       * src/maemo/modest-account-settings-dialog.c: (save_configuration):
+       * src/maemo/modest-connection-specific-smtp-window.c:
+       (modest_connection_specific_smtp_window_save_server_accounts):
+       Use modest_server_account_set_username() instead of using 
+       modest_conf_set_string() directly, so that the has-succeeded flag is always 
+       reset.
+       
+       * src/modest-ui-actions.c:
+       (modest_ui_actions_on_password_requested): Dim the username entry if 
+       the username has ever worked, as per the UI spec.
+
+2007-05-08  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-tny-account-store.c: (get_password):
+       * src/modest-ui-actions.c:
+       (modest_ui_actions_on_password_requested):
+       Allow the username to be changed too, though there is more work to 
+       be done on exactly how this behaves.
+
+2007-05-08  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-account-mgr-helpers.h:
+       * src/modest-account-mgr-helpers.c:
+       Added modest_account_mgr_get_display_name(),
+       modest_server_account_get_username(),
+       modest_server_account_set_username(),
+       modest_server_account_set_password(),
+       modest_server_account_get_hostname() functions so we do not need to 
+       use the conf API directly.
+       
+       * src/maemo/modest-main-window.c: (connect_signals):
+       Actually connect ot the ModestAccountStore::request-password signal, 
+       so that we show the dialog when the password is requested by Tinymail, 
+       for isntance if it is empty.
+
+       * src/modest-marshal.list:
+       * src/modest-tny-account-store.c:
+       (modest_tny_account_store_class_init), (get_password),
+       (modest_tny_account_store_alert):
+       * src/modest-tny-account-store.h:
+       * src/modest-ui-actions.h:
+       * src/modest-ui-actions.c:
+       (modest_ui_actions_on_password_requested):
+       Change the signal parameters, so it is obvious that we are providing 
+       the non human-readable server name, and receiving both the username 
+       and password, though changing of the username is not yet implemented.
+       Change the dialog UI to match the Maemo UI specifications, with #idfefing 
+       for the GNOME version.
+       
+       This should fix the projects.maemo.org bug NB#56209, though it does not 
+       work on Bora, because the gconf_client_get() for the password fails 
+       immediately after we save it with gconf_client_set().
+
+2007-05-08  Murray Cumming  <murrayc@murrayc.com>
+
+       * configure.ac:
+       * src/Makefile.am: Reverted the use of AM_CONDITIONAL(), because it 
+       caused an undefined symbol error:
+       modest-platform.c:84: undefined reference to `modest_osso_cb_hw_state_handler
+
+2007-05-08  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-tny-account-store.c:
+       (modest_tny_account_store_alert): Adapt to the changed tinymail API, 
+       using a GError instead of a string message, so we can translate it in 
+       Modest.
+
+2007-05-08  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/maemo/modest-address-book.c:
+       (modest_address_book_check_names):
+       * src/maemo/modest-msg-view-window.c:
+       (modest_msg_view_window_clipboard_owner_change):
+       * src/modest-init.c: (modest_init_init_ui):
+       * src/modest-mail-operation.c: (modest_mail_operation_send_mail),
+       (update_folders_cb), (modest_mail_operation_update_account):
+       * src/modest-ui-actions.c: (modest_ui_actions_on_msg_link_hover),
+       (modest_ui_actions_on_msg_attachment_clicked),
+       (modest_ui_actions_on_msg_recpt_activated):
+       * src/widgets/modest-header-view.c: (drag_data_get_cb):
+       * src/widgets/modest-msg-view.c: (modest_msg_view_search),
+       (modest_msg_view_search_next):
+       * src/widgets/modest-recpt-editor.c:
+       (modest_recpt_editor_on_button_release_event),
+       (modest_recpt_editor_on_key_press_event): Commented-out unnecessary calls to 
+       g_message(). At this point we should only be seeing interesting errors on 
+       stdout. Debugging messages could be #ifdefed-out if they are still useful.
+
+2007-05-07  Murray Cumming  <murrayc@murrayc.com>
+       
+       (modest_wizard_dialog_force_title_update):
+       * src/maemo/easysetup/modest-wizard-dialog.h:
+       * src/maemo/easysetup/modest-wizard-dialog.c: (set_property):
+       For GTK+ 2.10, when present, connect to the GtkNotebook signals so we 
+       can update the title when appropriate. Otherwise the title is wrong if the 
+       pages are added after adding the notebook to the dialog.
+       This must be a problem in HildonWizardDialog too.
+       Added modest_wizard_dialog_force_title_update() for GTK+ 2.6.
+       
+       * src/maemo/easysetup/modest-easysetup-wizard.c:
+       (create_subsequent_customsetup_pages),
+       (create_subsequent_easysetup_pages): 
+       Call modest_wizard_dialog_force_title_update() so that the title is 
+       correct even with GTK+ < 2.10.
+       This fixes projects.maemo.org bug NB#56145 .
+       
+2007-05-07  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/maemo/modest-platform.c:
+       (modest_platform_set_update_interval): Use the ALARM_EVENT_NO_DIALOG 
+       flag (awful lack of namespacing in this API) to prevent a useless %s dialog 
+       from being shown.
+
+2007-05-07  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/widgets/modest-window.h:  
+       * src/widgets/modest-window.c: Added a save_state_func vfunc, 
+       and modest_window_save_state(), which invokes it.
+
+       * src/widgets/modest-window-mgr.h:
+       * src/widgets/modest-window-mgr.c:
+       Added modest_window_mgr_save_state_for_all_windows(), which calls 
+       the save_state vfunc on all registered windows, if implemented.
+       
+       * src/gnome/modest-msg-edit-window.c:
+       * src/gnome/modest-msg-view-window.c:
+       * src/maemo/modest-msg-edit-window.c:
+       * src/maemo/modest-msg-view-window.c:
+       * src/maemo/modest-main-window.c: 
+       Specify the existing save_settings functions as implementations of 
+       ModestWindow::save_state_func().
+
+       * src/maemo/modest-osso-state-saving.c: modest_osso_save_state():
+       Call modest_window_mgr_save_state_for_all_windows(). This happens before 
+       enabling hibernation, for instance.
+       
+       We may need to do the same thing for restoring settings.
+
+
+2007-05-07  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/widgets/modest-window-mgr.c: 
+       * src/widgets/modest-window-mgr.h:
+       Added modest_window_mgr_prevent_hibernation_while_window_is_shown() and
+       modest_window_mgr_get_hibernation_is_prevented().
+       
+       * src/maemo/modest-main-window.c:
+       (on_hildon_program_is_topmost_notify): Prevent hibernation 
+       (possible when the application goes to the background in the WM), 
+       if modest_window_mgr_get_hibernation_is_prevented() is TRUE.
+       
+       * src/maemo/easysetup/modest-easysetup-wizard.c:
+       (modest_easysetup_wizard_dialog_init):
+       * src/maemo/modest-account-settings-dialog.c:
+       (modest_account_settings_dialog_init):
+       * src/maemo/modest-connection-specific-smtp-edit-window.c:
+       (modest_connection_specific_smtp_edit_window_init):
+       * src/maemo/modest-connection-specific-smtp-window.c:
+       (modest_connection_specific_smtp_window_init):
+       * src/maemo/modest-signature-editor-dialog.c:
+       (modest_signature_editor_dialog_init):
+       Call modest_window_mgr_prevent_hibernation_while_window_is_shown() to 
+       prevent hibernation while any of these account settings dialogs are open.
+
+2007-05-04  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/maemo/Makefile.am:
+       * src/maemo/modest-osso-state-saving.c: 
+       * src/maemo/modest-osso-state-saving.h: Added 
+       modest_osso_load_state() and modest_osso_save_state() though they do 
+       nothing now. They should iterate through all the open windows and load/save 
+       their state.
+       * src/modest-ui-actions.c: (modest_ui_actions_on_quit): For Mameo, 
+       save state when closing.
+       
+       * src/maemo/modest-main-window.c:
+       (on_hildon_program_is_topmost_notify), (modest_main_window_new):
+       Add a notification handler for the HildonProgram::is-topmost property, 
+       so we can allow hibernation when the application goes into the background.
+       But we still need to detect when the accounts setup windows are open so 
+       we can stop hibernation when they are open.
+       To do this, I also added the main window the HildonProgram. This might have 
+       other side-effects/benefits, and should maybe be done for other windows.
+
+       * src/maemo/modest-osso-autosave-callbacks.h:
+       * src/maemo/modest-osso-autosave-callbacks.c:
+       (modest_on_osso_application_autosave): Add a libosso auto-save callback, 
+       though it does not do anything yet, and we might never need this to do 
+       anything. For instance, we already save drafts.
+       
+       * src/maemo/modest-platform.c: (modest_platform_init):
+       Specify the libosso auto-save callback.
+
+2007-05-03  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/maemo/modest-platform.c:
+       (modest_platform_set_update_interval):
+       * src/modest-defs.h: Store the alarmd cookie ID in gconf, because it 
+       aparently stays valid between application instances, so we can use this 
+       to remove and reset it later. According to a maemo-developers email from 
+       David Weinehall.
+
+2007-05-03  Murray Cumming  <murrayc@murrayc.com>
+
+       * configure.ac: Depend on libalarm for Maemo.
+
+       * src/dbus_api/modest-dbus-api.h:
+       * src/dbus_api/modest-dbus-callbacks.c: (on_idle_send_receive),
+       (on_send_receive), (modest_dbus_req_handler):
+       Handle a SEND_RECEIVE D-Bus method.
+       
+       * libmodest-dbus-client/libmodest-dbus-client.c:
+       (libmodest_dbus_client_send_and_receive):
+       * libmodest-dbus-client/libmodest-dbus-client.h:
+       Add C convenience functions for calling the new D-Bus method.
+       
+       * src/modest-platform.h:
+       * src/gnome/modest-platform.c:
+       * src/maemo/modest-platform.c: 
+       Added modest_platform_set_update_interval(), which uses the 
+       alarmd API on Maemo.
+       (modest_platform_init),
+       Call modest_platform_set_update_interval(), using a hard-coded 
+       interval for now (until the global settings dialog is implemented), 
+       though I am not sure that this makes sense yet.
+
+2007-05-02  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/dbus_api/modest-dbus-callbacks.c:
+       (modest_osso_cb_hw_state_handler):
+       * src/dbus_api/modest-dbus-callbacks.h:
+       * src/maemo/modest-platform.c: (modest_platform_init):
+       Registered (empty) callbacks for the osso hardware state D-Bus signals, 
+       in case this has some effect on the ability for Maemo to ping the 
+       application.
+
+2007-05-02  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-text-utils.c: (modest_text_utils_validate_recipient):
+       Comment out an if() that checks a gchar for < 0, causing a build-breaking 
+       warning. It is probably a logic error, but I need to fix the build.
+
+2007-05-02  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-account-mgr.h:
+       * src/modest-account-mgr.c: 
+       (modest_account_mgr_account_names): Add a gboolean enabled_only 
+       parameter, so we can get lists of onlt the enabled accounts.
+       
+       (modest_account_mgr_add_account),,
+       (modest_account_mgr_account_with_display_name_exists):
+       * src/maemo/modest-msg-edit-window.c: (get_transports):
+       * src/modest-account-mgr-helpers.c:
+       (modest_account_mgr_set_first_account_as_default):
+       * src/modest-init.c: (init_default_account_maybe):
+       * src/modest-tny-account-store.c: (get_accounts):
+       * src/modest-ui-actions.c: (modest_ui_actions_on_accounts),
+       (do_send_receive_auto), (modest_ui_actions_on_send_receive):
+       * tests/check_account-mgr.c: (START_TEST):
+       Provide the extra parameter, as appropriate.
+       
+       * src/widgets/modest-account-view.c: (update_account_view):
+       Do not show disabled accounts (meaning that there is no way to 
+       enable/disable accounts in the UI (the feature is not in our UI 
+       specification), so we can use this internally only to mark unfinished 
+       or temporary account data.
+       
+       * src/maemo/easysetup/modest-easysetup-wizard.c:
+       (create_account): Add boolean enable parameter, so we can specify FALSE 
+       to create the temporary account.
+       (on_button_edit_advanced_settings): Create the temporary account as disabled.
+       (on_before_next): When finishing, when there is a temporary account, just 
+       set it as enabled.
+       Also, use a timeout to delay the showing of the dialog until gconf is likely 
+       to return correct information, due to a maemo gconf bug that is fixed in 
+       osso 1.1, but not yet in Bora.
+       However, the dialog stays on screen after it is destroyed.
+       
+       * src/maemo/modest-account-settings-dialog.c: on_response(): Do not check 
+       for invalid data when cancelling. Use a hildon note instead of a dialog 
+       to complain about invalid data. Do not show the account-saved note if the 
+       account is disabled (a temporary account that will not really be saved for use 
+       until later.)
+
+2007-04-30  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-account-mgr-helpers.h:
+       * src/modest-account-mgr-helpers.c:
+       Added modest_account_mgr_unset_default_account(),
+       Added modest_account_mgr_set_first_account_as_default().
+
+       * src/modest-account-mgr.c: (modest_account_mgr_remove_account): 
+       If it was the default account, unset the default account name.
+       
+       * src/maemo/modest-account-view-window.c:
+       (on_delete_button_clicked): If it was the default account, 
+       set the first remaining account as the default instead.
+       
+       * src/maemo/modest-main-window.c: (on_account_update): Do not try to use 
+       a NULL account or a NULL default account, to prevent a crash. This should 
+       not happen now anyway. Bug #55343 in projects.maemo.org/bugzilla.
+       
+
+2007-04-30  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/widgets/modest-recpt-editor.c:
+       (modest_recpt_editor_on_key_press_event): Put an #ifdef around the 
+       use of gtk_text_buffer_get_has_selection() (from GTK+ 2.10), and add a 
+       TODO comment for this. This fixes the build.
+       
+       * src/modest-ui-actions.c: Add do_send_receive(), though it might not 
+       be the best place for it. This will in future update all auto-update accounts, 
+       rather than just the current/default account, when that gconf key exists.
+       (modest_ui_actions_on_send_receive): Offer the settings dialog (or wizard) 
+       if there are no accounts, before calling do_send_receive().
+       * src/modest-ui-actions.h: Specify the callback for the Send/Recieve menu item.
+       
+       * src/gnome/modest-main-window.c: (on_online_toggle_toggled):
+       * src/maemo/modest-main-window-ui.h:
+       * src/maemo/modest-main-window.c: (on_connection_changed),
+       (sync_accounts_cb): Use do_send_receive() instead of calling the signal handler 
+       directly, becaue the signal handler does more.
+
+2007-04-30  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-account-mgr-helpers.c:
+       (modest_account_mgr_get_account_data): Add a more helpful error message, and comment, 
+       for the case that the account does not exist.
+       
+       * src/widgets/modest-folder-view.c: (filter_row): Use the tinymail account ID 
+       (equivalent to the modest account name) rather than the tinymail account name 
+       (equivalent to the modest account title - human readable) to get the account data.
+       Check for null account data to prevent the crash, and add a TODO comment saying that 
+       this needs fixing because it is using the server account name instead of the account name.
+
+2007-04-29  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/maemo/easysetup/modest-easysetup-wizard.c: (show_error):
+       * src/maemo/modest-account-settings-dialog.c: (show_error),
+       (show_ok):
+       Use hildon_note_new_information() for informative and error messages, 
+       which seems to be expected for Maemo applications (no documentation that I know of 
+       says this). I am surprised that there is no distinction between info and error 
+       dialogs.
+
+2007-04-29  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/maemo/modest-maemo-ui-constants.h: Add a MODEST_MARGIN_NONE constant, so 
+       it is easy to find where this is used.
+       
+       * src/maemo/easysetup/modest-easysetup-wizard.c:
+       (create_page_welcome), (create_page_account_details),
+       (create_page_user_details), (create_page_complete_easysetup),
+       (create_page_custom_incoming), (create_page_custom_outgoing),
+       (create_page_complete_custom):
+       * src/maemo/modest-account-settings-dialog.c:
+       (create_page_account_details), (create_page_user_details),
+       (create_page_incoming), (create_page_outgoing):
+       * src/maemo/modest-account-view-window.c: (window_vbox_new):
+       * src/maemo/modest-connection-specific-smtp-edit-window.c:
+       (modest_connection_specific_smtp_edit_window_init):
+       * src/maemo/modest-connection-specific-smtp-window.c:
+       (modest_connection_specific_smtp_window_init):
+       * src/maemo/modest-signature-editor-dialog.c:
+       (modest_signature_editor_dialog_init): Use the correct padding/spacing/borders 
+       and scrolling policy as per the Email Application Layout Guide, if I have 
+       understood it.
+
+2007-04-27  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-tny-account-store.c: (modest_tny_account_store_init): 
+       Remove the add_transport_account_func and add_store_account_func vfunc implementations, 
+       which were empty, because these vfuncs have been removed from TnyAccountStore.
+       This fixes the build.
+
+2007-04-27  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/maemo/modest-main-window.c:
+       (modest_main_window_show_toolbar): Check that a toolbar item is not NULL before 
+       showing/hiding it. Added TODO because it probably should not be NULL.
+       * src/modest-init.c: (modest_init_init_ui): Use a g_message() instead of a g_warning() 
+       because unnecessary g_warnings() make degugging difficult.
+
+2007-04-27  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/maemo/modest-msg-edit-window.c:
+       (modest_msg_edit_window_select_color),
+       (modest_msg_edit_window_select_background_color): 2 const corrections and 
+       moving 2 #endifs before closing brackets, to fix the build.
+
+2007-04-27  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/maemo/easysetup/modest-easysetup-wizard.h:
+       * src/maemo/easysetup/modest-easysetup-wizard.c:
+       (modest_easysetup_wizard_dialog_finalize),
+       (on_button_edit_advanced_settings), (create_page_complete_custom),
+       (on_response), (create_account):
+       Implement the Advanced Settings edit button, by saving the account information, 
+       for the Advanded Settings dialog to use directly from gconf, and removing it 
+       if Finish is never clicked. There is still some UI strangeness, so this is not finished.
+       Bug #5533 in the projects.maemo.org bugzilla.
+
+2007-04-27  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/maemo/modest-msg-view-window.c:
+       (modest_msg_view_window_show_toolbar): Prevent hide/show of a NULL toolbar widget, 
+       when opening a message window.
+
+2007-04-27  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/maemo/easysetup/modest-easysetup-wizard.c:
+       (create_page_custom_outgoing): Correct the position of the horizontal separator to 
+       match the UI spec.
+       
+       * src/maemo/modest-main-window.c: (set_toolbar_mode): Check that widgets are not NULL 
+       before showing/hiding them, to avoid a crash when clicking on folders when there are no 
+       gconf settings. I probably added more checks than necessary, but that is safer.
+       
+       * src/modest-ui-actions.c: (modest_ui_actions_on_move_to): Initialize the mail_op 
+       variable to fix the build, but this seems to be used when it is still NULL.
+
+2007-04-27  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-platform.h:
+       * src/gnome/modest-platform.c: (modest_platform_connect_and_wait):
+       * src/maemo/modest-platform.c: (modest_platform_connect_and_wait):
+       * src/modest-main.c: Implement this function so we can avoid using 
+       maemo-specific API from cross-platform code.
+       (main):
+       * src/modest-tny-account-store.c:
+       (get_smtp_specific_transport_account_for_open_connection):
+       * src/modest-ui-actions.c: (check_for_connection),
+       (modest_ui_actions_on_item_not_found):
+       Use modest_platform_connect_and_wait() and put #idefs around other 
+       maemo-specific code, because only maemo currently has a way to 
+       identify connection names.
+
+2007-04-27  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-tny-account-store.h:
+       * src/modest-tny-account-store.c:
+       Added modest_tny_account_store_get_transport_account_for_open_connection(), which respects 
+       the connection-specific SMTP server settings in the configuration.
+       
+       * src/dbus_api/modest-dbus-callbacks.c: (on_idle_send_mail),
+       (on_idle_mail_to):
+       * src/maemo/modest-main-window.c: (on_connection_changed),
+       (connect_signals):
+       * src/modest-main.c: (main), (start_ui), (send_mail):
+       Use tny_maemo_conic_device_connect() instead of tny_maemo_conic_force_online(), when 
+       that is what is intended.
+       
+       * src/modest-ui-actions.c: (action_send), (action_receive),
+       (modest_ui_actions_on_item_not_found), (modest_ui_actions_on_send):
+       Use modest_tny_account_store_get_transport_account_for_open_connection() instead of 
+       modest_tny_account_store_get_tny_account_by_account() so that the connection-specific 
+       SMTP server is used when it is specified.
+       
+       (modest_ui_actions_on_send_receive): 
+       Check that a connection is open before proceeding.
+       Receive and then send, instead of vice-versa, as per the specification.
+
+2007-04-26  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-mail-operation.c:
+       (modest_mail_operation_remove_folder): Intialize the parent variable, to fix the build, 
+       though I guess it should be something other than NULL.
+
+2007-04-26  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/maemo/easysetup/modest-easysetup-wizard.c:
+       (create_page_custom_incoming): Add the checkbox to the caption instead of adding the 
+       combo twice, to avoid an g_warning and to make it visible again.
+       * src/maemo/modest-main-window.c: (on_account_update): Check whether the popup_menu is 
+       attached before detaching it, to avoid a g_warning, and add comment about the implicit 
+       (already intended) dereference when detaching, because we then recreate the menu.
+       But I am not sure why the warning was happening, and it is possible that this is a memory 
+       leak.
+
+2007-04-25  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/dbus_api/modest-dbus-callbacks.c: Added uri_unescape(),
+       and uri_parse_mailto() utility functions.
+       (on_idle_mail_to): Parse, unescape, and use the subject, cc, bcc, and body items in 
+       the mailto URI.
+       * tests/dbus_api/test_mail_to.c: (main): Add escaped spaces in the URI to test this.
+
+2007-04-24  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/dbus_api/modest-dbus-api.h:
+       * src/dbus_api/modest-dbus-callbacks.c:
+       Use an idle callback to execute the modest code in the application's own thread.
+       Remove the helloworld example method.
+       Handle mail-to and open-message D-Bus methods, though the mail-to format needs to be 
+       parsed, and the open-message method is not implemented because this is not yet implemented in 
+       modest itself.
+       * libmodest-dbus-client/libmodest-dbus-client.c:
+       (libmodest_dbus_client_send_mail), (libmodest_dbus_client_mail_to),
+       (libmodest_dbus_client_open_message):
+       * libmodest-dbus-client/libmodest-dbus-client.h: New functions for the new methods.
+       
+       * src/modest-tny-msg.c: (modest_tny_msg_new), (add_body_part): Handle NULLs for subject and 
+       body without crashing.
+       
+       * tests/dbus_api/Makefile.am:
+       * tests/dbus_api/test_mail_to.c:
+       * tests/dbus_api/test_open_message.c: New tests for the new methods.
+
+2007-04-24  Murray Cumming  <murrayc@murrayc.com>
+
+       * libmodest-dbus-client/libmodest-dbus-client-1.0.pc.in:
+       Added file to fix the build. Sorry.
+       
+       * src/dbus_api/Makefile.am:
+       * src/dbus_api/modest-dbus-api.h:
+       * src/dbus_api/modest-dbus-callbacks.h:
+       * src/dbus_api/modest-dbus-callbacks.c: (on_send_mail),
+       (modest_dbus_req_handler):
+       Put constants in a separate header so it can be reused by the 
+       client library, without duplication
+       
+       * libmodest-dbus-client/Makefile.am:
+       * libmodest-dbus-client/libmodest-dbus-client.c:
+       (libmodest_dbus_client_call_helloworld),
+       (libmodfest_dbus_client_send_mail),
+       (libmodfest_dbus_client_mailto),
+       (libmodfest_dbus_client_open_message):
+       * libmodest-dbus-client/libmodest-dbus-client.h:
+       (Partly) Implement a send_mail D-Bus method.
+       
+       * tests/dbus_api/Makefile.am:
+       * tests/dbus_api/test_send_mail.c: (main): Added a test for 
+       the send_email D-Bus method.
+
+2007-04-24  Murray Cumming  <murrayc@murrayc.com>
+
+       * Makefile.am:
+       * configure.ac:
+       * libmodest-dbus-client/Makefile.am:
+       * libmodest-dbus-client/libmodest-dbus-client.c:
+       * libmodest-dbus-client/libmodest-dbus-client.h:
+       * tests/dbus_api/Makefile.am:
+       * tests/dbus_api/test_hello.c: (main): Added directory structure for a C convenience library 
+       for using the modest D-Bus API, and used that from the test. It is still just a helloworld.
+
+2007-04-24  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/maemo/easysetup/modest-easysetup-wizard.c:
+       (create_page_account_details):
+       * src/maemo/modest-account-settings-dialog.c:
+       (create_page_account_details): Explicitly set auto-capitalization mode for the title 
+       widgets, because this might not be the default in future versions of the Maemo GTK+. 
+       However, I can not not get capitalization to work even in a simple test case.
+
+2007-04-24  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/maemo/easysetup/modest-easysetup-wizard.c:
+       (create_page_custom_incoming), (create_page_custom_outgoing):
+       * src/maemo/modest-account-settings-dialog.c:
+       (create_page_account_details), (create_page_incoming),
+       (create_page_outgoing): Use a separate label in a caption for GtkCheckButtons, 
+       instead of using gtk_check_button_with_label(), so they are aligned like the other 
+       widgets, as per the UI spec.
+
+2007-04-24  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/maemo/easysetup/modest-easysetup-wizard.c:
+       * src/maemo/modest-connection-specific-smtp-edit-window.c:
+       * src/widgets/modest-validating-entry.c:
+       * src/widgets/modest-validating-entry.h: Rename the validating widget so it has a 
+       Modest prefix instead of an EasySetup prefix.
+
+2007-04-23  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/widgets/modest-validating-entry.h:
+       * src/widgets/modest-validating-entry.c: (on_insert_text),
+       Added easysetup_validating_entry_set_max_func(), used to set a callback 
+       to call when the max number of characters is reached. GtkEntry has a max-length 
+       already but is silent about it.
+
+       * src/maemo/easysetup/modest-easysetup-wizard.c: (on_entry_max),
+       (create_page_account_details), (create_page_user_details),
+       (create_account):
+       * src/maemo/modest-account-settings-dialog.c: (on_entry_max),
+       (create_page_account_details), (create_page_user_details),
+       (create_page_outgoing):
+       * src/modest-ui-actions.c: (modest_ui_actions_on_details): 
+       Use easysetup_validating_entry_set_max_func() to show the warning dialog, as per 
+       the UI spec, when the user tries to enter more than the max number of characters.
+
+2007-04-23  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/maemo/easysetup/modest-easysetup-wizard.c:
+       (create_page_user_details), (create_page_custom_incoming),
+       (create_page_custom_outgoing):
+       * src/maemo/modest-account-settings-dialog.c:
+       (create_page_user_details), (create_page_incoming),
+       (create_page_outgoing):
+       * src/maemo/modest-connection-specific-smtp-edit-window.c:
+       (modest_connection_specific_smtp_edit_window_init):
+       Use hildon_gtk_entry_set_input_mode() to turn off auto-capitalization where it is 
+       not appropriate. Bad Maemo-specific defaults!.
+
+2007-04-23  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/maemo/modest-signature-editor-dialog.c: (enable_widgets),
+       (on_toggle_button_changed), (modest_signature_editor_dialog_init),
+       (modest_signature_editor_dialog_set_settings): 
+       Disable the label and textview when the checkbox is disabled, and use the 
+       specified (UI spec) default signature text.
+
+2007-04-23  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/maemo/modest-connection-specific-smtp-edit-window.c:
+       (modest_connection_specific_smtp_edit_window_init): Use spacing constants.
+       
+       * src/modest-defs.h:
+       * src/modest-account-mgr-helpers.h:
+       * src/modest-account-mgr-helpers.c:
+       Added modest_account_mgr_get/set_signature(), using new gconf keys.
+       
+       * src/maemo/Makefile.am:
+       * src/maemo/modest-signature-editor-dialog.c:
+       * src/maemo/modest-signature-editor-dialog.h: New dialog for editing signatures, 
+       as per the UI spec.
+       
+       * src/maemo/modest-account-settings-dialog.h:
+       * src/maemo/modest-account-settings-dialog.c:
+       (modest_account_settings_dialog_finalize), (on_button_signature),
+       (save_configuration): Use the new dialog when the Edit button is pressed, and 
+       save the changes if necessary, as per the UI spec.
+
+2007-04-23  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/maemo/Makefile.am:
+       * src/maemo/modest-maemo-ui-constants.h: New header with some defines for widget spacing, 
+       based on maemo-develoers email from Dirk.
+       
+       * src/maemo/easysetup/modest-easysetup-wizard.c:
+       (create_page_welcome), (create_page_account_details),
+       (create_page_user_details), (create_page_complete_easysetup),
+       (create_page_custom_incoming), (create_page_custom_outgoing),
+       (create_page_complete_custom),
+       (modest_easysetup_wizard_dialog_init):
+       * src/maemo/modest-account-settings-dialog.c:
+       (create_page_account_details), (create_page_user_details),
+       (create_page_incoming), (create_page_outgoing),
+       (modest_account_settings_dialog_init):
+       * src/maemo/modest-connection-specific-smtp-window.c:
+       (modest_connection_specific_smtp_window_init): Used the smallest of the spacing constants.
+
+2007-04-23  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/maemo/easysetup/modest-easysetup-wizard.c:
+       (create_page_account_details), (create_page_custom_outgoing),
+       (create_page_complete_custom):
+       * src/maemo/modest-account-settings-dialog.c:
+       (create_page_user_details), (create_page_incoming),
+       (create_page_outgoing):
+       * src/maemo/modest-connection-specific-smtp-edit-window.c:
+       (modest_connection_specific_smtp_edit_window_init): 
+       Use the correct (UI spec) port min/max, and use horizontal separators, 
+       as per the UI spec.
+
+2007-04-23  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/maemo/easysetup/modest-easysetup-wizard.c:
+       (set_default_custom_servernames):
+       * src/maemo/modest-account-settings-dialog.c:
+       (create_page_incoming), (on_combo_outgoing_security_changed),
+       (on_combo_incoming_security_changed), (create_page_outgoing),
+       (modest_account_settings_dialog_set_account_name),
+       (save_configuration):
+       * src/maemo/modest-connection-specific-smtp-edit-window.c:
+       (on_combo_security_changed),
+       (modest_connection_specific_smtp_edit_window_init),
+       (modest_connection_specific_smtp_edit_window_set_connection),
+       (modest_connection_specific_smtp_edit_window_get_settings): 
+       Use HildonNumberEditor instead of GtkEntry for the port numbers so it has the - and + buttons,
+       as per the UI spec.
+
+2007-04-20  Murray Cumming  <murrayc@murrayc.com>
+
+       * po/en_GB.po:
+       * src/maemo/easysetup/modest-easysetup-wizard.c:
+       (create_page_custom_outgoing), (create_page_complete_custom):
+       * src/maemo/modest-account-settings-dialog.c:
+       (create_page_user_details), (create_page_outgoing):
+       * src/maemo/modest-account-view-window.c: (button_box_new):
+       Use changed logical IDs as per the most recent UI spec:
+       mcen_bd_emailsetup_edit -> mcen_bd_edit
+       mcen_bd_emailsetup_delete -> mcen_bd_delete
+       mcen_bd_emailsetup_close -> mcen_bd_close
+
+2007-04-20  2007-04-20  Murray Cumming  <murrayc@murrayc.com>
+
+       * configure.ac:
+       * src/Makefile.am:
+       * src/dbus_api/Makefile.am:
+       * src/dbus_api/modest-dbus-callbacks.c:
+       * src/dbus_api/modest-dbus-callbacks.h:
+       * src/maemo/modest-platform.c: (modest_platform_init):
+       Added the beginnings of a D-Bus API. At the moment it just has a HelloWorld 
+       method.
+       * tests/Makefile.am:
+       * tests/dbus_api/Makefile.am:
+       * tests/dbus_api/test_hello.c: (main): Very simple test of the D-Bus API.
+
+2007-04-20  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/maemo/modest-account-settings-dialog.c:
+       * src/maemo/modest-connection-specific-smtp-edit-window.c:
+       Removed unnecessary includes.
+
+2007-04-20  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/maemo/easysetup/modest-easysetup-wizard.c:
+       * src/maemo/modest-account-settings-dialog.c:
+       * src/maemo/modest-connection-specific-smtp-edit-window.c:
+       * src/widgets/Makefile.am:
+       * src/widgets/modest-easysetup-secureauth-combo-box.c:
+       * src/widgets/modest-easysetup-secureauth-combo-box.h:
+       * src/widgets/modest-easysetup-serversecurity-combo-box.c:
+       * src/widgets/modest-easysetup-serversecurity-combo-box.h:
+       * src/widgets/modest-secureauth-combo-box.c:
+       * src/widgets/modest-secureauth-combo-box.h:
+       * src/widgets/modest-serversecurity-combo-box.c:
+       * src/widgets/modest-serversecurity-combo-box.h: Renamed the files and 
+       made the GObject names more consistent with the rest of the Modest code.
+
+2007-04-20  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/maemo/easysetup/Makefile.am:
+       * src/maemo/easysetup/modest-easysetup-secureauth-combo-box.c:
+       * src/maemo/easysetup/modest-easysetup-secureauth-combo-box.h:
+       * src/maemo/easysetup/modest-easysetup-serversecurity-combo-box.c:
+       * src/maemo/easysetup/modest-easysetup-serversecurity-combo-box.h:
+       * src/maemo/easysetup/modest-easysetup-wizard.c:
+       * src/maemo/easysetup/modest-validating-entry.c:
+       * src/maemo/easysetup/modest-validating-entry.h:
+       * src/maemo/modest-account-settings-dialog.c:
+       * src/maemo/modest-connection-specific-smtp-edit-window.c:
+       * src/widgets/Makefile.am: Moved these widgets from maemo/easysetup into 
+       widgets/ because they are used outside of easysetup too. After checking in, 
+       svn will allow me to rename them too.
+
+2007-04-20  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/gnome/modest-msg-edit-window.c:
+       (modest_msg_edit_window_set_priority_flags): Added an empty implementation to fix a 
+       linker error, to fix the build on the GNOME platform.
+       modest_msg_edit_window_set_zoom(), modest_msg_edit_window_get_zoom(), 
+       modest_msg_edit_window_zoom_plus(), modest_msg_edit_window_zoom_minus():
+       ifdefed out to avoid a warning.
+
+2007-04-20  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/widgets/modest-header-view.c: (on_focus_in): Use GTK_CHECK_VERSION to #ifdef around the 
+       use of gtk_tree_view_get_visible_range(), to fix the build on Mameo. This code probably needs 
+       some alternative for GTK+ 2.6.
+
+2007-04-19  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/maemo/modest-address-book.c: Added include to avoid a warning.
+
+       * po/en_GB.po: Added missing mcen_bd_emailsetup_close string, 
+       specified for EmailAccountsDialog in UI spec.
+       
+       * src/maemo/easysetup/modest-easysetup-wizard.c:
+       * src/maemo/easysetup/modest-easysetup-wizard.h:
+       * src/maemo/modest-account-settings-dialog.c:
+       * src/maemo/modest-account-settings-dialog.h:
+       Reuse a member window widget for the connection-specific SMTP server accounts, 
+       so we can tell it to create/save the accounts only if we actually save changes.
+
+       * src/maemo/modest-connection-specific-smtp-edit-window.h:      
+       * src/maemo/modest-connection-specific-smtp-edit-window.c:
+       (modest_connection_specific_smtp_edit_window_get_settings): 
+       Return a struct instance for temporarily remembering the entered data.
+
+       * src/maemo/modest-connection-specific-smtp-window.h:
+       * src/maemo/modest-connection-specific-smtp-window.c:
+       (modest_connection_specific_smtp_window_finalize),
+       (modest_connection_specific_smtp_window_fill_with_connections),
+       (on_button_edit),
+       (modest_connection_specific_smtp_window_save_server_accounts),
+       (update_model_server_names): Do not actually save data until asked, 
+       when the caller calls modest_connection_specific_smtp_window_save_server_accounts().
+       
+       (on_selection_changed),
+       (modest_connection_specific_smtp_window_init): Disable the edit 
+       button when nothing is selected.
+       
+       * src/modest-account-mgr-helpers.c:
+       * src/modest-account-mgr-helpers.h: 
+       Put modest_account_mgr_free_server_account_data() in the header now that I use the struct 
+       elsewhere.
+
+2007-04-19  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-account-mgr-helpers.h:
+       * src/modest-account-mgr-helpers.c:
+       (modest_account_mgr_get_unused_account_name),
+       (modest_account_mgr_get_unused_account_display_name): Added these 
+       utility functions, to avoid code duplication.
+
+       * src/maemo/easysetup/modest-easysetup-wizard.c:
+       (create_page_account_details), (create_account):
+       * src/maemo/modest-connection-specific-smtp-edit-window.c:
+       (on_combo_security_changed),
+       (modest_connection_specific_smtp_edit_window_init),
+       (modest_connection_specific_smtp_edit_window_save_settings):
+       * src/maemo/modest-connection-specific-smtp-edit-window.h:
+       * src/maemo/modest-connection-specific-smtp-window.c:
+       (modest_connection_specific_smtp_window_finalize),
+       (modest_connection_specific_smtp_window_fill_with_connections),
+       (on_button_edit), (modest_connection_specific_smtp_window_init):
+       * src/maemo/modest-connection-specific-smtp-window.h:
+       Implementing saving of connection-specific server accounts.
+       
+       But I need to refactor this so we can save the data for each 
+       possible connection-specific account and only actually create the server accounts 
+       when the easysetup finished, or the OK button is pressed on the account settings 
+       dialog.
+
 2007-04-18  Murray Cumming  <murrayc@murrayc.com>
 
        * src/maemo/modest-connection-specific-smtp-edit-window.c: