* Fixes NB#57580
[modest] / ChangeLog2
index 37c6af9..2484cf2 100644 (file)
@@ -1,3 +1,429 @@
+2007-05-31  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-error.h: 
+       * src/modest-ui-actions.c:
+       (modest_ui_actions_get_msgs_full_error_handler):
+       Renamed an enum, added comments, added an enum 
+       for retrieve-limit errors.
+       
+       * src/modest-mail-operation.c: (foreach_add_item),
+       (internal_folder_observer_update), (update_account_thread),
+       (modest_mail_operation_get_msgs_full):
+       (modest_mail_operation_update_account),
+       Added comments about how this works, and some code that should 
+       (but does not) check the retrieve-limit. See the TODO comment.
+
+2007-05-31  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-ui-actions.c: (modest_ui_actions_on_help):
+       Initialize help_id to fix the build. Warnings are good.
+
+2007-05-31  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/widgets/modest-hbox-cell-renderer.c:
+       (modest_hbox_cell_renderer_append):
+       * src/widgets/modest-vbox-cell-renderer.c:
+       (modest_vbox_cell_renderer_append):
+       Fix the last commit by doing an extra ref.
+
+2007-05-31  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/widgets/modest-hbox-cell-renderer.c:
+       (modest_hbox_cell_renderer_append):
+       * src/widgets/modest-vbox-cell-renderer.c:
+       (modest_vbox_cell_renderer_append):
+       For glib < 2.10, use gtk_object_sink() instead of g_object_ref_sink(), 
+       to fix the build with Maemo Bora.
+       However, there seems to be a remaining crash, probably due to reference 
+       counting errors.
+
+2007-05-30  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-tny-account.c:
+       (modest_tny_account_new_for_local_folders):
+       Use hildon_file_system_info_async_new() to get a better name for 
+       the memory card account, setting it as the account name.
+       The timing seems to work, but this is probably 
+       not the best place to do this. See the TODO comment.
+       * src/maemo/modest-main-window.c: (create_details_widget):
+       * src/widgets/modest-folder-view.c: (text_cell_data):
+       Use the tny account name instead of hardcoding a name.
+
+2007-05-30  Christian Kellner  <ckellner@openismus.com>
+
+       * src/modest-search.c: (modest_search):
+       Correctly set part_search_func even if we have already parsed
+       the query and thus a valid OgsTextSearcher object.
+
+2007-05-30  Christian Kellner  <ckellner@openismus.com>
+
+       * configure.ac:
+       Search and check for libogs.
+
+       * src/Makefile.am:
+       Incooparte the ogs build env.
+
+       * src/modest-mime-part-search-stream.c:
+       * src/modest-mime-part-search-stream.h:
+       Removed since we do the real searching now in modest-search.c.
+
+       * src/modest-search.c:
+       * src/modest-search.h:
+       Implement support for ogs. We use that if available and requested
+       and fall back to modest_text_utils_utf8_strcmp (). The search logic
+       should now handle the corner case when the search term is spread
+       across multiple reads.
+       Also the logic in modest_search () was corrected to search all
+       requested fields until one is found.
+
+2007-05-30  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-defs.h: Define MODEST_MCC1_VOLUMEPATH and MODEST_MCC1_VOLUMEPATH_URI.
+       
+       * src/modest-init.h:
+       * src/modest-init.c: Made modest_init_local_folders() take a
+       path and be public so we can iniitialize maildir folders on 
+       arbitrary volumes.
+
+       * src/modest-local-folder-info.h:
+       * src/modest-local-folder-info.c:
+       (modest_local_folder_info_get_maildir_path): Add a path parameter.
+
+       * src/modest-tny-account.c:
+       (modest_tny_account_new_for_local_folders): Take a path parameter, though NULL 
+       still means the standard local-folders path on the local volume.
+       
+       * src/modest-tny-account-store.c:
+       (modest_tny_account_store_instance_init): Connect to GnomeVfsVolumeMonitor 
+       signal so we can detect mount/unmount of the MMC1 card, and do an update of 
+       all accounts when that happens.
+       (get_server_accounts): If the MMC1 card is mounted, create a store account for 
+       this too, so it shows up in the treeview.
+
+2007-05-28  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/maemo/modest-maemo-global-settings-dialog.c:
+       (current_connection):
+       * src/widgets/modest-global-settings-dialog.c:
+       (current_connection_default):
+       Use the enum values instead of 0, 1 and -1,
+       to make the code clearer.
+       
+       * src/modest-account-mgr-helpers.c:
+       (modest_account_mgr_get_connection_specific_smtp): Make this code 
+       more robust.
+       
+       * src/modest-runtime.h:
+       * src/modest-runtime.c:
+       Added modest_runtime_remove_all_send_queues().
+       * src/maemo/modest-main-window.c:
+       (on_account_store_connecting_finished): Recreate the send queues, 
+       using the appropriate transport accounts for this new connection.
+       Some futher adapting might be needed if the old send queues are not 
+       automatically stopped at this point.
+
+       * src/modest-tny-account-store.c: (get_server_accounts):
+       Create the connection-specific transport accounts, so that they can 
+       be found later by their ID.
+       
+       * src/modest-tny-account.h:
+       * src/modest-tny-account.c:
+       Added modest_tny_account_new_from_server_account_name().
+       modest_tny_account_new_from_server_account(): Do not create the 
+       send queues here, because they will be 
+       recreated anyway when the connection changes for the first time.
+
+2007-05-28  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-local-folder-info.h:
+       * 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): Take a modest account name instead of a server TnyAccount,
+       so we can have per-modest-account rather than per-transport-account 
+       outboxes.
+       We must make sure that we change or recreate the exisitng send queues 
+       when the connection changes for connection-specific transport accounts.
+       
+       * src/modest-tny-account-store.c:
+       (create_per_account_local_outbox_folders): Create outboxed per modest 
+       account, not per transport account.
+       
+       * src/modest-tny-account.h:
+       * src/modest-tny-account.c:
+       (modest_tny_account_get_special_folder): For outboxes, get the 
+       parent modest account name. The account is ignored for other folders.
+       (modest_tny_account_new_for_per_account_local_outbox_folder): Take a 
+       modest account name rather than a server TnyAccount.
+
+2007-05-25  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-tny-account.c:
+       (modest_tny_account_new_from_server_account): 
+       Call modest_runtime_get_send_queue() immediately after creating transport 
+       accounts, so that they start trying to send email from the outbox as soon 
+       as possible at startup. This is probably what we want.
+       
+       * src/modest-mail-operation.c: (update_account_thread):
+       * src/modest-runtime.c: (modest_runtime_get_send_queue):
+       * src/modest-tny-send-queue.c: (modest_tny_send_queue_try_to_send):
+       * src/modest-tny-send-queue.h:
+       * src/modest-ui-actions.c: (modest_ui_actions_do_send_receive),
+       (modest_ui_actions_on_send):
+       Added comments about how sending works, though it needs some more work.
+
+2007-05-25  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-tny-account.c:
+       (modest_tny_account_get_special_folder): Add TODO because this fails when 
+       the network is busy.
+       (modest_tny_folder_store_get_local_size):  Fix an incorrect type check.
+       * src/modest-ui-actions.c: (modest_ui_actions_on_smtp_servers): 
+       Do not try to show this window when there is no active account. The UI 
+       specs does not tell us what to do in this case.
+
+2007-05-24  Murray Cumming  <murrayc@murrayc.com>
+
+       * Makefile.am:
+       * po/POTFILES.in:
+       * src/maemo/Makefile.am:
+       * src/widgets/Makefile.am: Some dist fixes.
+
+2007-05-24  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/maemo/modest-connection-specific-smtp-window.c:
+       (on_button_edit): Make the code clearer, to prevent a double free.
+
+2007-05-24   Murray Cumming  <murrayc@murrayc.com>
+
+       * src/maemo/modest-account-settings-dialog.c:
+       (modest_account_settings_dialog_set_account_name),
+       Check the connection-specific smtp servers checkbox if there are any.
+       
+       * src/maemo/modest-connection-specific-smtp-edit-window.c:
+       (modest_connection_specific_smtp_edit_window_init): 
+       Start with a suitable port number.
+       
+       * src/modest-account-mgr-helpers.h:
+       * src/modest-account-mgr-helpers.c: Added 
+       modest_account_mgr_get_has_connection_specific_smtp().
+       
+       (modest_account_mgr_set_connection_specific_smtp),
+       (modest_account_mgr_remove_connection_specific_smtp),
+       (modest_account_mgr_get_has_connection_specific_smtp),
+       (modest_account_mgr_get_connection_specific_smtp): Set/Get the list of 
+       connection-specific smtp server accounts in the account, rather than 
+       the server account conf dir.
+       
+       This fixes bug projects.maemo.org bug NB#58263 .
+
+       * src/modest-tny-account-store.c:
+       (create_per_account_local_outbox_folders): Do not call get_server_accounts() 
+       if there are no server accounts yet, to prevent an infinite loop when there 
+       are no accounts. Document that one must be called before the other.
+
+2007-05-24  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-account-mgr-helpers.c:
+       (modest_account_mgr_get_default_account): Make sure that at least 
+       one account is always the default, if there are any enabled accounts. 
+       This is just a sanity check that shouldn't be necessary.
+       
+       * src/modest-account-mgr-priv.c:
+       (_modest_account_mgr_account_from_key): Unescape the conf key to 
+       get the real account name. For instance, this is an issue if a space 
+       was in the account name, which can happen because the account name 
+       is generated from the display name.
+       (_modest_account_mgr_get_account_keyname): Always escape the 
+       account name.
+       * src/modest-account-mgr.c: (modest_account_mgr_account_names): 
+       Unescape the conf keys to get the real account names.
+       
+       For instance, previously the is-default radio button in the accounts 
+       list was not checked for any accounts at first. This fixes that,
+       and might fix several similar bugs.
+
+2007-05-23  Murray Cumming  <murrayc@murrayc.com>
+
+       * src/modest-ui-actions.c: (set_active_account_from_tny_account):
+       Removed some debug printfs.
+
+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:
 
        * src/modest-tny-account.c:
        (modest_tny_account_new_from_server_account):
-       Excplicitly use ANONYMOUS secure authentication, instead of "PLAIN" for 
+       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.