X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=ChangeLog2;h=6e7084585a2cf83c8ad80850956bf44e909c9664;hp=0b4170f9d08123dd7ca9d1f7cd843dacdef2db8f;hb=96d9a8c787c693406a0f26e3d3a00065c7236fe5;hpb=1a67699b4d3da9d34987fe547bf5b9b2f59512ec diff --git a/ChangeLog2 b/ChangeLog2 index 0b4170f..6e70845 100644 --- a/ChangeLog2 +++ b/ChangeLog2 @@ -1,3 +1,1158 @@ +2007-05-23 Murray Cumming + + Modest on-disk outbox directories are now here, for instance: + $HOME/.modest/outboxes//outbox + $HOME/.modest/outboxes//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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * src/modest-search.h: + Correct bit shifting in the ModestSearchFlags enum. + +2007-05-21 Murray Cumming + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * libmodest-dbus-client/libmodest-dbus-client-1.0.pc.in: + changed CFlags paths form modest to libmodest + +2007-05-10 Murray Cumming + + * 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 + + * 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 + + * 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 + + * 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 + + * src/modest-tny-account-store.c: (on_account_changed): + Correct the signature of this signal handler. + +2007-05-09 Murray Cumming + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + (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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 * src/maemo/easysetup/modest-easysetup-wizard.c: