2007-05-15 Murray Cumming <murrayc@murrayc.com>
[modest] / ChangeLog2
1 2007-05-15  Murray Cumming  <murrayc@murrayc.com>
2
3         * src/modest-pair.h: 
4         * src/modest-pair.c: Added modest_pair_list_find_by_first_as_string(),
5         so we can get the second based on the first.
6
7         * src/maemo/modest-account-settings-dialog.h: 
8         * src/maemo/modest-account-settings-dialog.c:
9         Added get_supported_secure_authentication_methods(), though it is mostly 
10         commented-out for now until the necessary API is committed to tinymail.
11         (modest_account_settings_dialog_set_account_name),
12         (save_configuration): Request the supported authentication methods from the 
13         server, so we can choose a working method.
14         
15         * src/modest-tny-account-store.h:
16         * src/modest-tny-account-store.c:
17         (modest_tny_account_store_get_session): Rename from 
18         tny_account_store_get_session().
19
20 2007-05-14  Murray Cumming  <murrayc@murrayc.com>
21
22         * src/modest-protocol-info.h: Split the ModestProtocol enum 
23         into ModestProtocol, ModestSecureConnection, and ModestSecureAuthentication.
24         There was no need to have these unrelated values in one enum.
25         
26         * src/: many files: Adapted to changed enum. This makes the code a bit
27         clearer, and the compiler could catch some errors.
28
29 2007-05-14  Murray Cumming  <murrayc@murrayc.com>
30
31         * src/modest-tny-account-store.c: (modest_tny_account_store_alert):
32         Show the detailed internal camel error message when an error happens 
33         during the configuration, so that our testers can give us more clues.
34         For instance, in projects.maemo.org bug NB#56910 .
35
36 2007-05-14  Murray Cumming  <murrayc@murrayc.com>
37
38         * src/modest-tny-account.c:
39         (modest_tny_account_new_from_server_account): Adapt to changed tinymail API: 
40         change tny_account_set_mech() to tny_account_set_secure_auth_mech().
41
42 2007-05-14  Murray Cumming  <murrayc@murrayc.com>
43
44         * src/maemo/easysetup/modest-easysetup-wizard.c: (create_account):
45         * src/maemo/modest-account-settings-dialog.c:
46         (modest_account_settings_dialog_set_account_name),
47         (save_configuration): For the incoming secure authentication checkbox, 
48         use PASSWORD for unchecked, and CRAM-MD5 for checked, after I reread 
49         the UI specification. PLAIN does not seem to be supported for most IMAP 
50         servers anyway, and I am not sure what it would mean.
51         However, we probably need to discover which of the secure-authentication 
52         mechanisms are supported by the server, instead of hard-coding CRAM-MD5.
53         * src/modest-account-mgr-helpers.c:
54         (modest_account_mgr_get_server_account_data):
55
56         * src/modest-tny-account.c:
57         (modest_tny_account_new_from_server_account):
58         Use tny_account_set_mech() to set secure-authentication methods, 
59         with some special-casing for IMAP, based on my observations of how 
60         evolution behaves.
61         
62         * src/modest-account-mgr-helpers.h:
63         * src/modest-account-mgr.c:
64         * src/modest-defs.h: Comment that the URI is only used for local folders.
65
66 2007-05-11  Murray Cumming  <murrayc@murrayc.com>
67
68         * src/maemo/modest-main-window.c: (on_account_update): Make the gchar* 
69         parameter const, just to be neat.
70         * src/modest-text-utils.c: (modest_text_utils_inline):
71         End g_strconcat() with NULL, as its documentation says. This is almost 
72         certainly the cause of my crash at startup on the device. Interestingly, 
73         valgrind doesn't tell us about these errors.
74
75 2007-05-11  Murray Cumming  <murrayc@murrayc.com>
76
77         * scripts/build-packages: Added more precise comments about how to use 
78         this script, though I still get this error:
79         dpkg-genchanges: error: cannot open .dsc file ../tinymail_1.0-svn1938.dsc: No such file or directory
80         error building tinymail
81         
82 2007-05-11  Murray Cumming  <murrayc@murrayc.com>
83
84         * src/maemo/modest-main-window.c: (on_account_update):
85         Very slight cleanup, hoping to make it simpler to discover what causes 
86         a crash here sometimes.
87         
88         * src/modest-tny-account.c:
89         (modest_tny_account_new_from_server_account): Set the port. Added 
90         comments about the options and a TODO comment because I need to find out 
91         how to specify the secure authentication method.
92
93 2007-05-11  Marcus Bauer  <marcusb@openismus.com>
94
95         * libmodest-dbus-client/libmodest-dbus-client-1.0.pc.in:
96         changed CFlags paths form modest to libmodest
97
98 2007-05-10  Murray Cumming  <murrayc@murrayc.com>
99
100         * src/modest-account-mgr-helpers.c:
101         (modest_account_mgr_get_server_account_data),
102         (modest_account_mgr_free_server_account_data):
103         * src/modest-account-mgr-helpers.h:
104         * src/modest-account-mgr.c:
105         (modest_account_mgr_add_server_account):
106         * src/modest-defs.h:
107         * src/modest-tny-account.c:
108         (modest_tny_account_new_from_server_account):
109         Determine the options for tny_camel_account_add_option() here, 
110         based on the settings, rather than storing them directly in gconf.
111
112 2007-05-10  Murray Cumming  <murrayc@murrayc.com>
113
114         * src/modest-tny-account-store.c: (modest_tny_account_store_alert):
115         Show a more friendly error dialog now that we expect (from the tinymail 
116         documentation) to get the UNKNOWN_ALERT error. Add explanatory comments.
117
118 2007-05-10  Murray Cumming  <murrayc@murrayc.com>
119
120         * src/maemo/modest-main-window.c: (on_account_update): Check that 
121         account_name is not NULL, to prevent a crash at startup that I am 
122         seeing on the N800. I do wonder why it is NULL.
123         
124         * src/maemo/easysetup/modest-easysetup-wizard.c:
125         (create_page_user_details):
126         * src/maemo/modest-account-settings-dialog.c:
127         (create_page_user_details), (create_page_outgoing):
128         * src/maemo/modest-connection-specific-smtp-edit-window.c:
129         (modest_connection_specific_smtp_edit_window_init):
130         * src/modest-ui-actions.c:
131         (modest_ui_actions_on_password_requested):
132         Use HILDON_GTK_INPUT_MODE_INVISIBLE with password entries, which 
133         might do something useful with the on-screen keyboard.
134
135 2007-05-10  Murray Cumming  <murrayc@murrayc.com>
136
137         * src/maemo/modest-main-window.c: (on_account_update):
138         Avoid adding a menu item to priv->accounts_popup if accounts_popup is 
139         NULL, to avoid lots of warnings. However, it probably should not be NULL.
140
141 2007-05-09  Murray Cumming  <murrayc@murrayc.com>
142
143         * src/modest-tny-account-store.c: (on_account_changed): 
144         Correct the signature of this signal handler.
145
146 2007-05-09  Murray Cumming  <murrayc@murrayc.com>
147
148         * src/modest-tny-account-store.c: (modest_tny_account_store_alert):
149         Show a HildonNote instead of a GtkDialog for Maemo.
150
151 2007-05-09  Murray Cumming  <murrayc@murrayc.com>
152
153         * src/widgets/modest-account-view.h:
154         * src/widgets/modest-account-view.c: (on_account_changed),
155         (on_account_removed). Added a boolean flag, set/unset by 
156         modest_account_view_block_conf_updates(), 
157         modest_account_view_unblock_conf_updates() to prevent unnecessary 
158         updates, but this is not very useful because the gconf notifications are 
159         so delays (maybe only on Maemo Bora).
160         So auto-updating is turned off, and these functions do an explicit 
161         update when necessary.
162         However, something else is still doing too much work when adding/removing 
163         accounts, probably in another part of the application.
164         
165         * src/maemo/modest-account-view-window.c:
166         (on_delete_button_clicked), (on_edit_button_clicked),
167         (on_new_button_clicked): Use the new functions.
168
169 2007-05-09  Murray Cumming  <murrayc@murrayc.com>
170
171         * src/modest-account-mgr-helpers.c:
172         (modest_account_mgr_set_first_account_as_default):
173         Sort the list of names alphabetically-by-title, so we choose the first one 
174         based on that.
175         * src/widgets/modest-account-view.c: (init_view): Sort the TreeModel 
176         alphabetically by the title.
177         
178         This fixes projects.maemo.org bug NB#56418 .
179         
180         * src/modest-account-mgr-priv.c:
181         (_modest_account_mgr_account_from_key):
182         * src/modest-account-mgr.c: (on_key_change): Initialize variables to 
183         avoid a valgrind error, and possible random behaviour.
184
185 2007-05-09  Murray Cumming  <murrayc@murrayc.com>
186
187         * src/modest-tny-account-store.c: (modest_tny_account_store_alert):
188         Handle the new TNY_ACCOUNT_STORE_ERROR error domain. I will update the 
189         tinymail documentation to say that this can be expected.
190         Handle the new TNY_ACCOUNT_STORE_ERROR_UNKNOWN_ALERT error code. It is not 
191         pretty, and should not happen, but I would prefer to know when it does.
192
193 2007-05-09  Murray Cumming  <murrayc@murrayc.com>
194
195         * configure.ac: When using the older hildon version, probably on Bora, 
196         require gnome-vfs-module-2.0, which is the old provider of gnome-vfs-mime.h,
197         to fix the build.
198         * src/widgets/modest-attachment-view.c:
199         (modest_attachment_view_set_part_default): Initialize variables, to fix the 
200         build.
201
202 2007-05-09  Marcus Bauer  <marcusb@openismus.com>
203
204         * src/dbus_api/modest-dbus-callbacks.c: (on_idle_open_message):
205         Implemented the prototype. Can be tested with
206         tests/dbus_api/test_open_message: 
207
208 2007-05-08  Murray Cumming  <murrayc@murrayc.com>
209
210         * src/modest-tny-account-store.c:
211         (modest_tny_account_store_instance_init), (get_password):
212         * src/modest-ui-actions.c:
213         (modest_ui_actions_on_password_requested):
214         Do not store the password in gconf, because this function is called 
215         for non-remembered passwords. Actually use the cached (in the hash map) 
216         password instead of releasing it.
217         The password will now not be remembered if it is asked via the protected 
218         password dialog, as per the UI spec.
219
220 2007-05-08  Murray Cumming  <murrayc@murrayc.com>
221
222         * src/modest-defs.h:
223         * src/modest-account-mgr-helpers.h:
224         * src/modest-account-mgr-helpers.c:
225         Added modest_server_account_get_username_has_succeeded(),
226         modest_server_account_set_username_has_succeeded().
227         (modest_server_account_set_username),
228         Reset the has-succeeded flag if the username changes.
229         
230         * src/maemo/modest-account-settings-dialog.c: (save_configuration):
231         * src/maemo/modest-connection-specific-smtp-window.c:
232         (modest_connection_specific_smtp_window_save_server_accounts):
233         Use modest_server_account_set_username() instead of using 
234         modest_conf_set_string() directly, so that the has-succeeded flag is always 
235         reset.
236         
237         * src/modest-ui-actions.c:
238         (modest_ui_actions_on_password_requested): Dim the username entry if 
239         the username has ever worked, as per the UI spec.
240
241 2007-05-08  Murray Cumming  <murrayc@murrayc.com>
242
243         * src/modest-tny-account-store.c: (get_password):
244         * src/modest-ui-actions.c:
245         (modest_ui_actions_on_password_requested):
246         Allow the username to be changed too, though there is more work to 
247         be done on exactly how this behaves.
248
249 2007-05-08  Murray Cumming  <murrayc@murrayc.com>
250
251         * src/modest-account-mgr-helpers.h:
252         * src/modest-account-mgr-helpers.c:
253         Added modest_account_mgr_get_display_name(),
254         modest_server_account_get_username(),
255         modest_server_account_set_username(),
256         modest_server_account_set_password(),
257         modest_server_account_get_hostname() functions so we do not need to 
258         use the conf API directly.
259         
260         * src/maemo/modest-main-window.c: (connect_signals):
261         Actually connect ot the ModestAccountStore::request-password signal, 
262         so that we show the dialog when the password is requested by Tinymail, 
263         for isntance if it is empty.
264
265         * src/modest-marshal.list:
266         * src/modest-tny-account-store.c:
267         (modest_tny_account_store_class_init), (get_password),
268         (modest_tny_account_store_alert):
269         * src/modest-tny-account-store.h:
270         * src/modest-ui-actions.h:
271         * src/modest-ui-actions.c:
272         (modest_ui_actions_on_password_requested):
273         Change the signal parameters, so it is obvious that we are providing 
274         the non human-readable server name, and receiving both the username 
275         and password, though changing of the username is not yet implemented.
276         Change the dialog UI to match the Maemo UI specifications, with #idfefing 
277         for the GNOME version.
278         
279         This should fix the projects.maemo.org bug NB#56209, though it does not 
280         work on Bora, because the gconf_client_get() for the password fails 
281         immediately after we save it with gconf_client_set().
282
283 2007-05-08  Murray Cumming  <murrayc@murrayc.com>
284
285         * configure.ac:
286         * src/Makefile.am: Reverted the use of AM_CONDITIONAL(), because it 
287         caused an undefined symbol error:
288         modest-platform.c:84: undefined reference to `modest_osso_cb_hw_state_handler
289
290 2007-05-08  Murray Cumming  <murrayc@murrayc.com>
291
292         * src/modest-tny-account-store.c:
293         (modest_tny_account_store_alert): Adapt to the changed tinymail API, 
294         using a GError instead of a string message, so we can translate it in 
295         Modest.
296
297 2007-05-08  Murray Cumming  <murrayc@murrayc.com>
298
299         * src/maemo/modest-address-book.c:
300         (modest_address_book_check_names):
301         * src/maemo/modest-msg-view-window.c:
302         (modest_msg_view_window_clipboard_owner_change):
303         * src/modest-init.c: (modest_init_init_ui):
304         * src/modest-mail-operation.c: (modest_mail_operation_send_mail),
305         (update_folders_cb), (modest_mail_operation_update_account):
306         * src/modest-ui-actions.c: (modest_ui_actions_on_msg_link_hover),
307         (modest_ui_actions_on_msg_attachment_clicked),
308         (modest_ui_actions_on_msg_recpt_activated):
309         * src/widgets/modest-header-view.c: (drag_data_get_cb):
310         * src/widgets/modest-msg-view.c: (modest_msg_view_search),
311         (modest_msg_view_search_next):
312         * src/widgets/modest-recpt-editor.c:
313         (modest_recpt_editor_on_button_release_event),
314         (modest_recpt_editor_on_key_press_event): Commented-out unnecessary calls to 
315         g_message(). At this point we should only be seeing interesting errors on 
316         stdout. Debugging messages could be #ifdefed-out if they are still useful.
317
318 2007-05-07  Murray Cumming  <murrayc@murrayc.com>
319         
320         (modest_wizard_dialog_force_title_update):
321         * src/maemo/easysetup/modest-wizard-dialog.h:
322         * src/maemo/easysetup/modest-wizard-dialog.c: (set_property):
323         For GTK+ 2.10, when present, connect to the GtkNotebook signals so we 
324         can update the title when appropriate. Otherwise the title is wrong if the 
325         pages are added after adding the notebook to the dialog.
326         This must be a problem in HildonWizardDialog too.
327         Added modest_wizard_dialog_force_title_update() for GTK+ 2.6.
328         
329         * src/maemo/easysetup/modest-easysetup-wizard.c:
330         (create_subsequent_customsetup_pages),
331         (create_subsequent_easysetup_pages): 
332         Call modest_wizard_dialog_force_title_update() so that the title is 
333         correct even with GTK+ < 2.10.
334         This fixes projects.maemo.org bug NB#56145 .
335         
336 2007-05-07  Murray Cumming  <murrayc@murrayc.com>
337
338         * src/maemo/modest-platform.c:
339         (modest_platform_set_update_interval): Use the ALARM_EVENT_NO_DIALOG 
340         flag (awful lack of namespacing in this API) to prevent a useless %s dialog 
341         from being shown.
342
343 2007-05-07  Murray Cumming  <murrayc@murrayc.com>
344
345         * src/widgets/modest-window.h:  
346         * src/widgets/modest-window.c: Added a save_state_func vfunc, 
347         and modest_window_save_state(), which invokes it.
348
349         * src/widgets/modest-window-mgr.h:
350         * src/widgets/modest-window-mgr.c:
351         Added modest_window_mgr_save_state_for_all_windows(), which calls 
352         the save_state vfunc on all registered windows, if implemented.
353         
354         * src/gnome/modest-msg-edit-window.c:
355         * src/gnome/modest-msg-view-window.c:
356         * src/maemo/modest-msg-edit-window.c:
357         * src/maemo/modest-msg-view-window.c:
358         * src/maemo/modest-main-window.c: 
359         Specify the existing save_settings functions as implementations of 
360         ModestWindow::save_state_func().
361
362         * src/maemo/modest-osso-state-saving.c: modest_osso_save_state():
363         Call modest_window_mgr_save_state_for_all_windows(). This happens before 
364         enabling hibernation, for instance.
365         
366         We may need to do the same thing for restoring settings.
367
368
369 2007-05-07  Murray Cumming  <murrayc@murrayc.com>
370
371         * src/widgets/modest-window-mgr.c: 
372         * src/widgets/modest-window-mgr.h:
373         Added modest_window_mgr_prevent_hibernation_while_window_is_shown() and
374         modest_window_mgr_get_hibernation_is_prevented().
375         
376         * src/maemo/modest-main-window.c:
377         (on_hildon_program_is_topmost_notify): Prevent hibernation 
378         (possible when the application goes to the background in the WM), 
379         if modest_window_mgr_get_hibernation_is_prevented() is TRUE.
380         
381         * src/maemo/easysetup/modest-easysetup-wizard.c:
382         (modest_easysetup_wizard_dialog_init):
383         * src/maemo/modest-account-settings-dialog.c:
384         (modest_account_settings_dialog_init):
385         * src/maemo/modest-connection-specific-smtp-edit-window.c:
386         (modest_connection_specific_smtp_edit_window_init):
387         * src/maemo/modest-connection-specific-smtp-window.c:
388         (modest_connection_specific_smtp_window_init):
389         * src/maemo/modest-signature-editor-dialog.c:
390         (modest_signature_editor_dialog_init):
391         Call modest_window_mgr_prevent_hibernation_while_window_is_shown() to 
392         prevent hibernation while any of these account settings dialogs are open.
393
394 2007-05-04  Murray Cumming  <murrayc@murrayc.com>
395
396         * src/maemo/Makefile.am:
397         * src/maemo/modest-osso-state-saving.c: 
398         * src/maemo/modest-osso-state-saving.h: Added 
399         modest_osso_load_state() and modest_osso_save_state() though they do 
400         nothing now. They should iterate through all the open windows and load/save 
401         their state.
402         * src/modest-ui-actions.c: (modest_ui_actions_on_quit): For Mameo, 
403         save state when closing.
404         
405         * src/maemo/modest-main-window.c:
406         (on_hildon_program_is_topmost_notify), (modest_main_window_new):
407         Add a notification handler for the HildonProgram::is-topmost property, 
408         so we can allow hibernation when the application goes into the background.
409         But we still need to detect when the accounts setup windows are open so 
410         we can stop hibernation when they are open.
411         To do this, I also added the main window the HildonProgram. This might have 
412         other side-effects/benefits, and should maybe be done for other windows.
413
414         * src/maemo/modest-osso-autosave-callbacks.h:
415         * src/maemo/modest-osso-autosave-callbacks.c:
416         (modest_on_osso_application_autosave): Add a libosso auto-save callback, 
417         though it does not do anything yet, and we might never need this to do 
418         anything. For instance, we already save drafts.
419         
420         * src/maemo/modest-platform.c: (modest_platform_init):
421         Specify the libosso auto-save callback.
422
423 2007-05-03  Murray Cumming  <murrayc@murrayc.com>
424
425         * src/maemo/modest-platform.c:
426         (modest_platform_set_update_interval):
427         * src/modest-defs.h: Store the alarmd cookie ID in gconf, because it 
428         aparently stays valid between application instances, so we can use this 
429         to remove and reset it later. According to a maemo-developers email from 
430         David Weinehall.
431
432 2007-05-03  Murray Cumming  <murrayc@murrayc.com>
433
434         * configure.ac: Depend on libalarm for Maemo.
435
436         * src/dbus_api/modest-dbus-api.h:
437         * src/dbus_api/modest-dbus-callbacks.c: (on_idle_send_receive),
438         (on_send_receive), (modest_dbus_req_handler):
439         Handle a SEND_RECEIVE D-Bus method.
440         
441         * libmodest-dbus-client/libmodest-dbus-client.c:
442         (libmodest_dbus_client_send_and_receive):
443         * libmodest-dbus-client/libmodest-dbus-client.h:
444         Add C convenience functions for calling the new D-Bus method.
445         
446         * src/modest-platform.h:
447         * src/gnome/modest-platform.c:
448         * src/maemo/modest-platform.c: 
449         Added modest_platform_set_update_interval(), which uses the 
450         alarmd API on Maemo.
451         (modest_platform_init),
452         Call modest_platform_set_update_interval(), using a hard-coded 
453         interval for now (until the global settings dialog is implemented), 
454         though I am not sure that this makes sense yet.
455
456 2007-05-02  Murray Cumming  <murrayc@murrayc.com>
457
458         * src/dbus_api/modest-dbus-callbacks.c:
459         (modest_osso_cb_hw_state_handler):
460         * src/dbus_api/modest-dbus-callbacks.h:
461         * src/maemo/modest-platform.c: (modest_platform_init):
462         Registered (empty) callbacks for the osso hardware state D-Bus signals, 
463         in case this has some effect on the ability for Maemo to ping the 
464         application.
465
466 2007-05-02  Murray Cumming  <murrayc@murrayc.com>
467
468         * src/modest-text-utils.c: (modest_text_utils_validate_recipient):
469         Comment out an if() that checks a gchar for < 0, causing a build-breaking 
470         warning. It is probably a logic error, but I need to fix the build.
471
472 2007-05-02  Murray Cumming  <murrayc@murrayc.com>
473
474         * src/modest-account-mgr.h:
475         * src/modest-account-mgr.c: 
476         (modest_account_mgr_account_names): Add a gboolean enabled_only 
477         parameter, so we can get lists of onlt the enabled accounts.
478         
479         (modest_account_mgr_add_account),,
480         (modest_account_mgr_account_with_display_name_exists):
481         * src/maemo/modest-msg-edit-window.c: (get_transports):
482         * src/modest-account-mgr-helpers.c:
483         (modest_account_mgr_set_first_account_as_default):
484         * src/modest-init.c: (init_default_account_maybe):
485         * src/modest-tny-account-store.c: (get_accounts):
486         * src/modest-ui-actions.c: (modest_ui_actions_on_accounts),
487         (do_send_receive_auto), (modest_ui_actions_on_send_receive):
488         * tests/check_account-mgr.c: (START_TEST):
489         Provide the extra parameter, as appropriate.
490         
491         * src/widgets/modest-account-view.c: (update_account_view):
492         Do not show disabled accounts (meaning that there is no way to 
493         enable/disable accounts in the UI (the feature is not in our UI 
494         specification), so we can use this internally only to mark unfinished 
495         or temporary account data.
496         
497         * src/maemo/easysetup/modest-easysetup-wizard.c:
498         (create_account): Add boolean enable parameter, so we can specify FALSE 
499         to create the temporary account.
500         (on_button_edit_advanced_settings): Create the temporary account as disabled.
501         (on_before_next): When finishing, when there is a temporary account, just 
502         set it as enabled.
503         Also, use a timeout to delay the showing of the dialog until gconf is likely 
504         to return correct information, due to a maemo gconf bug that is fixed in 
505         osso 1.1, but not yet in Bora.
506         However, the dialog stays on screen after it is destroyed.
507         
508         * src/maemo/modest-account-settings-dialog.c: on_response(): Do not check 
509         for invalid data when cancelling. Use a hildon note instead of a dialog 
510         to complain about invalid data. Do not show the account-saved note if the 
511         account is disabled (a temporary account that will not really be saved for use 
512         until later.)
513
514 2007-04-30  Murray Cumming  <murrayc@murrayc.com>
515
516         * src/modest-account-mgr-helpers.h:
517         * src/modest-account-mgr-helpers.c:
518         Added modest_account_mgr_unset_default_account(),
519         Added modest_account_mgr_set_first_account_as_default().
520
521         * src/modest-account-mgr.c: (modest_account_mgr_remove_account): 
522         If it was the default account, unset the default account name.
523         
524         * src/maemo/modest-account-view-window.c:
525         (on_delete_button_clicked): If it was the default account, 
526         set the first remaining account as the default instead.
527         
528         * src/maemo/modest-main-window.c: (on_account_update): Do not try to use 
529         a NULL account or a NULL default account, to prevent a crash. This should 
530         not happen now anyway. Bug #55343 in projects.maemo.org/bugzilla.
531         
532
533 2007-04-30  Murray Cumming  <murrayc@murrayc.com>
534
535         * src/widgets/modest-recpt-editor.c:
536         (modest_recpt_editor_on_key_press_event): Put an #ifdef around the 
537         use of gtk_text_buffer_get_has_selection() (from GTK+ 2.10), and add a 
538         TODO comment for this. This fixes the build.
539         
540         * src/modest-ui-actions.c: Add do_send_receive(), though it might not 
541         be the best place for it. This will in future update all auto-update accounts, 
542         rather than just the current/default account, when that gconf key exists.
543         (modest_ui_actions_on_send_receive): Offer the settings dialog (or wizard) 
544         if there are no accounts, before calling do_send_receive().
545         * src/modest-ui-actions.h: Specify the callback for the Send/Recieve menu item.
546         
547         * src/gnome/modest-main-window.c: (on_online_toggle_toggled):
548         * src/maemo/modest-main-window-ui.h:
549         * src/maemo/modest-main-window.c: (on_connection_changed),
550         (sync_accounts_cb): Use do_send_receive() instead of calling the signal handler 
551         directly, becaue the signal handler does more.
552
553 2007-04-30  Murray Cumming  <murrayc@murrayc.com>
554
555         * src/modest-account-mgr-helpers.c:
556         (modest_account_mgr_get_account_data): Add a more helpful error message, and comment, 
557         for the case that the account does not exist.
558         
559         * src/widgets/modest-folder-view.c: (filter_row): Use the tinymail account ID 
560         (equivalent to the modest account name) rather than the tinymail account name 
561         (equivalent to the modest account title - human readable) to get the account data.
562         Check for null account data to prevent the crash, and add a TODO comment saying that 
563         this needs fixing because it is using the server account name instead of the account name.
564
565 2007-04-29  Murray Cumming  <murrayc@murrayc.com>
566
567         * src/maemo/easysetup/modest-easysetup-wizard.c: (show_error):
568         * src/maemo/modest-account-settings-dialog.c: (show_error),
569         (show_ok):
570         Use hildon_note_new_information() for informative and error messages, 
571         which seems to be expected for Maemo applications (no documentation that I know of 
572         says this). I am surprised that there is no distinction between info and error 
573         dialogs.
574
575 2007-04-29  Murray Cumming  <murrayc@murrayc.com>
576
577         * src/maemo/modest-maemo-ui-constants.h: Add a MODEST_MARGIN_NONE constant, so 
578         it is easy to find where this is used.
579         
580         * src/maemo/easysetup/modest-easysetup-wizard.c:
581         (create_page_welcome), (create_page_account_details),
582         (create_page_user_details), (create_page_complete_easysetup),
583         (create_page_custom_incoming), (create_page_custom_outgoing),
584         (create_page_complete_custom):
585         * src/maemo/modest-account-settings-dialog.c:
586         (create_page_account_details), (create_page_user_details),
587         (create_page_incoming), (create_page_outgoing):
588         * src/maemo/modest-account-view-window.c: (window_vbox_new):
589         * src/maemo/modest-connection-specific-smtp-edit-window.c:
590         (modest_connection_specific_smtp_edit_window_init):
591         * src/maemo/modest-connection-specific-smtp-window.c:
592         (modest_connection_specific_smtp_window_init):
593         * src/maemo/modest-signature-editor-dialog.c:
594         (modest_signature_editor_dialog_init): Use the correct padding/spacing/borders 
595         and scrolling policy as per the Email Application Layout Guide, if I have 
596         understood it.
597
598 2007-04-27  Murray Cumming  <murrayc@murrayc.com>
599
600         * src/modest-tny-account-store.c: (modest_tny_account_store_init): 
601         Remove the add_transport_account_func and add_store_account_func vfunc implementations, 
602         which were empty, because these vfuncs have been removed from TnyAccountStore.
603         This fixes the build.
604
605 2007-04-27  Murray Cumming  <murrayc@murrayc.com>
606
607         * src/maemo/modest-main-window.c:
608         (modest_main_window_show_toolbar): Check that a toolbar item is not NULL before 
609         showing/hiding it. Added TODO because it probably should not be NULL.
610         * src/modest-init.c: (modest_init_init_ui): Use a g_message() instead of a g_warning() 
611         because unnecessary g_warnings() make degugging difficult.
612
613 2007-04-27  Murray Cumming  <murrayc@murrayc.com>
614
615         * src/maemo/modest-msg-edit-window.c:
616         (modest_msg_edit_window_select_color),
617         (modest_msg_edit_window_select_background_color): 2 const corrections and 
618         moving 2 #endifs before closing brackets, to fix the build.
619
620 2007-04-27  Murray Cumming  <murrayc@murrayc.com>
621
622         * src/maemo/easysetup/modest-easysetup-wizard.h:
623         * src/maemo/easysetup/modest-easysetup-wizard.c:
624         (modest_easysetup_wizard_dialog_finalize),
625         (on_button_edit_advanced_settings), (create_page_complete_custom),
626         (on_response), (create_account):
627         Implement the Advanced Settings edit button, by saving the account information, 
628         for the Advanded Settings dialog to use directly from gconf, and removing it 
629         if Finish is never clicked. There is still some UI strangeness, so this is not finished.
630         Bug #5533 in the projects.maemo.org bugzilla.
631
632 2007-04-27  Murray Cumming  <murrayc@murrayc.com>
633
634         * src/maemo/modest-msg-view-window.c:
635         (modest_msg_view_window_show_toolbar): Prevent hide/show of a NULL toolbar widget, 
636         when opening a message window.
637
638 2007-04-27  Murray Cumming  <murrayc@murrayc.com>
639
640         * src/maemo/easysetup/modest-easysetup-wizard.c:
641         (create_page_custom_outgoing): Correct the position of the horizontal separator to 
642         match the UI spec.
643         
644         * src/maemo/modest-main-window.c: (set_toolbar_mode): Check that widgets are not NULL 
645         before showing/hiding them, to avoid a crash when clicking on folders when there are no 
646         gconf settings. I probably added more checks than necessary, but that is safer.
647         
648         * src/modest-ui-actions.c: (modest_ui_actions_on_move_to): Initialize the mail_op 
649         variable to fix the build, but this seems to be used when it is still NULL.
650
651 2007-04-27  Murray Cumming  <murrayc@murrayc.com>
652
653         * src/modest-platform.h:
654         * src/gnome/modest-platform.c: (modest_platform_connect_and_wait):
655         * src/maemo/modest-platform.c: (modest_platform_connect_and_wait):
656         * src/modest-main.c: Implement this function so we can avoid using 
657         maemo-specific API from cross-platform code.
658         (main):
659         * src/modest-tny-account-store.c:
660         (get_smtp_specific_transport_account_for_open_connection):
661         * src/modest-ui-actions.c: (check_for_connection),
662         (modest_ui_actions_on_item_not_found):
663         Use modest_platform_connect_and_wait() and put #idefs around other 
664         maemo-specific code, because only maemo currently has a way to 
665         identify connection names.
666
667 2007-04-27  Murray Cumming  <murrayc@murrayc.com>
668
669         * src/modest-tny-account-store.h:
670         * src/modest-tny-account-store.c:
671         Added modest_tny_account_store_get_transport_account_for_open_connection(), which respects 
672         the connection-specific SMTP server settings in the configuration.
673         
674         * src/dbus_api/modest-dbus-callbacks.c: (on_idle_send_mail),
675         (on_idle_mail_to):
676         * src/maemo/modest-main-window.c: (on_connection_changed),
677         (connect_signals):
678         * src/modest-main.c: (main), (start_ui), (send_mail):
679         Use tny_maemo_conic_device_connect() instead of tny_maemo_conic_force_online(), when 
680         that is what is intended.
681         
682         * src/modest-ui-actions.c: (action_send), (action_receive),
683         (modest_ui_actions_on_item_not_found), (modest_ui_actions_on_send):
684         Use modest_tny_account_store_get_transport_account_for_open_connection() instead of 
685         modest_tny_account_store_get_tny_account_by_account() so that the connection-specific 
686         SMTP server is used when it is specified.
687         
688         (modest_ui_actions_on_send_receive): 
689         Check that a connection is open before proceeding.
690         Receive and then send, instead of vice-versa, as per the specification.
691
692 2007-04-26  Murray Cumming  <murrayc@murrayc.com>
693
694         * src/modest-mail-operation.c:
695         (modest_mail_operation_remove_folder): Intialize the parent variable, to fix the build, 
696         though I guess it should be something other than NULL.
697
698 2007-04-26  Murray Cumming  <murrayc@murrayc.com>
699
700         * src/maemo/easysetup/modest-easysetup-wizard.c:
701         (create_page_custom_incoming): Add the checkbox to the caption instead of adding the 
702         combo twice, to avoid an g_warning and to make it visible again.
703         * src/maemo/modest-main-window.c: (on_account_update): Check whether the popup_menu is 
704         attached before detaching it, to avoid a g_warning, and add comment about the implicit 
705         (already intended) dereference when detaching, because we then recreate the menu.
706         But I am not sure why the warning was happening, and it is possible that this is a memory 
707         leak.
708
709 2007-04-25  Murray Cumming  <murrayc@murrayc.com>
710
711         * src/dbus_api/modest-dbus-callbacks.c: Added uri_unescape(),
712         and uri_parse_mailto() utility functions.
713         (on_idle_mail_to): Parse, unescape, and use the subject, cc, bcc, and body items in 
714         the mailto URI.
715         * tests/dbus_api/test_mail_to.c: (main): Add escaped spaces in the URI to test this.
716
717 2007-04-24  Murray Cumming  <murrayc@murrayc.com>
718
719         * src/dbus_api/modest-dbus-api.h:
720         * src/dbus_api/modest-dbus-callbacks.c:
721         Use an idle callback to execute the modest code in the application's own thread.
722         Remove the helloworld example method.
723         Handle mail-to and open-message D-Bus methods, though the mail-to format needs to be 
724         parsed, and the open-message method is not implemented because this is not yet implemented in 
725         modest itself.
726         * libmodest-dbus-client/libmodest-dbus-client.c:
727         (libmodest_dbus_client_send_mail), (libmodest_dbus_client_mail_to),
728         (libmodest_dbus_client_open_message):
729         * libmodest-dbus-client/libmodest-dbus-client.h: New functions for the new methods.
730         
731         * src/modest-tny-msg.c: (modest_tny_msg_new), (add_body_part): Handle NULLs for subject and 
732         body without crashing.
733         
734         * tests/dbus_api/Makefile.am:
735         * tests/dbus_api/test_mail_to.c:
736         * tests/dbus_api/test_open_message.c: New tests for the new methods.
737
738 2007-04-24  Murray Cumming  <murrayc@murrayc.com>
739
740         * libmodest-dbus-client/libmodest-dbus-client-1.0.pc.in:
741         Added file to fix the build. Sorry.
742         
743         * src/dbus_api/Makefile.am:
744         * src/dbus_api/modest-dbus-api.h:
745         * src/dbus_api/modest-dbus-callbacks.h:
746         * src/dbus_api/modest-dbus-callbacks.c: (on_send_mail),
747         (modest_dbus_req_handler):
748         Put constants in a separate header so it can be reused by the 
749         client library, without duplication
750         
751         * libmodest-dbus-client/Makefile.am:
752         * libmodest-dbus-client/libmodest-dbus-client.c:
753         (libmodest_dbus_client_call_helloworld),
754         (libmodfest_dbus_client_send_mail),
755         (libmodfest_dbus_client_mailto),
756         (libmodfest_dbus_client_open_message):
757         * libmodest-dbus-client/libmodest-dbus-client.h:
758         (Partly) Implement a send_mail D-Bus method.
759         
760         * tests/dbus_api/Makefile.am:
761         * tests/dbus_api/test_send_mail.c: (main): Added a test for 
762         the send_email D-Bus method.
763
764 2007-04-24  Murray Cumming  <murrayc@murrayc.com>
765
766         * Makefile.am:
767         * configure.ac:
768         * libmodest-dbus-client/Makefile.am:
769         * libmodest-dbus-client/libmodest-dbus-client.c:
770         * libmodest-dbus-client/libmodest-dbus-client.h:
771         * tests/dbus_api/Makefile.am:
772         * tests/dbus_api/test_hello.c: (main): Added directory structure for a C convenience library 
773         for using the modest D-Bus API, and used that from the test. It is still just a helloworld.
774
775 2007-04-24  Murray Cumming  <murrayc@murrayc.com>
776
777         * src/maemo/easysetup/modest-easysetup-wizard.c:
778         (create_page_account_details):
779         * src/maemo/modest-account-settings-dialog.c:
780         (create_page_account_details): Explicitly set auto-capitalization mode for the title 
781         widgets, because this might not be the default in future versions of the Maemo GTK+. 
782         However, I can not not get capitalization to work even in a simple test case.
783
784 2007-04-24  Murray Cumming  <murrayc@murrayc.com>
785
786         * src/maemo/easysetup/modest-easysetup-wizard.c:
787         (create_page_custom_incoming), (create_page_custom_outgoing):
788         * src/maemo/modest-account-settings-dialog.c:
789         (create_page_account_details), (create_page_incoming),
790         (create_page_outgoing): Use a separate label in a caption for GtkCheckButtons, 
791         instead of using gtk_check_button_with_label(), so they are aligned like the other 
792         widgets, as per the UI spec.
793
794 2007-04-24  Murray Cumming  <murrayc@murrayc.com>
795
796         * src/maemo/easysetup/modest-easysetup-wizard.c:
797         * src/maemo/modest-connection-specific-smtp-edit-window.c:
798         * src/widgets/modest-validating-entry.c:
799         * src/widgets/modest-validating-entry.h: Rename the validating widget so it has a 
800         Modest prefix instead of an EasySetup prefix.
801
802 2007-04-23  Murray Cumming  <murrayc@murrayc.com>
803
804         * src/widgets/modest-validating-entry.h:
805         * src/widgets/modest-validating-entry.c: (on_insert_text),
806         Added easysetup_validating_entry_set_max_func(), used to set a callback 
807         to call when the max number of characters is reached. GtkEntry has a max-length 
808         already but is silent about it.
809
810         * src/maemo/easysetup/modest-easysetup-wizard.c: (on_entry_max),
811         (create_page_account_details), (create_page_user_details),
812         (create_account):
813         * src/maemo/modest-account-settings-dialog.c: (on_entry_max),
814         (create_page_account_details), (create_page_user_details),
815         (create_page_outgoing):
816         * src/modest-ui-actions.c: (modest_ui_actions_on_details): 
817         Use easysetup_validating_entry_set_max_func() to show the warning dialog, as per 
818         the UI spec, when the user tries to enter more than the max number of characters.
819
820 2007-04-23  Murray Cumming  <murrayc@murrayc.com>
821
822         * src/maemo/easysetup/modest-easysetup-wizard.c:
823         (create_page_user_details), (create_page_custom_incoming),
824         (create_page_custom_outgoing):
825         * src/maemo/modest-account-settings-dialog.c:
826         (create_page_user_details), (create_page_incoming),
827         (create_page_outgoing):
828         * src/maemo/modest-connection-specific-smtp-edit-window.c:
829         (modest_connection_specific_smtp_edit_window_init):
830         Use hildon_gtk_entry_set_input_mode() to turn off auto-capitalization where it is 
831         not appropriate. Bad Maemo-specific defaults!.
832
833 2007-04-23  Murray Cumming  <murrayc@murrayc.com>
834
835         * src/maemo/modest-signature-editor-dialog.c: (enable_widgets),
836         (on_toggle_button_changed), (modest_signature_editor_dialog_init),
837         (modest_signature_editor_dialog_set_settings): 
838         Disable the label and textview when the checkbox is disabled, and use the 
839         specified (UI spec) default signature text.
840
841 2007-04-23  Murray Cumming  <murrayc@murrayc.com>
842
843         * src/maemo/modest-connection-specific-smtp-edit-window.c:
844         (modest_connection_specific_smtp_edit_window_init): Use spacing constants.
845         
846         * src/modest-defs.h:
847         * src/modest-account-mgr-helpers.h:
848         * src/modest-account-mgr-helpers.c:
849         Added modest_account_mgr_get/set_signature(), using new gconf keys.
850         
851         * src/maemo/Makefile.am:
852         * src/maemo/modest-signature-editor-dialog.c:
853         * src/maemo/modest-signature-editor-dialog.h: New dialog for editing signatures, 
854         as per the UI spec.
855         
856         * src/maemo/modest-account-settings-dialog.h:
857         * src/maemo/modest-account-settings-dialog.c:
858         (modest_account_settings_dialog_finalize), (on_button_signature),
859         (save_configuration): Use the new dialog when the Edit button is pressed, and 
860         save the changes if necessary, as per the UI spec.
861
862 2007-04-23  Murray Cumming  <murrayc@murrayc.com>
863
864         * src/maemo/Makefile.am:
865         * src/maemo/modest-maemo-ui-constants.h: New header with some defines for widget spacing, 
866         based on maemo-develoers email from Dirk.
867         
868         * src/maemo/easysetup/modest-easysetup-wizard.c:
869         (create_page_welcome), (create_page_account_details),
870         (create_page_user_details), (create_page_complete_easysetup),
871         (create_page_custom_incoming), (create_page_custom_outgoing),
872         (create_page_complete_custom),
873         (modest_easysetup_wizard_dialog_init):
874         * src/maemo/modest-account-settings-dialog.c:
875         (create_page_account_details), (create_page_user_details),
876         (create_page_incoming), (create_page_outgoing),
877         (modest_account_settings_dialog_init):
878         * src/maemo/modest-connection-specific-smtp-window.c:
879         (modest_connection_specific_smtp_window_init): Used the smallest of the spacing constants.
880
881 2007-04-23  Murray Cumming  <murrayc@murrayc.com>
882
883         * src/maemo/easysetup/modest-easysetup-wizard.c:
884         (create_page_account_details), (create_page_custom_outgoing),
885         (create_page_complete_custom):
886         * src/maemo/modest-account-settings-dialog.c:
887         (create_page_user_details), (create_page_incoming),
888         (create_page_outgoing):
889         * src/maemo/modest-connection-specific-smtp-edit-window.c:
890         (modest_connection_specific_smtp_edit_window_init): 
891         Use the correct (UI spec) port min/max, and use horizontal separators, 
892         as per the UI spec.
893
894 2007-04-23  Murray Cumming  <murrayc@murrayc.com>
895
896         * src/maemo/easysetup/modest-easysetup-wizard.c:
897         (set_default_custom_servernames):
898         * src/maemo/modest-account-settings-dialog.c:
899         (create_page_incoming), (on_combo_outgoing_security_changed),
900         (on_combo_incoming_security_changed), (create_page_outgoing),
901         (modest_account_settings_dialog_set_account_name),
902         (save_configuration):
903         * src/maemo/modest-connection-specific-smtp-edit-window.c:
904         (on_combo_security_changed),
905         (modest_connection_specific_smtp_edit_window_init),
906         (modest_connection_specific_smtp_edit_window_set_connection),
907         (modest_connection_specific_smtp_edit_window_get_settings): 
908         Use HildonNumberEditor instead of GtkEntry for the port numbers so it has the - and + buttons,
909         as per the UI spec.
910
911 2007-04-20  Murray Cumming  <murrayc@murrayc.com>
912
913         * po/en_GB.po:
914         * src/maemo/easysetup/modest-easysetup-wizard.c:
915         (create_page_custom_outgoing), (create_page_complete_custom):
916         * src/maemo/modest-account-settings-dialog.c:
917         (create_page_user_details), (create_page_outgoing):
918         * src/maemo/modest-account-view-window.c: (button_box_new):
919         Use changed logical IDs as per the most recent UI spec:
920         mcen_bd_emailsetup_edit -> mcen_bd_edit
921         mcen_bd_emailsetup_delete -> mcen_bd_delete
922         mcen_bd_emailsetup_close -> mcen_bd_close
923
924 2007-04-20  2007-04-20  Murray Cumming  <murrayc@murrayc.com>
925
926         * configure.ac:
927         * src/Makefile.am:
928         * src/dbus_api/Makefile.am:
929         * src/dbus_api/modest-dbus-callbacks.c:
930         * src/dbus_api/modest-dbus-callbacks.h:
931         * src/maemo/modest-platform.c: (modest_platform_init):
932         Added the beginnings of a D-Bus API. At the moment it just has a HelloWorld 
933         method.
934         * tests/Makefile.am:
935         * tests/dbus_api/Makefile.am:
936         * tests/dbus_api/test_hello.c: (main): Very simple test of the D-Bus API.
937
938 2007-04-20  Murray Cumming  <murrayc@murrayc.com>
939
940         * src/maemo/modest-account-settings-dialog.c:
941         * src/maemo/modest-connection-specific-smtp-edit-window.c:
942         Removed unnecessary includes.
943
944 2007-04-20  Murray Cumming  <murrayc@murrayc.com>
945
946         * src/maemo/easysetup/modest-easysetup-wizard.c:
947         * src/maemo/modest-account-settings-dialog.c:
948         * src/maemo/modest-connection-specific-smtp-edit-window.c:
949         * src/widgets/Makefile.am:
950         * src/widgets/modest-easysetup-secureauth-combo-box.c:
951         * src/widgets/modest-easysetup-secureauth-combo-box.h:
952         * src/widgets/modest-easysetup-serversecurity-combo-box.c:
953         * src/widgets/modest-easysetup-serversecurity-combo-box.h:
954         * src/widgets/modest-secureauth-combo-box.c:
955         * src/widgets/modest-secureauth-combo-box.h:
956         * src/widgets/modest-serversecurity-combo-box.c:
957         * src/widgets/modest-serversecurity-combo-box.h: Renamed the files and 
958         made the GObject names more consistent with the rest of the Modest code.
959
960 2007-04-20  Murray Cumming  <murrayc@murrayc.com>
961
962         * src/maemo/easysetup/Makefile.am:
963         * src/maemo/easysetup/modest-easysetup-secureauth-combo-box.c:
964         * src/maemo/easysetup/modest-easysetup-secureauth-combo-box.h:
965         * src/maemo/easysetup/modest-easysetup-serversecurity-combo-box.c:
966         * src/maemo/easysetup/modest-easysetup-serversecurity-combo-box.h:
967         * src/maemo/easysetup/modest-easysetup-wizard.c:
968         * src/maemo/easysetup/modest-validating-entry.c:
969         * src/maemo/easysetup/modest-validating-entry.h:
970         * src/maemo/modest-account-settings-dialog.c:
971         * src/maemo/modest-connection-specific-smtp-edit-window.c:
972         * src/widgets/Makefile.am: Moved these widgets from maemo/easysetup into 
973         widgets/ because they are used outside of easysetup too. After checking in, 
974         svn will allow me to rename them too.
975
976 2007-04-20  Murray Cumming  <murrayc@murrayc.com>
977
978         * src/gnome/modest-msg-edit-window.c:
979         (modest_msg_edit_window_set_priority_flags): Added an empty implementation to fix a 
980         linker error, to fix the build on the GNOME platform.
981         modest_msg_edit_window_set_zoom(), modest_msg_edit_window_get_zoom(), 
982         modest_msg_edit_window_zoom_plus(), modest_msg_edit_window_zoom_minus():
983         ifdefed out to avoid a warning.
984
985 2007-04-20  Murray Cumming  <murrayc@murrayc.com>
986
987         * src/widgets/modest-header-view.c: (on_focus_in): Use GTK_CHECK_VERSION to #ifdef around the 
988         use of gtk_tree_view_get_visible_range(), to fix the build on Mameo. This code probably needs 
989         some alternative for GTK+ 2.6.
990
991 2007-04-19  Murray Cumming  <murrayc@murrayc.com>
992
993         * src/maemo/modest-address-book.c: Added include to avoid a warning.
994
995         * po/en_GB.po: Added missing mcen_bd_emailsetup_close string, 
996         specified for EmailAccountsDialog in UI spec.
997         
998         * src/maemo/easysetup/modest-easysetup-wizard.c:
999         * src/maemo/easysetup/modest-easysetup-wizard.h:
1000         * src/maemo/modest-account-settings-dialog.c:
1001         * src/maemo/modest-account-settings-dialog.h:
1002         Reuse a member window widget for the connection-specific SMTP server accounts, 
1003         so we can tell it to create/save the accounts only if we actually save changes.
1004
1005         * src/maemo/modest-connection-specific-smtp-edit-window.h:      
1006         * src/maemo/modest-connection-specific-smtp-edit-window.c:
1007         (modest_connection_specific_smtp_edit_window_get_settings): 
1008         Return a struct instance for temporarily remembering the entered data.
1009
1010         * src/maemo/modest-connection-specific-smtp-window.h:
1011         * src/maemo/modest-connection-specific-smtp-window.c:
1012         (modest_connection_specific_smtp_window_finalize),
1013         (modest_connection_specific_smtp_window_fill_with_connections),
1014         (on_button_edit),
1015         (modest_connection_specific_smtp_window_save_server_accounts),
1016         (update_model_server_names): Do not actually save data until asked, 
1017         when the caller calls modest_connection_specific_smtp_window_save_server_accounts().
1018         
1019         (on_selection_changed),
1020         (modest_connection_specific_smtp_window_init): Disable the edit 
1021         button when nothing is selected.
1022         
1023         * src/modest-account-mgr-helpers.c:
1024         * src/modest-account-mgr-helpers.h: 
1025         Put modest_account_mgr_free_server_account_data() in the header now that I use the struct 
1026         elsewhere.
1027
1028 2007-04-19  Murray Cumming  <murrayc@murrayc.com>
1029
1030         * src/modest-account-mgr-helpers.h:
1031         * src/modest-account-mgr-helpers.c:
1032         (modest_account_mgr_get_unused_account_name),
1033         (modest_account_mgr_get_unused_account_display_name): Added these 
1034         utility functions, to avoid code duplication.
1035
1036         * src/maemo/easysetup/modest-easysetup-wizard.c:
1037         (create_page_account_details), (create_account):
1038         * src/maemo/modest-connection-specific-smtp-edit-window.c:
1039         (on_combo_security_changed),
1040         (modest_connection_specific_smtp_edit_window_init),
1041         (modest_connection_specific_smtp_edit_window_save_settings):
1042         * src/maemo/modest-connection-specific-smtp-edit-window.h:
1043         * src/maemo/modest-connection-specific-smtp-window.c:
1044         (modest_connection_specific_smtp_window_finalize),
1045         (modest_connection_specific_smtp_window_fill_with_connections),
1046         (on_button_edit), (modest_connection_specific_smtp_window_init):
1047         * src/maemo/modest-connection-specific-smtp-window.h:
1048         Implementing saving of connection-specific server accounts.
1049         
1050         But I need to refactor this so we can save the data for each 
1051         possible connection-specific account and only actually create the server accounts 
1052         when the easysetup finished, or the OK button is pressed on the account settings 
1053         dialog.
1054
1055 2007-04-18  Murray Cumming  <murrayc@murrayc.com>
1056
1057         * src/maemo/modest-connection-specific-smtp-edit-window.c:
1058         (on_combo_security_changed): 
1059         (modest_connection_specific_smtp_edit_window_init):
1060         Auto-fill the port number as in the account settings.
1061         
1062         (modest_connection_specific_smtp_edit_window_set_connection):
1063         * src/maemo/modest-connection-specific-smtp-edit-window.h:
1064         * src/maemo/modest-connection-specific-smtp-window.c:
1065         (fill_with_connections), (on_button_edit),
1066         (modest_connection_specific_smtp_window_init): 
1067         Turn the edit window into a dialog to simplify the code, and 
1068         set a WM hint as in a GtkDialog, because only a popup can be on top of 
1069         another window in Maemo, and popups usually have no WM decoration.
1070         
1071         * src/modest-defs.h:
1072         * src/modest-account-mgr-helpers.c:
1073         (modest_account_mgr_set_connection_specific_smtp),
1074         (modest_account_mgr_remove_connection_specific_smtp),
1075         (modest_account_mgr_get_connection_specific_smtp):
1076         * src/modest-account-mgr-helpers.h: Some functions to write the 
1077         connection-specific SMTP server information. Not yet used.
1078
1079         
1080         * src/widgets/modest-folder-view.c: (text_cell_data):
1081         Fix a warning about an uninitialized variable.
1082         (on_configuration_key_changed): Put an #ifdef around the use 
1083         of gtk_tree_view_column_queue_resize() because it is new in GTK+ 2.10.
1084
1085 2007-04-18  Murray Cumming  <murrayc@murrayc.com>
1086
1087         * src/maemo/modest-account-settings-dialog.h:
1088         * src/maemo/modest-account-settings-dialog.c:
1089         Added connect_for_modified() utility function to mark the new modified boolean.
1090         
1091         (create_page_account_details), (create_page_user_details),
1092         (create_page_incoming), (create_page_outgoing), (on_response),
1093         (modest_account_settings_dialog_init),
1094         (modest_account_settings_dialog_set_account_name):
1095         Only warn about unsaved changes when there are actually unsaved changes.
1096         
1097         * src/modest-account-mgr-helpers.c:
1098         * src/modest-account-mgr-helpers.h: Put the port, secure-auth, and security information 
1099         into the ModestServerAccountData struct. I do not use it yet, but someone might expect 
1100         to get the data from there in future.
1101
1102 2007-04-18  Murray Cumming  <murrayc@murrayc.com>
1103
1104         * src/modest-defs.h:
1105
1106         * src/modest-account-mgr-helpers.h:
1107         * src/modest-account-mgr-helpers.c:
1108         Store the security account setting in a single conf key instead of using 
1109         the options list, so that the list is left for just the to-be-removed camel hack, 
1110         and because gconf_client_set_list() is failing for some reason.
1111
1112         * src/modest-account-mgr.c:
1113         (modest_account_mgr_add_server_account):
1114         * src/maemo/modest-account-settings-dialog.c:
1115         (modest_account_settings_dialog_set_account_name),
1116         (save_configuration): Use the renamed functions.
1117
1118
1119 2007-04-18  Murray Cumming  <murrayc@murrayc.com>
1120
1121         * src/widgets/Makefile.am:
1122         * src/widgets/modest-limit-retrieve-combo-box.c:
1123         * src/widgets/modest-limit-retrieve-combo-box.h:
1124         * src/widgets/modest-retrieve-combo-box.c:
1125         * src/widgets/modest-retrieve-combo-box.h: Added new widgets for use in 
1126         the account settings dialog.
1127         
1128         * src/modest-defs.h:
1129         * src/modest-account-mgr-helpers.h:
1130         * src/modest-account-mgr-helpers.c:
1131         (modest_server_account_get_option_secure_auth),
1132         (modest_server_account_set_option_secure_auth):
1133         * src/modest-account-mgr.c:
1134         (modest_account_mgr_add_server_account):
1135         Use the existing AUTH_MECH conf key for the secure-auth setting, 
1136         instead of putting it in the list options, because this was actually used already.
1137         
1138         * src/maemo/modest-account-settings-dialog.c:
1139         (create_page_account_details),
1140         (modest_account_settings_dialog_set_account_name),
1141         (save_configuration):
1142         * src/maemo/modest-account-settings-dialog.h:
1143         Add the retrieve and retrieve-limit combo boxes, as per the UI spec.
1144         Hide the leave-messages checkbox for non-POP accounts, as per the UI spec.
1145
1146 2007-04-18  Murray Cumming  <murrayc@murrayc.com>
1147
1148         * src/maemo/easysetup/modest-easysetup-serversecurity-combo-box.h:
1149         * src/maemo/easysetup/modest-easysetup-serversecurity-combo-box.c:
1150         Added easysetup_serversecurity_combo_box_get_active_serversecurity_port()
1151
1152         * src/modest-defs.h:
1153         * src/maemo/modest-account-settings-dialog.c:
1154         (create_page_incoming), (on_combo_outgoing_security_changed),
1155         (on_combo_incoming_security_changed), (create_page_outgoing),
1156         (modest_account_settings_dialog_set_account_name),
1157         (save_configuration): Load/Save the port number, and change it when the 
1158         security combo changes, to suitable defaults.
1159
1160 2007-04-17  Murray Cumming  <murrayc@murrayc.com>
1161
1162         * src/modest-account-mgr.c:
1163         (modest_account_mgr_add_server_account): Set the security and secure-auth 
1164         options, and add a comment saying that the other camel-specific options should be 
1165         removed in future.
1166
1167 2007-04-17  Murray Cumming  <murrayc@murrayc.com>
1168
1169         * src/maemo/modest-account-settings-dialog.c: (check_data): Always return something, 
1170         found by valgrind.
1171         * src/modest-tny-account-store.c: (account_list_free),
1172         (on_account_changed): Add a TODO comment about a valgrind error, caused by using 
1173         cursor->data after unreffing it. But there is some strange stuff there so it might not be 
1174         easy to fix.
1175
1176 2007-04-17  Murray Cumming  <murrayc@murrayc.com>
1177
1178         * src/modest-protocol-info.c:
1179         * src/modest-protocol-info.h: Added a MODEST_PROTOCOL_AUTH_CRAMMD5 enum value, because it 
1180         is required by our UI spec. Maybe something in our implementation will use this eventually.
1181         * src/maemo/easysetup/modest-easysetup-secureauth-combo-box.c: 
1182         (easysetup_secureauth_combo_box_fill): Use the CRAM MD5 enum value 
1183         instead of the previous 0 placeholder.
1184         
1185         * src/modest-defs.h: Added gconf list pair key names and value strings for the security and 
1186         secure-auth settings.
1187         * src/modest-account-mgr-helpers.h:
1188         * src/modest-account-mgr-helpers.c:
1189         (modest_server_account_data_get_option_secure_auth),
1190         (modest_server_account_set_option_secure_auth),
1191         (modest_server_account_data_get_option_security),
1192         (modest_server_account_set_option_security): Added this API for getting and setting the security 
1193         and secure-auth settings.
1194         
1195         * src/maemo/modest-account-settings-dialog.h:
1196         * src/maemo/modest-account-settings-dialog.c:
1197         (modest_account_settings_dialog_finalize), (check_data),
1198         (on_response): Store the original title as well as the name, to avoid unnececessary warnings 
1199         about changing titles.
1200         (modest_account_settings_dialog_set_account_name): Load the security and secure-auth settings.
1201         (save_configuration): Save the security and secure-auth settings.
1202
1203         * src/modest-conf.c: (modest_conf_set_list): Get the list after setting it, to show that this 
1204         is failing sometimes (though reporting success). I fear I may need to debug gconf to fix this.
1205
1206 2007-04-17  Murray Cumming  <murrayc@murrayc.com>
1207
1208         * src/modest-defs.h: 
1209         * src/modest-account-mgr.c:
1210         (modest_account_mgr_add_server_account):
1211         Added and used defines for the options key and value pair strings, 
1212         that are used so far, though they do not seem to correspond to anything in our 
1213         UI specs or ModestProtocol enum.
1214         
1215         * src/modest-account-mgr-helpers.h:
1216         * src/modest-account-mgr-helpers.c:
1217         (compare_option_strings_for_name),
1218         (modest_server_account_data_get_option_value),
1219         (modest_server_account_data_get_option_bool),
1220         (modest_account_mgr_get_server_account_option):
1221         Added helper functions for parsing the options GSList.
1222
1223 2007-04-16  Murray Cumming  <murrayc@murrayc.com>
1224
1225         * src/modest-account-mgr-helpers.c: Clarified the documentation to say that the initial 
1226         display name is based on the supplied account name.
1227         * src/modest-account-mgr.c:
1228         * src/modest-account-mgr.h: Added modest_account_mgr_account_with_display_name_exists(), 
1229         with an inefficient, but good-enough, implementation.
1230         
1231         * src/maemo/easysetup/modest-easysetup-wizard.c:
1232         (create_page_account_details), (on_before_next), (create_account): 
1233         Check for existing display names rather than (non-user-visible) account names, and just 
1234         create and set a unique account name at the end.
1235         
1236         * src/maemo/modest-account-settings-dialog.c:
1237         (modest_account_settings_dialog_init),
1238         (modest_account_settings_dialog_set_account_name),
1239         (create_page_incoming): Show the display name, instead of the account name.
1240         (on_response): Do some (not all) extra checks, as in the UI spec.
1241         (save_configuration): Save the display name if it was changed.
1242
1243 2007-04-16  Murray Cumming  <murrayc@murrayc.com>
1244
1245         * po/en_GB.po: Added needed logical ID and translation.
1246         * src/widgets/modest-account-view.c: (on_account_default_toggled),
1247         (init_view): Made the is-default column clicking work.
1248
1249 2007-04-16  Murray Cumming  <murrayc@murrayc.com>
1250
1251         * configure.ac:
1252         * src/maemo/easysetup/Makefile.am:
1253         * src/maemo/easysetup/modest-easysetup-wizard.c:
1254         (modest_easysetup_wizard_dialog_init):
1255         * src/maemo/easysetup/provider-data-test.keyfile:
1256         * src/maemo/easysetup/provider-data.keyfile: 
1257         Moved the provider data file to the new modest-providers-data package and used it from there.
1258
1259 2007-04-16  Murray Cumming  <murrayc@murrayc.com>
1260
1261         * src/modest-local-folder-info.c:
1262         (modest_local_folder_info_get_type_display_name): Use _() to actually get the translated string. 
1263         N_() was already used on the static strings, but this just marks it for translation without 
1264         using the translation.
1265
1266 2007-04-06  Murray Cumming  <murrayc@murrayc.com>
1267
1268         * src/maemo/modest-account-settings-dialog.c:
1269         (create_page_incoming),
1270         (modest_account_settings_dialog_set_account_name): 
1271         Added comments about the need for new API in ModestAccountMgr to handle the authentication 
1272         and secure-connection stuff that is stored in the options GSList* with hard-coded names.
1273         I will do this if nobody else gets there first.
1274
1275 2007-04-06  Murray Cumming  <murrayc@murrayc.com>
1276
1277         * src/maemo/modest-account-settings-dialog.c: (save_configuration): 
1278         Saved much of the incoming and outgoing data too, though I cannot yet see how to 
1279         save the security stuff.
1280
1281 2007-04-06  Murray Cumming  <murrayc@murrayc.com>
1282
1283         * src/maemo/easysetup/modest-easysetup-wizard.c: (create_account): 
1284         Set the email address and user fullname, which I now see must be 
1285         done separately.
1286         
1287         * src/maemo/modest-account-settings-dialog.h:
1288         * src/maemo/modest-account-settings-dialog.c:
1289          (on_response),
1290         (modest_account_settings_dialog_set_account_name): Show the email address, fullname, 
1291         leave-on-server and authentication.
1292         (save_configuration): Save most of the non-server-account specific stuff, but I don't see 
1293         how to do the rest.
1294
1295 2007-04-06  Murray Cumming  <murrayc@murrayc.com>
1296
1297
1298         * src/maemo/modest-account-settings-dialog.c:
1299         * src/maemo/modest-account-settings-dialog.h:
1300         Most (but not all) of the widgets are now present as specified by the UI spec.
1301         No changes are yet saved, and some details are not properly shown yet.
1302         
1303         * po/en_GB.po: Added translations for logical IDs used by the Account Settings dialog.
1304
1305 2007-04-06  Murray Cumming  <murrayc@murrayc.com>
1306
1307         * src/maemo/Makefile.am:
1308         * src/maemo/modest-account-settings-dialog.c:
1309         * src/maemo/modest-account-settings-dialog.h: The beginnings of the dialog to edit 
1310         an existing account. Doesn't do much yet.
1311         
1312         * src/maemo/modest-account-view-window.c: (on_edit_button_clicked): 
1313         Open the accounts settings dialog when Edit is clicked.
1314
1315 2007-04-05  Murray Cumming  <murrayc@murrayc.com>
1316
1317         * src/maemo/easysetup/Makefile.am:
1318         * src/maemo/easysetup/modest-easysetup-country-combo-box.c:
1319         (load_from_file): 
1320         * src/maemo/easysetup/modest-easysetup-wizard.c:
1321         (modest_easysetup_wizard_dialog_init):
1322         Try to get the source directory from the build system,
1323         instead of hard-coding "./" into the source code, when opening our local 
1324         copies of the configuration files.
1325         But this still fails when opening the wizard from the Accounts window, 
1326         maybe because the working directory seems to change at runtime.
1327         So the wizard will fail the second time unless you copy the files into their 
1328         proper locations - see the stdout warnings for the paths.
1329         
1330         (create_page_account_details),(on_before_next): 
1331         Check for existing non-server accounts instead of server accounts, 
1332         so the default account name is useful again, and to prevent trying to 
1333         recreate accounts.
1334         
1335         * src/maemo/modest-account-view-window.c: (on_new_button_clicked): 
1336         Show the wizard when New is clicked.
1337         
1338         * src/widgets/modest-account-view.c: (on_account_default_toggled),
1339         (init_view): Show the column headers, and show the columns that are 
1340         specified in the UI specs. However, something in Maemo's GTK+ prevents 
1341         us from handling the GtkCellRendererToggle::toggled signal, so we cannot 
1342         change the default account. This is despite unsetting the special properties.
1343
1344 2007-04-05  Murray Cumming  <murrayc@murrayc.com>
1345
1346         * docs/reference/modest-design.sgml: Corrected spelling mistake.
1347         * src/maemo/easysetup/modest-easysetup-wizard.c: (create_account): 
1348         Create the 2 server accounts and then create the account, using the names of the 2 server accounts.
1349         This seems to be how this should be used. If it is, then I will update the AccountMgr documentation 
1350         to make that clearer.
1351         * src/modest-account-mgr.h: Corrected the modest_account_mgr_search_server_account() documentation.
1352
1353 2007-04-05  Murray Cumming  <murrayc@murrayc.com>
1354
1355         * src/maemo/modest-account-view-window.c:
1356         (modest_account_view_window_init),
1357         (modest_account_view_window_new):
1358         Use the same buttons as specified in the 
1359         UI spec. Add the widgets to the vbox and action_area instead of just assigning them to 
1360         the existing widgets, which never had a chance of working.
1361         Put the ModestAccountView treeview in a scrolled window.
1362         Do not repeat the initialization in both _init() and _new().
1363         
1364         * src/widgets/modest-account-view.c: (update_account_view):
1365         Add a warning about modest_account_mgr_account_names() returning NULL, which is why 
1366         this widget and window shows no accounts.
1367         
1368         * po/en_GB.po: Added translations needed for the dialog button logical IDs.
1369         
1370 2007-04-05  Murray Cumming  <murrayc@murrayc.com>
1371
1372         * src/maemo/easysetup/modest-easysetup-wizard.c:
1373         (set_default_custom_servernames): Avoid a dereference of a destroyed widget.
1374         (create_account): Do a sanity check, showing that modest_account_mgr_account_names() 
1375         returns NULL after modest_account_mgr_add_server_account() returned TRUE, 
1376         which seems wrong.
1377         
1378         * src/maemo/modest-main-window-ui.h: Specify the callback for the Accounts menu item.
1379         * src/modest-ui-actions.c: (modest_ui_actions_on_accounts): Open the wizard if no 
1380         accounts exist yet, as in the UI spec.
1381         
1382         * src/modest-account-mgr.h: Add TODO comment about a possible memory leak.
1383
1384 2007-04-05  Murray Cumming  <murrayc@murrayc.com>
1385
1386         * src/maemo/Makefile.am:
1387         * src/maemo/modest-connection-specific-smtp-edit-window.c:
1388         * src/maemo/modest-connection-specific-smtp-edit-window.h: 
1389         New window for editing connection-specific smtp details.
1390         Not fully implemented.
1391
1392         * src/maemo/modest-connection-specific-smtp-window.c:
1393         (modest_connection_specific_smtp_window_finalize) :
1394         unref the tree model.
1395         (on_button_edit): Show the edit window.
1396
1397 2007-04-05  Murray Cumming  <murrayc@murrayc.com>
1398
1399         * src/Makefile.am: Change sequence of sub-libraries, which fixed an undefined symbol 
1400         error for me.
1401         
1402         * src/maemo/Makefile.am:
1403         * src/maemo/modest-connection-specific-smtp-window.c:
1404         * src/maemo/modest-connection-specific-smtp-window.h:
1405         New window for showing the list of connections, for connection-specific 
1406         SMTP servers. Not fully implemented, because it needs an enhancement to TnyMaemoDevice.
1407         * src/maemo/easysetup/modest-easysetup-wizard.c:
1408         (create_page_custom_outgoing): Show the new window when the button is clicked.
1409
1410 2007-04-04  Murray Cumming  <murrayc@murrayc.com>
1411
1412         * src/maemo/easysetup/modest-easysetup-wizard.c: (create_account):
1413         * src/maemo/easysetup/modest-presets.c: (modest_presets_new):
1414         * src/maemo/modest-msg-edit-window.c:
1415         (modest_msg_edit_window_insert_image):
1416         * src/modest-conf.c: (modest_conf_key_escape):
1417         * src/modest-mail-operation.c:
1418         (modest_mail_operation_send_new_mail):
1419         * src/modest-ui-actions.c: (modest_ui_actions_on_accounts),
1420         (modest_ui_actions_on_new_account):
1421         * src/widgets/modest-attachment-view.c: (update_filename_request):
1422         * src/widgets/modest-mail-header-view.c: 
1423         Corrected warnings that were breaking the build, by commenting out unused variables, 
1424         and a function, and by including a header.
1425
1426 2007-04-04  Murray Cumming  <murrayc@murrayc.com>
1427
1428         * configure.ac: Define MODEST_PLATFORM_MAEMO and MODEST_PLATFORM_GNOME in config.h, 
1429         so we can #ifdef around platform-specific code when necessary.
1430         * src/modest-ui-actions.c: (modest_ui_actions_on_new_account): Use MODEST_PLATFORM_MAEMO 
1431         to allow this to build for the GNOME platform too.
1432
1433 2007-04-04  Murray Cumming  <murrayc@murrayc.com>
1434
1435         * src/maemo/easysetup/modest-easysetup-wizard.c:
1436         Added util_increment_name() and used it in create_page_account_details() 
1437         to make sure that the default account name is always a new name.
1438         
1439         (modest_easysetup_wizard_dialog_init), 
1440         (set_default_custom_servernames): Some minor memory management fixes.
1441
1442 2007-04-04  Murray Cumming  <murrayc@murrayc.com>
1443
1444         * Makefile.am:
1445         * configure.ac:
1446         * src/modest-runtime.c: (init_i18n): Restored the translation 
1447         infrastructure, so that GETTEXT_PACKAGE and MODEST_LOCALE_DIR 
1448         are defined in config.h, and the translations are installed.
1449         
1450         * src/maemo/easysetup/: Include config.h so that GETTEXT_PACKAGE 
1451         is defined for translation.
1452
1453 2007-04-03  Murray Cumming  <murrayc@murrayc.com>
1454
1455         * src/maemo/easysetup/modest-easysetup-country-combo-box.c:
1456         (load_from_file):
1457         * src/maemo/easysetup/modest-easysetup-wizard.c:
1458         (modest_easysetup_wizard_dialog_init):
1459         * src/maemo/easysetup/modest-presets.c: (modest_presets_new): 
1460         Use realistic paths (though they should use $prefix generically) to the 
1461         mcc_mapping and provider-data.keyfile files which might work when they 
1462         are installed by the future version of the operator-wizard package, 
1463         and then fallback to paths in our source code, with an explanatory 
1464         warning.
1465
1466 2007-04-03  Murray Cumming  <murrayc@murrayc.com>
1467
1468         * configure.ac:
1469         * src/Makefile.am:
1470         * src/maemo/Makefile.am:
1471         * src/maemo/easysetup/: Added files from the previously-exernal 
1472         osso-modest-easysetup.
1473         * src/maemo/modest-main-window-ui.h:
1474         * src/modest-ui-actions.c: 
1475         * src/modest-ui-actions.h:
1476         Added modest_ui_actions_on_new_account() as a signal handler for the 
1477         New Account menu item. It shows the easysetup wizard.
1478         * po/en_GB.po: Added additional needed logical IDs and translations.
1479         
1480 Started ChangeLog2 file, because I cannot work without a ChangeLog. murrayc.
1481 Apparently ChangeLog is not used for some vague Nokia legal reasons.
1482