2007-05-03 Murray Cumming <murrayc@murrayc.com>
[modest] / ChangeLog2
index 67452a6..296f1e9 100644 (file)
@@ -1,3 +1,452 @@
+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: