2016-11-23  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Correct alignment of recipient labels.

	* src/sendmsg-window.h: remove redundant GtkSizeGroup;
	* src/sendmsg-window.c (create_email_or_string_entry),
	(create_info_pane), (sw_attachment_list): do not use it.

2016-11-23  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* libbalsa/misc.c (libbalsa_font_string_to_css): make new CSS
	parsing conditional on gtk version 3.22.

2016-11-22  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Adapt to new recipient strings

	* src/sendmsg-window.c (update_bsmsg_identity),
	(setup_headers_from_message), (setup_headers_from_identity),
	(set_cc_from_all_recipients), (sendmsg_window_set_field),
	(bsmsg2message), (check_suggest_encryption):

2016-11-21  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Save the correct window geometry

	* libbalsa/source-viewer.c (lsv_size_allocate_cb): save the window
	  geometry from gtk_window_get_size instead of the GtkAllocation.
	* src/balsa-mblist.c (bmbl_mru_size_allocate_cb): ditto.
	* src/message-window.c (size_alloc_cb): ditto.
	* src/sendmsg-window.c (sw_size_alloc_cb): ditto.
	* src/main-window.c (bw_window_state_event_cb): simplify the
	  code.

2016-11-20  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Disable accelerated compositing in webkit2, to avoid some gdk
	warnings; see thread at
	https://lists.webkit.org/pipermail/webkit-gtk/2016-November/002863.html

	* src/main.c (main): set WEBKIT_DISABLE_COMPOSITING_MODE
	environment variable.

2016-11-20  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Save the main window state more carefully

	* src/main-window.c (bw_window_state_event_cb): note when the
	main window is either maximized or fullscreen, and save the
	information as TRUE or FALSE.

2016-11-20  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Save the correct window geometry

	* src/main-window.c (bw_size_allocate_cb): save the window
	geometry from gtk_window_get_size instead of the GtkAllocation.

2016-11-19  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* libbalsa/misc.c: document libbalsa_font_string_to_css.

2016-11-19  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Silence some whining about "Using Pango syntax for the font:
	style property is deprecated; please use CSS syntax".

	* libbalsa/misc.c (libbalsa_font_string_to_css): new function.
	* libbalsa/misc.h: export it.
	* libbalsa/source-viewer.c (libbalsa_show_message_source): use
	it.
	* src/balsa-mime-widget-message.c (add_header_gchar): ditto.
	* src/balsa-mime-widget-text.c (bm_modify_font_from_string):
	ditto.
	* src/sendmsg-window.c (create_email_or_string_entry),
	(create_text_area): ditto.

2016-11-15  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Use Unicode characters for double quotation marks and ellipses.

	* libbalsa/address-book-gpe.c (libbalsa_address_book_gpe_open_db),
	(libbalsa_address_book_gpe_load):
	* libbalsa/address-book-ldap.c (libbalsa_address_book_ldap_load),
	(libbalsa_address_book_ldap_add_address),
	(libbalsa_address_book_ldap_remove_address),
	(libbalsa_address_book_ldap_modify_address):
	* libbalsa/address-book-text.c (lbab_text_open_temp),
	(lbab_text_close_temp),
	(libbalsa_address_book_text_modify_address):
	* libbalsa/application-helpers.c (libbalsa_window_add_accelerator):
	* libbalsa/files.c (balsa_file_finder):
	* libbalsa/html.c (lbh_navigation_policy_decision_requested_cb):
	* libbalsa/libbalsa-conf.c (lbc_readfile), (lbc_init), (lbc_sync):
	* libbalsa/libbalsa-gpgme-cb.c (lb_gpgme_accept_low_trust_key):
	* libbalsa/libbalsa-gpgme.c (get_key_from_name):
	* libbalsa/mailbox.c (get_from_field),
	(libbalsa_mailbox_new_from_config), (mbox_model_get_value):
	* libbalsa/mailbox_imap.c (libbalsa_mailbox_imap_load_config),
	(imap_cache_manager_new_from_file):
	* libbalsa/mailbox_local.c (lbm_local_save_tree),
	(lbml_subject_gather), (lbm_local_sync_real):
	* libbalsa/mailbox_maildir.c (lbm_maildir_parse),
	(maildir_sync_add):
	* libbalsa/mailbox_mbox.c (lbm_mbox_check_files),
	(lbm_mbox_stream_seek_to_message), (lbm_mbox_save),
	(libbalsa_mailbox_mbox_sync):
	* libbalsa/mailbox_mh.c (libbalsa_mailbox_mh_sync):
	* libbalsa/message.c (lbmsg_set_header):
	* libbalsa/misc.c (libbalsa_lock_file):
	* libbalsa/send.c (ensure_send_progress_dialog):
	* libbalsa/source-viewer.c (lsv_show_message):
	* libinit_balsa/assistant_helper.c
	(balsa_init_create_to_directory):
	* libinit_balsa/assistant_page_directory.c (unconditional_mailbox),
	(verify_mailbox_entry):
	* src/balsa-app.c (check_new_messages_auto_cb),
	(open_mailbox_by_url):
	* src/balsa-index.c (bndx_popup_menu_create),
	(balsa_index_transfer), (pipe_out_watch):
	* src/balsa-mblist.c (bmbl_mru_menu), (bmbl_mru_combo_box_setup):
	* src/balsa-message.c (tree_mult_selection_popup),
	(balsa_message_set), (mpart_content_name), (display_part),
	(part_create_menu), (create_mdn_reply), (libbalsa_msg_try_decrypt),
	(libbalsa_msg_try_mp_signed), (libbalsa_msg_part_2440):
	* src/balsa-mime-widget-message.c (bm_header_extend_popup):
	* src/balsa-mime-widget-text.c (text_view_url_popup),
	(text_view_populate_popup), (handle_url),
	(bmwt_populate_popup_menu), (check_text_encoding):
	* src/balsa-mime-widget-vcalendar.c
	(balsa_mime_widget_new_vcalendar):
	* src/filter-edit-callbacks.c (fe_apply_pressed):
	* src/filter-edit-dialog.c (build_action_page),
	(filters_edit_dialog):
	* src/filter-run-callbacks.c (fr_apply_selected_pressed),
	(fr_apply_now_pressed), (fr_add_pressed_func):
	* src/folder-conf.c (folder_conf_imap_sub_node),
	(folder_conf_delete):
	* src/mailbox-conf.c (mailbox_conf_delete):
	* src/mailbox-node.c (check_local_path), (imap_dir_cb),
	(bmbn_scan_children_idle), (balsa_mailbox_node_get_context_menu),
	(add_local_mailbox), (handle_imap_path), (check_imap_path),
	(mark_imap_path):
	* src/main-window.c (bw_get_action), (quit_activated),
	(header_change_state), (threading_change_state),
	(ensure_check_mail_dialog):
	* src/main.c (check_special_mailboxes), (periodic_expunge_cb):
	* src/message-window.c (mw_set_enabled), (mw_set_active),
	(mw_header_change_state):
	* src/pref-manager.c (broken_8bit_codeset_group), (mdn_group),
	(deleting_messages_group), (server_add_menu_widget):
	* src/save-restore.c (config_global_load), (config_defclient_save):
	* src/sendmsg-window.c (sw_set_charset), (add_attachment),
	(add_urlref_attachment), (tree_add_quote_body), (scan_bodies),
	(append_parts), (sendmsg_window_set_field),
	(sw_gpg_mode_change_state):
	* src/spell-check.c (check_word):
	* src/store-address.c (store_address_from_entries):
	* src/toolbar-factory.c (balsa_toolbar_model_insert_icon),
	(tm_do_popup_menu):
	* src/toolbar-prefs.c (create_toolbar_page),
	(tp_page_refresh_available):

2016-11-09  Albrecht Dreß

	Support for Osmo address book

	* libbalsa/address-book-osmo.c, libbalsa/address-book-osmo.h:
	  new files; implement read-only Osmo address book core
	* libbalsa/rfc6350.c, libbalsa/rfc6350.h: new files;
	  simple RFC 6350 to LibBalsaAddress parser
	* README: add note about new configure item
	* configure.ac: make Osmo address book configurable (default
	  disabled)
	* libbalsa/Makefile.am: add new sources
	* libbalsa/libbalsa.c: initialise address book type
	* libbalsa/libbalsa.h: include header
	* src/address-book-config.c: implement configuration dialogue
	* src/pref-manager.c: add to pref manager

2016-10-23  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Improve pop-up menu positioning.

	* src/pref-manager.c (remote_mailbox_servers_group): use a
	common helper to connect to "clicked-up" signal;
	(address_books_group): ditto;
	(add_menu_cb): common helper;

2016-10-23  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Do not crash after cancelling the add-address-book dialog.

	* src/address-book-config.c (edit_book_response): do not free
	the AddressBookConfig;
	(add_vcard_cb),
	(add_externq_cb), (add_ldif_cb), (add_ldap_cb), (add_gpe_cb),
	(add_rubrica_cb): do not remove the weak ref that frees
	the AddressBookConfig.

2016-10-23  Albrecht Dreß

Support GCR to display a certificate widget

	* configure.ac: new option --with-gcr.
	* libbalsa/libbalsa.c (ask_cert_real): use gcr certificate API
	to display the certificate.

2016-10-23  Albrecht Dreß

Disable header bars in the address book widgets if the
environment variable BALSA_DIALOG_HEADERBAR is 0.

	* src/ab-window.c (balsa_ab_window_new): respect
	BALSA_DIALOG_HEADERBAR environment variable.

2016-10-23  Peter Bloomfield  <pbloomfield@bellsouth.net>

	We no longer use libiconv.

	* configure.ac: remove --with-iconv option.
	* libbalsa/address-book-ldap.c: do not include iconv.h.
	* src/balsa-message.c: ditto.

2016-10-21  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Fix deprecation issues in gtk 3.22

	Replace gtk_window_set_wmclass, which is deprecated in gtk 3.22,
	with gtk_window_set_role.

	* libbalsa/libbalsa.c (ask_cert_real), (ask_timeout_real):
	* libbalsa/send.c (ensure_send_progress_dialog):
	* libbalsa/source-viewer.c (libbalsa_show_message_source):
	* src/ab-window.c (balsa_ab_window_init):
	* src/filter-edit-dialog.c (filters_edit_dialog):
	* src/filter-export-dialog.c (filters_export_dialog):
	* src/filter-run-dialog.c (balsa_filter_run_dialog_new):
	* src/folder-conf.c (folder_conf_imap_node),
	(folder_conf_imap_sub_node):
	* src/information-dialog.c (balsa_information_list):
	* src/main-window.c (ensure_check_mail_dialog),
	(bw_display_new_mail_notification):
	* src/message-window.c (message_window_new):
	* src/sendmsg-window.c (sendmsg_window_new):
	* src/toolbar-prefs.c (customize_dialog_cb):

2016-10-21  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Fix deprecation issues in gtk 3.22

	The Gtk+ API for popping up context menus has changed in 3.22;
	gtk_menu_popup is deprecated.

	* src/balsa-index.c (bndx_do_popup):
	* src/balsa-mblist.c (bmbl_do_popup):
	* src/balsa-message.c (balsa_headers_attachments_popup),
	(tree_mult_selection_popup), (tree_button_press_cb):
	* src/balsa-mime-widget-image.c (balsa_image_button_press_cb):
	* src/balsa-mime-widget-text.c (balsa_gtk_html_popup):
	* src/pref-manager.c (address_book_add_cb), (server_add_cb):
	* src/sendmsg-window.c (attachment_button_press_cb),
	(attachment_popup_cb):
	* src/toolbar-factory.c (tm_do_popup_menu):

2016-10-18  Albrecht Dreß

	Usually, RFC 3156 (PGP/MIME) signature parts
	(application/pgp-signature, see RFC 3156, sect. 9.2.) should
	never be encoded as they are 7-bit clean.  However, there are
	implementations which apply an (superfluous) encoding to such
	parts, which Balsa fails to interpret properly.  The attached
	patch fixes this behaviour, and as a side effect plugs a gmime
	stream leak when checking a S/MIME signature which is always
	encoded.

	* libbalsa/gmime-multipart-crypt.c (g_mime_gpgme_mps_verify):
	always decrypt the signature; do not leak sigstream.

2016-10-03  Albrecht Dreß

	Implement the 'AUTH PLAIN' SASL mechanism for POP3
	according to RFC 5043 and RFC 4616

	* libbalsa/imap/pop3.c (pop_get_capa), (pop_auth_sasl_plain):
	  implement the 'AUTH PLAIN' SASL mechanism for POP3.

2016-10-03  Albrecht Dreß

	Deprecation cleanups

	* AUTHORS:
	* README:
	* configure.ac:
	* libbalsa/imap/imap_tst.c (main):
	* src/balsa-message.c (balsa_message_get_type),
	(balsa_message_init), (balsa_message_new), (tree_activate_row_cb),
	(balsa_message_set), (atattchments_menu_cb),
	(toggle_all_inline_cb), (message_recheck_crypto_cb):
	* src/balsa-message.h:
	* src/toolbar-prefs.c (create_toolbar_page):

2016-09-06  Albrecht Dreß

	* configure.ac: make the help string match the actual default,
	webkit2.

2016-09-05  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Respond to
	<URL:https://bugzilla.gnome.org/show_bug.cgi?id=770500>
	by making webkit2 the default instead of webkit, and warning if
	Balsa is configured for webkit.

	* configure.ac: make webkit2 the default HTML widget, and warn
	  if Balsa is configured for webkit.

2016-08-29  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Plug memory leak.

	* src/main-window.c (bw_create_index_widget): do not leak
	focus-chain GList.

2016-08-21  Albrecht Dreß

	Always use multithreading, and use only the glib abstraction
	instead of "native" pthreads.

	* configure.ac: remove --enable-threads configure option and its
	consequences.
	* libbalsa/filter-file.c: remove reference to BALSA_USE_THREADS.
	* libbalsa/gmime-gpgme-signature.c
	(g_mime_gpgme_sigstat_new_from_gpgme_ctx):
	* libbalsa/imap-server.c (libbalsa_imap_server_set_username),
	(libbalsa_imap_server_set_host), (libbalsa_imap_server_init),
	(libbalsa_imap_server_finalize), (lb_imap_server_cleanup),
	(connection_cleanup), (get_or_create),
	(libbalsa_imap_server_get_handle),
	(libbalsa_imap_server_get_handle_with_user),
	(libbalsa_imap_server_release_handle),
	(libbalsa_imap_server_force_disconnect),
	(libbalsa_imap_server_close_all_connections),
	(libbalsa_imap_server_has_free_handles):
	* libbalsa/imap/imap-commands.c (imap_mbox_handle_noop),
	(imap_mbox_select), (imap_mbox_examine), (imap_mbox_create),
	(imap_mbox_delete), (imap_mbox_rename), (imap_mbox_subscribe),
	(imap_mbox_list), (imap_mbox_lsub), (imap_mbox_status),
	(imap_mbox_append_multi), (imap_mbox_close), (imap_mbox_expunge),
	(imap_mbox_expunge_a), (imap_mbox_find_all),
	(imap_mbox_find_unseen), (imap_mbox_handle_msgno_has_flags),
	(imap_mbox_handle_fetch_range), (imap_mbox_handle_fetch_set),
	(imap_mbox_handle_fetch_rfc822),
	(imap_mbox_handle_fetch_rfc822_uid), (imap_mbox_handle_fetch_body),
	(imap_mbox_store_flag), (imap_mbox_store_flag_a),
	(imap_mbox_handle_copy), (imap_mbox_unselect), (imap_mbox_thread),
	(imap_mbox_sort_msgno), (imap_mbox_sort_filter),
	(imap_mbox_filter_msgnos), (imap_mbox_complete_msgids),
	(imap_mbox_get_quota), (imap_mbox_get_my_rights),
	(imap_mbox_get_acl):
	* libbalsa/imap/imap-handle.c (imap_mbox_handle_init),
	(async_process), (idle_start), (imap_mbox_handle_connect),
	(imap_mbox_handle_reconnect), (imap_handle_force_disconnect),
	(imap_mbox_handle_get_delim), (imap_mbox_handle_finalize):
	* libbalsa/imap/imap-tls.c (locking_function), (id_function),
	(dyn_create_function), (dyn_lock_function), (dyn_destroy_function),
	(imaptls_thread_setup), (imaptls_thread_cleanup),
	(imap_create_ssl):
	* libbalsa/imap/imap_private.h:
	* libbalsa/imap/imap_search.c (imap_search_exec):
	* libbalsa/information.h:
	* libbalsa/libbalsa-conf.c (lbc_lock), (lbc_unlock),
	(libbalsa_conf_sync), (libbalsa_conf_queue_sync):
	* libbalsa/libbalsa-gpgme-cb.c (lb_gpgme_passphrase),
	(get_passphrase_idle):
	* libbalsa/libbalsa-gpgme.c (g_set_error_from_gpgme):
	* libbalsa/libbalsa.c (libbalsa_init), (ask_idle), (libbalsa_ask),
	(libbalsa_certs_destroy), (libbalsa_is_cert_known),
	(libbalsa_am_i_subthread), (libbalsa_lock_mailbox),
	(libbalsa_unlock_mailbox):
	* libbalsa/libbalsa.h:
	* libbalsa/libbalsa_private.h:
	* libbalsa/mailbox.c (libbalsa_mailbox_class_init),
	(lbm_index_entry_populate_from_msg), (lbm_index_entry_new_pending),
	(lbm_index_entry_free), (libbalsa_mailbox_finalize),
	(libbalsa_mailbox_check), (libbalsa_mailbox_real_lock_store),
	(lbm_msgno_changed_expunged_cb), (lbm_msgnos_changed_idle_cb),
	(lbm_msgno_changed), (lbm_msgno_filt_check_idle_cb),
	(libbalsa_mailbox_msgno_filt_check), (lbm_cache_message),
	(libbalsa_mailbox_get_message),
	(libbalsa_mailbox_messages_change_flags),
	(lbm_set_threading_idle_cb), (lbm_set_threading),
	(lbm_get_index_entry_expunged_cb), (lbm_get_index_entry_real),
	(lbm_get_index_entry), (lbm_check_idle),
	(libbalsa_mailbox_unlock_store):
	* libbalsa/mailbox.h:
	* libbalsa/mailbox_imap.c:
	* libbalsa/mailbox_local.c (lbm_local_save_tree_idle),
	(message_match_real), (lbml_set_threading_idle_cb),
	(libbalsa_mailbox_local_set_threading):
	* libbalsa/mailbox_mbox.c (libbalsa_mailbox_mbox_class_init),
	(libbalsa_mailbox_mbox_lock_store):
	* libbalsa/mime-stream-shared.c
	(libbalsa_mime_stream_shared_unlock):
	* libbalsa/mime-stream-shared.h:
	* libbalsa/missing_time.c (ctime_r):
	* libbalsa/rfc3156.c (libbalsa_gpgme_sig_stat_to_gchar):
	* libbalsa/send.c (lbs_process_queue), (handle_successful_send),
	(libbalsa_smtp_event_cb), (libbalsa_process_queue),
	(balsa_send_message_real):
	* libbalsa/send.h:
	* src/ab-main.c:
	* src/balsa-app.c (ask_passwd_idle), (ask_password_mt),
	(ask_password):
	* src/filter-edit-callbacks.c:
	* src/information-dialog.h:
	* src/main-window.c (bw_delete_cb), (balsa_window_new),
	(bw_real_open_mbnode_thread), (balsa_window_real_open_mbnode),
	(bw_register_open_mailbox), (bw_unregister_open_mailbox),
	(bw_is_open_mailbox), (check_new_messages_real),
	(bw_check_messages_thread):
	* src/main.c (threads_init), (threads_destroy), (real_main),
	(balsa_cleanup):
	* src/save-restore.c (pop3_progress_notify):
	* src/sendmsg-window.c (balsa_sendmsg_destroy_handler):
	* src/threads.h: ditto.

2016-07-28  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Implement a GtkComboBox for selecting a LibBalsaIdentity, and
	use it for the mailbox properties dialog and as the From address
	in the compose window.

	* libbalsa/identity.c (libbalsa_identity_combo_box): implement
	  the widget;
	* libbalsa/identity.h: export it;
	* src/mailbox-conf.c (check_for_blank_fields): allow NULL
	  argument;
	  (mailbox_conf_view_new_full): use the widget;
	  (mailbox_conf_view_check): get the identity from the widget
	  instead of the list;
	* src/sendmsg-window.c (create_from_entry): use the widget.

2016-07-28  Albrecht Dreß

	Fix a bug in the configure script discovered by Jack
	<URL:https://mail.gnome.org/archives/balsa-list/2016-July/msg00039.html>

	* configure.ac: when no external html-to-text converter could
	  be found, undef HTML2TEXT instead of defining it to "".

2016-07-27  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Andreas Schmidt suggested an improvement to the list of identities
	in the mailbox properties dialog.
	<URL:https://mail.gnome.org/archives/balsa-list/2016-July/msg00034.html>

	* src/mailbox-conf.c (mailbox_conf_view_new_full): include the
	  identity name as well as the mailing address in the identities
	  combo-box.

2016-07-27  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Since porting to GtkApplication, command line options have been
	handled in a subsequent invocation of Balsa, but not in the
	startup invocation.

	* src/main.c (real_main), (parse_options), (handle_remote),
	  (command_line_cb): handle command line options at startup time.

2016-07-24  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* configure.ac: issue an error if building in a git tree with
	  deprecated GnomeKeyring.

2016-07-23  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Fix building with toolchains that predefine _FORTIFY_SOURCE

	* configure.ac: undefine _FORTIFY_SOURCE before defining it to
	have the value 2.

2016-06-30  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Use Gspell-1.2 API

	* configure.ac: check whether we can use the Gspell-1.2 API;
	* src/sendmsg-window.c (create_text_area): if so, set the
	enable-language-menu property, to allow the user to change the
	spell-checker language from the context menu as well as from
	Balsa's menubar menu.

2016-06-28  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Support Gspell as an alternative to GtkSpell

	* configure.ac: replace --with-gtkspell with
	--with-spell-checker = (no|gtkspell|gspell) and change the
	AM_CONDITIONAL BUILD_WITH_GTK_SPELL to BUILD_WITH_SPELL_CHECKER.
	* src/Makefile.am: use the new AM_CONDITIONAL.
	* src/balsa-app.c (balsa_app_init): support Gspell.
	* src/balsa-app.h: ditto.
	* src/pref-manager.c (apply_prefs), (set_prefs): ditto.
	* src/save-restore.c (config_global_load), (config_save): ditto.
	* src/sendmsg-window.c (balsa_sendmsg_destroy_handler),
	(create_text_area), (create_lang_menu), (message_postpone),
	(set_locale), (sw_spell_check_change_state), (lang_set_cb),
	(sendmsg_window_new): Gspell has a different API from GtkSpell.

2016-06-25  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Symbolic icon names like pan-down-symbolic now contain hyphens
	and can no longer use underscores.

	* src/balsa-message.c: fix symbolic icon names.

2016-06-25  Peter Bloomfield  <pbloomfield@bellsouth.net>

	As of gtksource version 2.21.?, only <gtksourceview/gtksource.h>
	can be included directly.

	* libbalsa/libbalsa.c: include only gtksource.h.
	* src/balsa-mime-widget-text.c: ditto.
	* src/spell-check.c: ditto.

2016-06-22  Albrecht Dreß

	Fix shrinking message list

	* src/main-window.c (balsa_window_new),
	(balsa_window_fix_paned): set the size of the elements of the
	main window in an idle callback instead of the window creator;
	* src/main-window.h: export the idle callback;
	* src/main.c (real_main): add the idle call.

2016-06-19  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* src/ab-main.c (libbalsa_dialog_flags): set check_done to a
	non-zero value.

2016-06-19  Albrecht Dreß

	Make Gtk3 dialog header bars configurable
	Basically, a new function libbalsa_dialog_flags() is added to
	libbalsa.c (or simply expanded to 0 for older Gtk versions than
	3.12.0).  When being called for the first time, the function
	checks if the environment variable BALSA_DIALOG_HEADERBAR exists
	and is set to 0.  Only in this case, the header bars are
	disabled.  The function call replaces the macro
	BALSA_DIALOG_FLAGS.

	* configure.ac: remove definition of BALSA_DIALOG_FLAGS.
	* libbalsa/libbalsa.c (libbalsa_dialog_flags): define it;
	  (ask_cert_real): use it.
	* libbalsa/libbalsa.h: declare it.
	* libbalsa/identity.c (libbalsa_identity_select_dialog),
	  (libbalsa_identity_config_dialog):
	* libbalsa/libbalsa-gpgme-cb.c (lb_gpgme_select_key),
	  (get_passphrase_real):
	* libbalsa/send.c (ensure_send_progress_dialog):
	* libbalsa/smtp-server.c (libbalsa_smtp_server_dialog):
	* src/ab-main.c (libbalsa_dialog_flags):
	* src/address-book-config.c (create_generic_dialog):
	* src/balsa-app.c (ask_password_real):
	* src/balsa-index.c (balsa_index_pipe):
	* src/balsa-mblist.c (bmbl_mru_show_tree):
	* src/filter-edit-callbacks.c (fe_edit_condition):
	* src/filter-edit-dialog.c (filters_edit_dialog):
	* src/filter-export-dialog.c (filters_export_dialog):
	* src/folder-conf.c (folder_conf_imap_node), (browse_button_cb),
	  (subfolder_conf_clicked_ok), (folder_conf_imap_sub_node):
	* src/information-dialog.c (balsa_information_list):
	* src/mailbox-conf.c (create_generic_dialog):
	* src/main-window.c (ensure_check_mail_dialog), (bw_find_real):
	* src/pref-manager.c (open_preferences_manager):
	* src/sendmsg-window.c (sw_get_user_codeset),
	  (quote_parts_select_dlg), (subject_not_empty):
	* src/store-address.c (store_address_dialog):
	* src/toolbar-prefs.c (customize_dialog_cb): all use it.

2016-06-18  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Fix saving address when user has only one address book
	(https://mail.gnome.org/archives/balsa-list/2016-June/msg00030.html)

	* src/store-address.c (store_address_dialog): always set current
	address book;
	(store_address_book_frame): no need to check
	balsa_app.address_book_list != NULL.

2016-06-11  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Set line-wrapping of a long label to TRUE and do not change it.

	* src/balsa-mime-widget-message.c (expanded_cb): do not change
	line-wrapping;
	(add_header_gchar): set line-wrapping to TRUE even if the label
	is to be ellipsized.

2016-06-11  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* src/balsa-mime-widget-message.c (add_header_gchar): in an
	address, replace '\r' or '\n' with a space.

2016-06-10  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* src/balsa-mime-widget-message.c (add_header_gchar): comment on
	why show-all-headers is used to set the initial state of the
	expander;
	(add_header_address_list): new parameter show_all_headers;
	(bmw_message_set_headers_d): use it.

2016-06-10  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* src/balsa-mime-widget-message.c (expanded_cb): cut redundant
	dynamic cast.

2016-06-07  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Drop the --enable-touch-ui configuration option and the
	corresponding conditionally compiled code

	* configure.ac: drop the option;
	* libbalsa/address-view.c and below: drop the code.
	* libbalsa/imap-server.c (libbalsa_imap_server_init):
	* libinit_balsa/assistant_init.c (balsa_initdruid_apply),
	(balsa_initdruid):
	* libinit_balsa/assistant_page_directory.c
	(balsa_druid_page_directory_init),
	(balsa_druid_page_directory_next):
	* libinit_balsa/assistant_page_directory.h:
	* libinit_balsa/assistant_page_user.c (balsa_druid_page_user_init),
	(balsa_druid_page_user_next):
	* libinit_balsa/assistant_page_user.h:
	* src/balsa-app.c (balsa_app_init):
	* src/balsa-app.h:
	* src/balsa-index.c (bi_apply_other_column_settings):
	* src/balsa-mblist.c (bmbl_core_mailbox):
	* src/balsa-message.c:
	* src/folder-conf.c (folder_conf_clicked_ok),
	(folder_conf_imap_node):
	* src/mailbox-conf.c (mailbox_conf_set_values),
	(update_imap_mailbox), (create_imap_mailbox_dialog):
	* src/main-window.c (bw_create_index_widget),
	(new_message_activated), (balsa_window_new),
	(bw_enable_mailbox_menus), (bw_enable_message_menus),
	(bw_enable_edit_menus), (balsa_window_enable_continue),
	(bw_set_threading_menu), (bw_select_part_cb),
	(bw_send_msg_window_destroy_cb), (update_view_menu):
	* src/main.c (periodic_expunge_cb):
	* src/message-window.c:
	* src/pref-manager.c:
	* src/save-restore.c (config_global_load), (config_save):
	* src/sendmsg-window.c (update_bsmsg_identity), (add_attachment),
	(create_info_pane), (setup_headers_from_identity),
	(sendmsg_window_set_field), (bsmsg2message),
	(sw_page_setup_activated), (check_readiness),
	(sw_reply_to_change_state), (sw_gpg_helper),
	(sw_gpg_mode_change_state), (init_menus),
	(bsmsg_update_gpg_ui_on_ident_change), (sendmsg_window_continue):
	* src/sendmsg-window.h:

2016-06-05  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Install gtksourceview helper files in the new folder.

	* configure.ac: fix BUILD_WITH_GTKSOURCEVIEW.

2016-06-05  Albrecht Dreß

	As Webkit does not have a method to convert html to text,
	we cannot quote html-only messages.
	As a workaround, try to use html2text.

	* configure.ac: detect an html-to-text-or-markdown filter;
	* libbalsa/html.c (html2text), (libbalsa_html_to_string):
	  use it.

2016-06-04  Albrecht Dreß

	Force proper icon sizes

	* libbalsa/files.c (libbalsa_icon_finder): force proper icon
	sizes (e.g. in the message structure view).

2016-06-04  Albrecht Dreß

	We always use gtksourceview-3.0

	* Makefile.am: store helper files in a properly named folder;
	* configure.ac: clean up setting the #define;
	* libbalsa/libbalsa.c (libbalsa_source_view_new): clean up, use
	  proper helper files folder;
	* src/balsa-mime-widget-text.c (create_text_widget): clean up;
	* src/sendmsg-window.c (create_text_area): ditto.

2016-06-04  Albrecht Dreß

	Delete the Gtkhtml2 code

	* libbalsa/html.c (libbalsa_html_print): delete the Gtkhtml2 code.

2016-05-31  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* configure.ac: restore AC_SUBST(GLIB_GENMARSHAL).

2016-05-31  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Build with builddir != srcdir

	* autogen.sh: chdir to srcdir to create configure, then back to
	  builddir to use it.
	* libbalsa/imap/Makefile.am: provide path to
	  libimap-marshal.list.

2016-05-31  Albrecht Dreß

	Reduce the code complexity (in particular conditional parts)
	by weeding out deprecated stuff.

	* configure.ac: apply the aforementioned simplifications
	* libbalsa/filter-funcs.c, libbalsa/filter-private.h, libbalsa/mime.c,
	  libbalsa/misc.h, src/balsa-app.c, src/balsa-app.h,
	  src/balsa-print-object-text.c, src/quote-color.c, src/quote-color.h,
	  src/sendmsg-window.c, src/spell-check.c: always use GRegex
	* libbalsa/gmime-multipart-crypt.c, libbalsa/gmime-stream-gio.c,
	  libbalsa/mailbox_mbox.c: drop conditional code for gmime < 2.6
	* libbalsa/html.h: remove hack for Gtkhtml 2
	* libbalsa/libbalsa.c, libbalsa/libbalsa.h: use GDateTime,
	  simplify API of libbalsa_date_to_utf8()
	* libbalsa/mailbox.c, libbalsa/message.h, libbalsa/rfc3156.c,
	  src/balsa-mime-widget-vcalendar.c, src/balsa-print-object-text.c:
	  use simplified libbalsa_date_to_utf8() API
	* libbalsa/missing.h, libbalsa/missing_time.c: remove localtime_r,
	  gmtime_r implementations
	* libbalsa/rfc2445.c: use ISO 8601 GTimeVal and GDateTime functions
	* libbalsa/send.c: use GTimeZone functions
	* src/filter-edit-callbacks.c: use GDateTime functions

2016-05-27  Albrecht Dreß

	Fix accessing MBox files > 2 GByte

	* libbalsa/mailbox_mbox.c (lbm_mbox_check_file),
	(lbm_mbox_newline), (lbm_mbox_add_message): use 64-bit sizes;
	* libbalsa/send.c (libbalsa_message_cb): comment about file size
	limitation.

2016-05-24  Albrecht Dreß

	Use G_{BEGIN,END}_DECLS

	* libbalsa/gmime-application-pkcs7.h:
	* libbalsa/gmime-gpgme-signature.h:
	* libbalsa/gmime-multipart-crypt.h:
	* libbalsa/gmime-part-rfc2440.h:
	* libbalsa/identity.h:
	* libbalsa/libbalsa-gpgme-cb.h:
	* libbalsa/libbalsa-gpgme.h:
	* libinit_balsa/assistant_init.h:
	* libinit_balsa/assistant_page_defclient.h:
	* libinit_balsa/assistant_page_directory.h:
	* libinit_balsa/assistant_page_finish.h:
	* libinit_balsa/assistant_page_user.h:
	* libinit_balsa/assistant_page_welcome.h:
	* src/balsa-index.h:
	* src/balsa-message.h:
	* src/balsa-mime-widget-callbacks.h:
	* src/balsa-mime-widget-crypto.h:
	* src/balsa-mime-widget-image.h:
	* src/balsa-mime-widget-message.h:
	* src/balsa-mime-widget-multipart.h:
	* src/balsa-mime-widget-text.h:
	* src/balsa-mime-widget.h:
	* src/filter-run.h:
	* src/print.h:
	* src/quote-color.h:
	* src/sendmsg-window.h:
	* src/spell-check.h:

2016-05-23  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* libbalsa/imap/imap_search.c (imap_write_key_date): drop
	redundant glib version check.

2016-05-20  Albrecht Dreß

	* src/balsa-mime-widget-crypto.c
	(balsa_mime_widget_signature_widget): pack the GtkExpander in a
	GtkBox, to work around a Gtk bug that limits the mouse-sensitive
	area of the expander when the border-width is set.

2016-05-20  Albrecht Dreß

	* libbalsa/gmime-multipart-crypt.c (g_mime_gpgme_mps_sign):
	refactor;
	(g_mime_gpgme_mpe_encrypt): ditto, removing leak.

2016-05-20  Albrecht Dreß

	* src/balsa-mime-widget-crypto.c
	(balsa_mime_widget_signature_widget): remove confusing signature
	info.

2016-05-17  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* src/balsa-mime-widget-message.c (add_header_gchar),
	(add_header_sigstate): use GtkGrid API better.

2016-05-16  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Use top line of digital signature for GtkExpander label instead
	of "Digital Signature"

	* src/balsa-mime-widget-crypto.c
	(balsa_mime_widget_signature_widget):

2016-05-16  Albrecht Dreß

	Make SSL mandatory

	* libbalsa/imap/md5-utils.c: remove.
	* libbalsa/imap/md5-utils.h: ditto.

2016-05-16  Albrecht Dreß

	With this patch, Balsa will pop up the key selection dialogue
	containing /all/ keys which may be used for encryption in this
	case.  The user can either select a key, or cancel the
	operation.  This basically is the same behaviour as of
	Thunderbird.

	* libbalsa/libbalsa-gpgme-cb.c (lb_gpgme_select_key),
	(key_selection_changed_cb), (sort_iter_cmp_fn):
	* libbalsa/libbalsa-gpgme-cb.h:
	* libbalsa/libbalsa-gpgme.c (get_key_from_name), (get_pubkey),
	(gpgme_add_signer), (gpgme_build_recipients):
	* libbalsa/libbalsa-gpgme.h:

2016-05-16  Albrecht Dreß

	* libbalsa/gmime-gpgme-signature.c
	(libbalsa_cert_subject_readable):
	This trivial patch makes sure that the GPG key or S/MIME
	certificate subject string as returned by
	libbalsa_cert_subject_readable() is utf8-clean.

2016-03-12  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* src/main-window.c (bw_display_new_mail_notification):
	  duplicate some lines of code to simplify conditional
	  compilation.

2016-03-12  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* libbalsa/imap/imap-handle.c (imap_message_new): use whitespace
	  to resolve ambiguous assignment.

2016-03-12  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* libbalsa/libbalsa-gpgme-cb.h: remove Emacs hack.

2016-03-12  Albrecht Dreß

	* Bug fixes: due to broken assignments in libbalsa_gpgme_init(),
	  the callbacks for selecting a GnuPG key from a list
	  or for accepting low-trust keys individually are never called.
	  When selecting a key, only the first subkey is checked,
	  instead of all potential ones.
	* Message improvements: When checking a GnuPG signed message
	  where the key has expired, Balsa displays a
	  "Signature could not be checked" error
	  and an informational message containg the "real" result.
	  The patch removes the (wrong) former message.
	* Code cleanups: change the return value of all crypto-related
	  functions which return an essentially bool value to gboolean
	  instead of (g)int, remove hacks for Emacs (still someone using it?)
	  in header files which confuse almost all other tools,
	  fix a few minor glitches, and remove a few unused statements.

	* libbalsa-gpgme.c: fix callback assignment bug,
	  implement new function to verify all subkeys of a key
	* rfc3156.c: remove confusing error message
	* gmime-application-pkcs7.h, gmime-application-pkcs7.c,
	  gmime-multipart-crypt.c, gmime-multipart-crypt.h,
	  gmime-part-rfc2440.c, gmime-part-rfc2440.h, libbalsa-gpgme.c,
	  libbalsa-gpgme.h: change function return types to gboolean
	* rfc3156.c: used changed api
	* gmime-gpgme-signature.h, gmime-multipart-crypt.h,
	  gmime-part-rfc2440.h, libbalsa-gpgme.h: remove Emacs hack
	* gmime-multipart-crypt.c: reorder statements to avoid duplicated ones
	  (g_mime_gpgme_mps_sign)
	* gmime-multipart-crypt.c, rfc3156.c: use error checking macro instead of cast
	* libbalsa-gpgme.c: remove assignments of variables which are never used
	* send.c, smtp-server.c, src/filter-edit-callbacks.c: remove unused statements

2016-02-23  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Build without libnotify

	* src/main-window.c (bw_is_active_notify): fix conditional code.

2016-02-15  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Gtk 3.20 deprecation cleanup

	* libbalsa/mime.c (is_in_url): gtk_text_iter_begins_tag is
	deprecated;
	* src/balsa-mime-widget-text.c (text_view_url_popup),
	(prepare_url_offsets): ditto; also gdk_display_get_device_manager
	is deprecated;
	* src/main-window.c (bw_notebook_label_new):
	gtk_button_set_focus_on_click is deprecated.

2016-02-15  Albrecht Dreß

	Build with Gtk+ < 3.12

	* configure.ac: define BALSA_DIALOG_FLAGS as either
	GTK_DIALOG_USE_HEADER_BAR or 0.
	* libbalsa/identity.c (libbalsa_identity_select_dialog),
	(libbalsa_identity_config_dialog):
	* libbalsa/libbalsa-gpgme-cb.c (lb_gpgme_select_key),
	(get_passphrase_real):
	* libbalsa/libbalsa.c (ask_cert_real):
	* libbalsa/send.c (ensure_send_progress_dialog):
	* libbalsa/smtp-server.c (libbalsa_smtp_server_dialog):
	* src/address-book-config.c (create_generic_dialog):
	* src/balsa-app.c (ask_password_real):
	* src/balsa-index.c (balsa_index_pipe):
	* src/balsa-mblist.c (bmbl_mru_show_tree):
	* src/filter-edit-callbacks.c (fe_edit_condition):
	* src/filter-edit-dialog.c (filters_edit_dialog):
	* src/filter-export-dialog.c (filters_export_dialog):
	* src/folder-conf.c (folder_conf_imap_node), (browse_button_cb),
	(subfolder_conf_clicked_ok), (folder_conf_imap_sub_node):
	* src/information-dialog.c (balsa_information_list):
	* src/mailbox-conf.c (create_generic_dialog):
	* src/main-window.c (ensure_check_mail_dialog), (bw_find_real):
	* src/pref-manager.c (open_preferences_manager):
	* src/sendmsg-window.c (sw_get_user_codeset),
	(quote_parts_select_dlg), (subject_not_empty),
	(bsmsg_check_format_compatibility):
	* src/store-address.c (store_address_dialog):
	* src/toolbar-prefs.c (customize_dialog_cb): use it.

2015-09-21  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* src/balsa-mime-widget-callbacks.c
	(balsa_mime_widget_ctx_menu_save): use only the basename of an
	attachment's filename.

2015-09-21  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* libbalsa/body.c (libbalsa_message_body_save_temporary): use
	only the basename of an attachment's filename.

2015-07-23  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Fix the image-loading option for HTML message parts

	* libbalsa/html.c (lbh_navigation_policy_decision):
	do not hide the info-bar unless we are loading an actual image;
	(lbh_resource_notify_response_cb): new function--we do not know
	what we are loading until we have an actual response;
	(lbh_resource_load_started_cb): just connect to the
	"notify::response" signal;
	(libbalsa_html_new): add debugging.

2015-06-07  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Fix bgo #750516 (pachoramos1@gmail.com)

	* balsa.desktop.in.in: use the same macro TOOLKIT_CATEGORIES as
	in balsa-mailto-handler.desktop.in.in.
	* configure.ac: actually define said macro.

2015-05-20  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Silence some autoconf and automake complaints.

	* configure.ac: silence autoconf.
	* libbalsa/imap/Makefile.am: silence automake.
	* libinit_balsa/Makefile.am: ditto.

2015-04-10  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* src/sendmsg-window.c (delete_handler),
	(bsmsg_check_format_compatibility): mark strings for
	translation.

2015-04-10  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* src/information-dialog.c (balsa_information_list): make the
	"Close" button use GTK_RESPONSE_CANCEL, to move the button
	to the left.

2015-04-01  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* src/sendmsg-window.c (quote_parts_select_dlg),
	(collect_for_quote), (quote_body): add a cancel button and
	provide a parent for the quote-parts dialog.

2015-03-30  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Clean up store-address dialog

	* src/store-address.c (store_address_book_frame): add a label to
	explain address-book combo-box;
	(store_address_note_frame): add space after header name;
	(store_address_add_address): increase notebook tab label to 15
	characters;
	(store_address_add_lbaddress): ditto.

2015-03-28  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* src/balsa-mime-widget-crypto.c
	(balsa_mime_widget_signature_widget): put digital signature info
	in a GtkExpander.

2015-03-27  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* src/balsa-message.c: do not crash when current part is changed
	while the find-bar is showing.

2015-03-26  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* src/store-address.c (store_address_dialog): grab the keyboard
	focus to the default button, "OK", instead of the address book
	combo-box.

2015-03-26  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* src/store-address.c (balsa_store_address_from_messages): clean
	up code;
	(store_address_response): drop response for "save this address
	and keep the dialog open";
	(store_address_dialog): use header bar, and change buttons to
	standard OK/Cancel;
	(store_address_book_frame): do not put a GtkFrame around the
	address-book combo-box;
	(store_address_note_frame): do not put a GtkFrame around the
	address notebook.

2015-03-25  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Do not use header bar in GtkMessageDialog, it does nothing

	* libbalsa/identity.c (delete_ident_cb):
	* libbalsa/libbalsa-gpgme-cb.c (lb_gpgme_accept_low_trust_key):
	* libbalsa/libbalsa.c (ask_timeout_real):
	* libbalsa/rfc3156.c (check_gpg_child):
	* src/ab-main.c (ab_warning):
	* src/balsa-message.c:
	* src/balsa-mime-widget-callbacks.c
	(balsa_mime_widget_ctx_menu_save):
	* src/folder-conf.c (folder_conf_delete):
	* src/information-dialog.c (balsa_information_dialog):

2015-03-25  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* src/sendmsg-window.c (sw_get_user_codeset),
	(quote_parts_select_dlg), (bsmsg_check_format_compatibility):
	use header bars in dialogs.

2015-03-25  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* src/pref-manager.c (open_preferences_manager): use a header
	bar.

2015-03-25  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* src/main-window.c (ensure_check_mail_dialog), (bw_find_real):
	use header bars in dialogs.

2015-03-25  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* src/mailbox-conf.c (create_local_mailbox_dialog): use
	GTK_RESPONSE_CANCEL instead of CLOSE;
	(create_generic_dialog): use header bar.

2015-03-25  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* src/information-dialog.c (balsa_information_dialog),
	(balsa_information_list): use header bars in dialogs.

2015-03-25  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* src/folder-conf.c (folder_conf_imap_node), (browse_button_cb),
	(subfolder_conf_clicked_ok), (folder_conf_imap_sub_node),
	(folder_conf_delete): use header bars in dialogs.

2015-03-25  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* src/filter-edit-callbacks.c (fe_edit_condition): use header
	bar in dialog.

2015-03-24  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Use header bar

	* src/balsa-mime-widget-callbacks.c
	(balsa_mime_widget_ctx_menu_save): use header bar in dialog.

2015-03-24  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Use header bar

	* src/balsa-message.c: use header bar in dialog.

2015-03-24  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Use header bar

	* src/balsa-mblist.c (bmbl_mru_show_tree): use header bar in
	dialog.

2015-03-24  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Use header bar

	* src/balsa-index.c (balsa_index_pipe): use header bar in
	dialog.

2015-03-24  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Use header bar

	* src/balsa-app.c (ask_password_real): use header bar in dialog.

2015-03-24  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Use header bar

	* src/address-book-config.c (create_generic_dialog): use header
	bar in all dialogs.

2015-03-24  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* src/ab-window.c (balsa_ab_window_new): avoid multiple dynamic
	casts.

2015-03-24  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* src/ab-window.c (balsa_ab_window_new): drop redundant dynamic
	casts to GtkWidget

2015-03-24  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Use header bar

	* src/ab-window.c (balsa_ab_window_new): use header bar in
	dialog.

2015-03-24  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Use header bar

	* src/ab-main.c (ab_warning): use header bar in dialog.

2015-03-24  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Use header bar

	* libbalsa/smtp-server.c (libbalsa_smtp_server_dialog): use a
	header bar in dialog.

2015-03-24  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Use header bar

	* libbalsa/send.c (ensure_send_progress_dialog): use a header
	bar in dialog.

2015-03-24  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Use header bar

	* libbalsa/rfc3156.c (check_gpg_child): use a header bar in
	dialog.

2015-03-24  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Use header bars

	* libbalsa/libbalsa-gpgme-cb.c (lb_gpgme_select_key),
	(lb_gpgme_accept_low_trust_key), (get_passphrase_real): use
	header bars in dialogs.

2015-03-24  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Use GtkDialog API and GTK_DIALOG_* flags instead of g_object_new
	and GObject properties

	* src/filter-edit-dialog.c (filters_edit_dialog):
	* src/filter-export-dialog.c (filters_export_dialog):
	* src/sendmsg-window.c (subject_not_empty):
	* src/toolbar-prefs.c (customize_dialog_cb):

2015-03-24  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* libbalsa/libbalsa.c (ask_cert_real), (ask_timeout_real): use
	header bars.

2015-03-24  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* libbalsa/misc.c (libbalsa_create_grid_entry): set hexpand on
	the entry.

2015-03-24  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Use header bars in identity dialogs

	* libbalsa/identity.c (libbalsa_identity_select_dialog),
	(delete_ident_cb), (libbalsa_identity_config_dialog): use header
	bars.
	(append_ident_notebook_page), (setup_ident_frame): remove
	redundant argument.

2015-03-23  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Set minimum vertical space for recipient list

	* src/sendmsg-window.c (create_email_entry): try to give the
	recipient list around two lines of space.

2015-03-23  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Deprecation cleanup--I missed one :(

	* src/balsa-mime-widget-text.c (fill_text_buf_cited):
	GtkTextTag:foreground-gdk is deprecated.

2015-03-23  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Deprecation cleanup

	* src/balsa-mime-widget-text.c (quote_tag):
	GtkTextTag:foreground-gdk is deprecated.

2015-03-23  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Deprecation cleanup

	* src/balsa-app.c (balsa_app_init):
	GtkSettings:gtk-fallback-icon-theme is deprecated.

2015-03-23  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Use a transient parent and a header bar in the no-subject dialog

	* src/sendmsg-window.c (subject_not_empty): use a transient parent
	and a header bar.

2015-03-14  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Use a transient parent for filter dialogs

	* libbalsa/filter.h: add parent window to filters_edit_dialog
	and filters_export_dialog API.
	* src/filter-edit-dialog.c (filters_edit_dialog): use it, and
	add a header bar.
	* src/filter-export-dialog.c (filters_export_dialog): ditto.
	* src/main-window.c (filters_activated),
	(export_filters_activated): pass the main window as the
	transient parent.

2015-03-14  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Use a transient parent for the BalsaFilterRunDialog, and manage
	sensitivity of various buttons

	* libbalsa/filter.h: add parent window to filters_run_dialog
	API.
	* src/filter-run-dialog.c (balsa_filter_run_dialog_new): use it,
	and add a header bar.
	(available_list_selection_changed),
	(selected_list_selection_changed): callbacks for selection
	"changed" signals, so we can set the sensitivity of various
	buttons.
	(balsa_filter_run_dialog_init): connect to the signals, and save
	the buttons in BalsaFilterRunDialog.
	(filters_run_dialog): new API.
	* src/filter-run.h: new members in BalsaFilterRunDialog for the
	buttons.
	* src/mailbox-node.c (mb_filter_cb): pass the main window as the
	transient parent for the dialog.
	* src/main-window.c (select_filters_activated): ditto.

2015-03-14  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Use a header bar in the toolbar editor

	* src/toolbar-prefs.c (customize_dialog_cb): use a header bar.
	(create_toolbar_page): add tooltips to direction buttons.

2015-03-14  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Abandon buttons with both an icon and text, and use a symbolic
	icon where we keep the icon.

	* src/balsa-app.c: remove balsa_stock_button_with_label.
	* src/balsa-app.h: ditto.
	* src/ab-window.c (balsa_ab_window_init): drop icons.
	* src/filter-edit-dialog.c (build_left_side),
	(build_right_side): ditto.
	* src/filter-run-dialog.c (balsa_filter_run_dialog_init): drop
	icons from "Apply" buttons; drop labels from direction buttons.
	* src/spell-check.c (balsa_spell_check_init): drop icons.
	* src/toolbar-prefs.c (create_toolbar_page): drop labels from
	direction buttons.

2015-03-13  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* src/ab-window.c (balsa_ab_window_init): use
	gtk_button_new_from_icon_name for a button with only an icon,
	no text.

2015-03-13  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* src/balsa-message.c: use gtk_button_new_from_icon_name for a
	button with only an icon, no text.

2015-03-12  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Use symbolic icons

	* src/balsa-icons.c (balsa_register_pixbufs): use
	window-close-symbolic instead of window-close.
	* src/message-window.c: ditto.
	* src/sendmsg-window.c: ditto.
	* src/toolbar-factory.c: ditto.
	* src/main-window.c (bw_notebook_label_new): ditto, and give up
	on making close-button small--it's not working.

2015-03-12  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Clean up spell checker

	* src/spell-check.c (balsa_spell_check_new): set the window
	title as an object property;
	(balsa_spell_check_new_with_text): use static cast instead of
	dynamic cast; indentation;
	(balsa_spell_check_init): title is now set as an object
	property.

2015-03-12  Peter Bloomfield  <pbloomfield@bellsouth.net>

	BalsaSpellCheck no longer uses any properties of GtkDialog, so
	instead make it a direct subclass of GtkWindow

	* src/sendmsg-window.c (sw_spell_check_activated),
	(sw_spell_check_weak_notify): weak-ref the spell checker
	instead of waiting for the "response" signal.
	* src/spell-check.c (balsa_spell_check_class_init),
	(balsa_spell_check_new), (balsa_spell_check_init),
	(balsa_spell_check_start), (balsa_spell_check_destroy),
	(spch_finish): make BalsaSpellCheck a subclass of GtkWindow,
	instead of GtkDialog.

2015-03-09  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Avoid critical message from GtkSourceView

	* src/spell-check.c (balsa_spell_check_start), (spch_finish):
	save the current state in a GtkSourceBuffer when we are using
	GtkSourceview.

2015-03-09  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Build with the home-grown spell checker

	* src/spell-check.c (balsa_spell_check_init): put button grid in
	the content-area, now that accessing the action-area is
	deprecated.

2015-03-09  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* src/balsa-icons.c (balsa_register_pixbufs): use
	freedesktop.org standard window-close icon instead of gtk-close
	<http://standards.freedesktop.org/icon-naming-spec/latest/>

2015-03-04  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Respect the "All headers" option on the "View" menu (Helmut
	Jarausch,
	<https://mail.gnome.org/archives/balsa-list/2015-March/msg00001.html>)

	* src/balsa-mime-widget-message.c
	(balsa_mime_widget_message_set_headers),
	(balsa_mime_widget_message_set_headers_d): set the
	show-all-headers parameter correctly.

2015-03-03  Albrecht Dreß

	Improve printing of text/rfc822-headers parts

	* src/balsa-print-object-header.c
	(balsa_print_object_header_new_real),
	(balsa_print_object_header_from_message),
	(balsa_print_object_header_from_body), (header_add_string),
	(header_add_list): implement and respect new parameter gboolean
	print_all_headers.

2015-03-02  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Remove unnecessary parameter

	* src/balsa-mime-widget-message.c (add_header_gchar),
	(add_header_address_list), (bmw_message_set_headers_d): we do
	not need to pass the BalsaMessage.

2015-03-02  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Show all headers in a text/rfc822-headers part

	* src/balsa-mime-widget-message.c (add_header_gchar): new
	parameter gboolean show_all_headers;
	(balsa_mime_widget_new_message),
	(add_header_address_list),
	(bmw_message_set_headers_d), (bmw_message_set_headers),
	(balsa_mime_widget_message_set_headers),
	(balsa_mime_widget_message_set_headers_d): use it.

2015-03-02  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Provide a parent window for the send-progress dialog

	* libbalsa/send.c (ensure_send_progress_dialog),
	(libbalsa_message_send), (lbs_process_queue),
	(libbalsa_process_queue): new parameter GtkWindow *parent.
	* libbalsa/send.h: ditto.
	* src/balsa-message.c: use it.
	* src/balsa-mime-widget-message.c (extbody_send_mail): ditto.
	* src/balsa-mime-widget-vcalendar.c (vevent_reply): ditto.
	* src/main-window.c (send_queued_mail_activated): ditto.
	* src/sendmsg-window.c (send_message_handler): ditto.

2015-03-01  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Fix alignment of text/rfc822-headers parts widget

	* src/balsa-mime-widget-message.c
	(balsa_mime_widget_new_message): do not override default
	settings of horizontal align and expand.

2015-03-01  Albrecht Dreß

	Display and print text/rfc822-headers parts

	* libbalsa/body.[hc]: parse text/rfc822-headers parts,
	and store them in the body structure
	* src/balsa-mime-widget.c, src/balsa-mime-widget-message.c:
	display a text/rfc822-headers part
	* src/balsa-print-object.c: print a text/rfc822-headers part

2015-03-01  Albrecht Dreß

	Obfuscate the message-id header

	* libbalsa/send.c (libbalsa_set_message_id): obfuscate the
	message-id header (in response to bgo #738155).

2015-03-01  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Use pan-down-symbolic instead of balsa-drop-down

	* images/16x16/Makefile.am: balsa-drop-down has been removed
	* src/balsa-icons.c (balsa_register_pixmaps): change to
	pan-down-symbolic

2015-03-01  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* images/16x16/balsa-drop-down.png: remove it.

2015-02-27  Albrecht Dreß

	Enable the request of Delivery Status Notifications

	* libbalsa/identity.[hc]: define default DSN setting, load and store it
	* libbalsa/identity.c, src/balsa-index.c, src/filter-edit-callbacks.c:
	fix clang nagging about a misplaced 'static const' qualifier
	* libbalsa/message.h: add request dsn flag
	* libbalsa/send.c: instruct libesmtp to request the DSN
	* libbalsa/send.c: pass const parameter as const
	* src/balsa-icons.c: add braces around macro
	* src/sendmsg-window.[hc]: add GUI stuff for requesting the DSN

2015-02-23  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Actually change spell-checking language

	* src/sendmsg-window.c (sw_spell_detach), (sw_spell_attach):
	detach any current spell-checker before attaching a new one.

2015-02-22  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Fix some spacing issues

	* src/toolbar-prefs.c (customize_dialog_cb): allocate extra
	vertical space to the available and current toolbar item lists;
	(create_toolbar_page): separate the 'restore' and 'current'
	buttons by minimum 5px.

2015-02-20  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* src/main-window.c (bw_enable_mailbox_menus): suppress cppcheck
	null pointer error.

2015-02-20  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* src/ab-main.c (address_book_change_state): do not crash after
	deleting address book.

2015-02-20  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* libbalsa/application-helpers.c (libbalsa_window_get_menu_bar),
	(libbalsa_window_set_accels): remove old accel group before
	setting new one.

2015-02-19  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Make the address book editor accelerators actually work

	* libbalsa/application-helpers.c (libbalsa_window_set_accels):
	new helper;
	(libbalsa_window_get_menu_bar) use it.
	* libbalsa/application-helpers.h: export it.
	* src/ab-main.c (set_address_book_menu_items): use it.

2015-02-19  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* libbalsa/address-book-text.c (lbab_text_group_address):
	compile with MAKE_GROUP_BY_ORGANIZATION defined.

2015-02-18  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* src/toolbar-prefs.c (customize_dialog_cb), (standard_button_cb),
	(create_toolbar_page), (tp_page_refresh_available),
	(tp_page_add_selected), (tp_page_remove_selected): conditionally
	compiled debug code to check for unimplemented action names.

2015-02-18  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Fix broken toolbar items

	* src/message-window.c: correct action names.
	* src/main-window.c (show_all_headers_change_state),
	(show_preview_pane_change_state), (bw_add_win_action_entries):
	ditto, and implement missing actions.

2015-02-18  Albrecht Dreß

	* src/balsa-mime-widget-text.c (create_text_widget): allow for
	GtkSourceView versions greater than 2.

2015-02-17  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Restore toolbar editing

	* src/main-window.c (balsa_window_get_toolbar_model),
	(bw_add_app_action_entries), (bw_add_win_action_entries),
	(balsa_window_add_action_entries), (bw_set_menus),
	(balsa_window_new):
	* src/main-window.h:
	* src/message-window.c (message_window_get_toolbar_model),
	(message_window_add_action_entries), (message_window_new):
	* src/message-window.h:
	* src/sendmsg-window.c (sendmsg_window_get_toolbar_model),
	(sendmsg_window_add_action_entries), (sendmsg_window_new):
	* src/sendmsg-window.h:
	* src/toolbar-factory.c (balsa_toolbar_model_finalize),
	(balsa_toolbar_model_init), (balsa_toolbar_remove_all),
	(tm_load_model), (tm_save_model), (balsa_toolbar_model_new),
	(tm_add_action), (balsa_toolbar_model_add_entries),
	(balsa_toolbar_model_get_current),
	(balsa_toolbar_model_is_standard),
	(balsa_toolbar_model_insert_icon), (balsa_toolbar_model_clear),
	(tm_has_second_line), (tm_populate), (tm_changed_cb),
	(tm_toolbar_weak_notify), (balsa_toolbar_new):
	* src/toolbar-factory.h:
	* src/toolbar-prefs.c (customize_dialog_cb), (wrap_toggled_cb),
	(create_toolbar_page), (tp_find_icon), (tp_page_refresh_available),
	(tp_page_refresh_current), (tp_store_set), (replace_nl_with_space):

2015-02-16  Albrecht Dreß

	Disable SSLv3, with an option in the code to override, and
	enable TLSv1.1 and 1.2

	* libbalsa/imap/imap-tls.c (imap_create_ssl):

2015-02-16  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Fix some alignment issues

	* src/pref-manager.c (open_preferences_manager), (set_align),
	(attach_entry_full), (attach_information_menu), (attach_label),
	(checking_group), (quoted_group), (mdn_group), (main_window_group),
	(threading_group), (add_pref_menu), (deleting_messages_group),
	(message_window_group), (folder_scanning_group),
	(create_mdn_reply_menu), (pm_group_new), (pm_combo_box_new):
	revert to deprecated GtkMisc stuff until gtk_label_set_{xy}align
	is available.

2015-02-15  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* src/sendmsg-window.c (create_lang_menu): do not leak language
	names.

2015-02-15  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* libbalsa/imap/auth-cram.c (imap_auth_cram): cosmetic change to
	length of copy in strncat.

2015-02-15  Albrecht Dreß

	Build with clang (ver. LLVM 3.4)

	* libbalsa/files.c: remove unused assignment (detected by cppcheck)
	* libbalsa/imap/auth-cram.c: fix possible writing behind buffer end
	* libbalsa/imap/imap-commands.c: remove check for a value >= 0 for an
	unsigned value
	* libbalsa/imap/imap-handle.c, libbalsa/mailbox_imap.c: add empty
	'if' body
	* libbalsa/mailbox_imap.c, libbalsa/send.c, libbalsa/smtp-server.c:
	fix enum mismatch
	* libbalsa/mailbox_mbox.c: don't assign a signed value to an unsigned
	* libbalsa/message.h, libbalsa/mailbox_mh.c: introduce proper
	"invalid" flag (clang optimises the current solution away,
	as it can never be true)

2015-02-11  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Port BalsaMessage from GtkNotebook to GtkStack

	* src/balsa-message.c (balsa_message_get_type): BalsaMessage now
	subclasses GtkBox instead of GtkNotebook.
	* src/balsa-message.h: ditto.

2015-02-10  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Deprecation cleanup

	* src/sendmsg-window.c (create_email_or_string_entry),
	(create_text_area):
	gtk_widget_override_font is deprecated, use CSS instead.

2015-02-10  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Deprecation cleanup

	* src/balsa-mime-widget-text.c (draw_cite_bar_real):
	gtk_widget_override_color is deprecated, use CSS instead.

2015-02-10  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Deprecation cleanup

	* src/balsa-mime-widget-text.c (bm_modify_font_from_string):
	gtk_widget_override_font is deprecated, use CSS instead.

2015-02-10  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* src/balsa-mime-widget-image.c
	(balsa_mime_widget_image_dispose): fix typo.

2015-02-10  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Deprecation cleanup

	* src/balsa-mime-widget-message.c (add_header_gchar):
	gtk_widget_override_font is deprecated, use CSS instead.

2015-02-10  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Deprecation cleanup

	* src/balsa-mime-widget-image.c (balsa_mime_widget_image_dispose),
	(balsa_mime_widget_new_image):
	gtk_style_context_get_background_color and
	gtk_widget_override_background_color are deprecated; when we
	replace the GtkNotebook with a GtkStack, we should get
	consistent backgrounds again.

2015-02-10  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Deprecation cleanup

	* src/balsa-message.c (balsa_message_init):
	gtk_style_context_get_background_color and
	gtk_widget_override_background_color are deprecated; when we
	replace the GtkNotebook with a GtkStack, we should get
	consistent backgrounds again.

2015-02-10  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Deprecation cleanup

	* libbalsa/source-viewer.c (libbalsa_show_message_source):
	gtk_widget_override_font is deprecated, use CSS instead.

2015-02-08  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* src/main-window.c (balsa_window_new): vertically center the
	new skinny progress bar.

2015-02-08  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Allow for quoted strings in vcal items

	* libbalsa/rfc2445.c (vcal_strchr): replacement for strchr that
	ignores matches in quoted strings;
	(vcal_strsplit_at_char): replacement for g_strsplit that uses
	vcal_strchr;
	(libbalsa_vcal_new_from_body): use them.

2015-02-03  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Simplify BalsaMailboxConfView destruction

	* src/mailbox-conf.c (mailbox_conf_view_new_full): use g_free as
	a weak-ref-notify instead of a wrapper.

2015-02-02  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Simplify notebook-label destruction

	* src/main-window.c (bw_notebook_label_new): use
	g_signal_connect_object to handle destruction of label, instead
	of a weak-ref.

2015-02-02  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Close compose windows on exit

	* src/sendmsg-window.c (balsa_sendmsg_destroy_handler),
	(sendmsg_window_new): weak-ref the main-window and close any
	compose window that is still open.

2015-02-02  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Prune some dead code

	* src/balsa-message.c (balsa_message_init), (balsa_message_new):
	close-with-msg is unused.
	* src/balsa-message.h: remove it, and its setter.
	* src/message-window.c (message_window_idle_handler),
	(mw_set_selected): setter has gone away.

2015-02-02  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Compose window may outlive main window

	* src/main-window.c (bw_send_msg_window_destroy_cb): check for
	NULL main-window.
	* src/sendmsg-window.c (balsa_sendmsg_destroy_handler): ditto.

2015-01-29  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Possible fix for RedHat bug #1050738 (Geoff Leach)

	* src/balsa-index.c (bndx_compose_foreach): check for NULL
	compose window.

2015-01-29  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Possible fix for RedHat bug #831889 (Geoff Leach)

	* src/sendmsg-window.c (collect_for_quote): check for NULL root.

2015-01-29  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Possible fix for RedHat bug #1097953 (Geoff Leach)

	* src/main-window.c (balsa_window_class_init), (balsa_window_new),
	(bw_close_mailbox_on_timer): use balsa_window_real_close_mbnode
	to close the mailbox instead of directly removing the notebook page.
	* src/message-window.c (destroy_message_window),
	(message_window_new): disconnect mailbox signals more carefully.

2015-01-28  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* balsa.appdata.xml: new appdata file

2015-01-28  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* src/balsa-icons.c (load_balsa_pixmap),
	(balsa_register_pixmaps): prune much pointless code.
	* src/sendmsg-window.c (subject_not_empty),
	(check_suggest_encryption): fix broken icons.
	* src/toolbar-factory.c (balsa_toolbar_new): ditto.

2015-01-28  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* src/ab-main.c (bab_cleanup), (set_address_book_menu_items),
	(get_main_menu), (bab_window_list_new), (bab_window_new),
	(ab_warning), (bab_set_intial_address_book), (main): streamline
	code.

2015-01-27  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Fix bug #741805 (Anders Jonsson)

	* help/C/balsa.sgml: fix spelling of "Portuguese".
	* src/sendmsg-window.c: ditto.

2015-01-27  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Deprecation cleanup

	* .gitignore: add "compile"
	* configure.ac: use webkit2gtk-4.0
	* libbalsa/address.c (libbalsa_address_get_edit_widget):
	* libbalsa/html.c (lbh_navigation_policy_decision),
	(lbh_new_window_policy_decision):
	* libbalsa/imap/imap-handle.c:
	* libbalsa/libbalsa-gpgme-cb.c (lb_gpgme_select_key):
	* libbalsa/send.c:
	* libbalsa/url.c:
	* src/address-book-config.c (add_radio_buttons),
	(create_externq_dialog):
	* src/balsa-app.c (balsa_stock_button_with_label):
	* src/balsa-icons.c (load_balsa_pixmap):
	* src/balsa-message.c (bm_find_bar_new), (balsa_message_init):
	* src/balsa-mime-widget-crypto.c
	(balsa_mime_widget_signature_widget):
	* src/balsa-mime-widget-message.c (add_header_gchar),
	(add_header_sigstate):
	* src/balsa-mime-widget-vcalendar.c
	(balsa_mime_widget_new_vcalendar):
	* src/filter-edit-dialog.c (build_action_page):
	* src/main-window.c (bw_window_state_event_cb),
	(bw_is_active_notify), (bw_notebook_label_new),
	(bw_display_new_mail_notification):
	* src/main-window.h:
	* src/pref-manager.c (attach_label), (checking_group),
	(quoted_group), (mdn_group), (main_window_group), (add_pref_menu),
	(deleting_messages_group), (folder_scanning_group), (pm_group_new):
	* src/print-gtk.c (message_prefs_widget):
	* src/sendmsg-window.c (create_email_or_string_entry),
	(sw_attachment_list), (quote_parts_select_dlg),
	(subject_not_empty), (check_suggest_encryption):

2015-01-27  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* src/ab-main.c (bab_load_cb), (bab_set_address_book),
	(address_book_change_state), (set_address_book_menu_items),
	(address_book_change), (file_new_vcard_activated),
	(file_new_extern_activated), (file_new_ldif_activated),
	(file_new_ldap_activated), (file_new_gpe_activated),
	(file_new_rubrica_activated), (file_properties_activated),
	(file_delete_activated), (file_quit_activated),
	(entry_new_activated), (entry_delete_activated),
	(help_about_activated), (get_main_menu),
	(list_selection_changed_cb), (list_row_activated_cb),
	(bab_get_filter_box), (bab_window_new), (main): port to
	GApplication and friends.
	* ui/Makefile.am: add ab-main.ui.

2015-01-27  Peter Bloomfield  <pbloomfield@bellsouth.net>

	* ui/ab-main.ui: GtkBuilder description of address-book editor
	UI.

2014-01-28  Pawel Salek

	* src/spell-check.c: do not use deprecated icon names.

2014-01-25  Peter Bloomfield  <pbloomfield@bellsouth.net>

	Remove accelerators from app-menu; duplicate "new message",
	"address book", and "quit" on main-window's "file" menu.

	* src/main-window.c (bw_set_menus): duplicate "new message",
	"address book", and "quit" on main-window's "file" menu, with
	accelerators;
	* ui/main-window.ui: remove accelerators from app-menu.

2013-12-16  Albrecht Dreß

	* libbalsa/rfc3156.c (libbalsa_body_decrypt): tree view icons
	were handled differently for GPG and S/MIME.

2013-12-16  Albrecht Dreß

	Fix bgo #720443 (Lilith Bryant, dark141 at gmail dot com)

	* libbalsa/rfc3156.c (libbalsa_body_decrypt): trivial patch
	to fix the OL pk7 S/MIME issue.

2013-12-13  Peter Bloomfield

	Fix S/MIME sending and Outlook2007 reception; bgo #720423
	(Lilith Bryant, dark141 at gmail dot com)

	* libbalsa/rfc3156.c (libbalsa_message_body_protection):
	x-pkcs7-mime is synonymous with pkcs7-mime;
	(libbalsa_encrypt_mime_object): use pkcs7 instead of leaking it.
	* src/balsa-message.c (libbalsa_msg_try_decrypt):
	x-pkcs7-mime is synonymous with pkcs7-mime.

2013-09-20  Peter Bloomfield

	Disable GtkInfoBar workarounds

	* libbalsa/html.c (lbh_info_bar): disable GtkInfoBar workaround.
	* src/balsa-mime-widget-message.c (bm_header_widget_new): ditto.

2013-09-14  Peter Bloomfield

	* src/balsa-mime-widget-message.c (bm_header_widget_new):
	replace GtkInfoBar with a simple GtkBox and a GtkButtonBox,
	because GtkInfoBar prevents the GtkLabel from wrapping (bgo
	#707093)

2013-08-30  Peter Bloomfield

	* src/balsa-mime-widget-message.c (bm_header_widget_new): make
	sure buttons are arranged vertically; would not be an issue,
	except that GtkLabels are not wrapped in a GtkInfoBar (bgo
	#707093).

2013-08-30  Peter Bloomfield

	* libbalsa/html.c (lbh_info_bar): make sure buttons are arranged
	vertically.

2013-08-30  Peter Bloomfield

	* libbalsa/html.c (lbh_info_bar): break message string into
	three separate lines, to work around GtkInfoBar breakage (bgo
	#707093).

2013-08-16  Peter Bloomfield

	Deprecation cleanup

	* src/main-window.h:
	* src/message-window.h:
	* src/sendmsg-window.h:
	* src/toolbar-factory.c:
	* src/toolbar-factory.h:

2013-08-16  Peter Bloomfield

	* src/sendmsg-window.c (sw_close_activated): mark window as
	being destroyed;
	(sw_get_action): check for window being destroyed, and return
	NULL if so;
	(sw_action_set_enabled), (sw_action_get_enabled),
	(sw_action_set_active), (sw_action_get_active): check for NULL
	action.

2013-08-15  Peter Bloomfield

	* src/main-window.c (bw_get_action): wrapper for
	g_action_map_lookup_action;
	(bw_action_set_boolean), (bw_action_get_boolean),
	(bw_action_set_string), (bw_action_set_enabled),
	(hide_change_state), (balsa_window_new),
	(balsa_window_update_book_menus): use it;
	(bw_set_filter_menu): use g_simple_action_set_state, to avoid
	recursion;
	(update_view_menu): remove redundant call to
	balsa_message_set_wrap.

2013-08-14  Peter Bloomfield

	* src/main-window.c (hide_change_state), (bw_set_filter_menu),
	(bw_filter_to_int): initialize the hide-messages menu items
	with g_simple_action_set_state instead of g_action_change_state,
	which does not seem to work for these items.

2013-08-13  Peter Bloomfield

	* src/toolbar-factory.c (tm_toolbar_weak_notify): disconnect
	model's "changed" signal handler when toolbar is destroyed.

2013-08-13  Pawel Salek

	* src/sendmsg-window.c: compile without gpgme.

2013-08-13  Peter Bloomfield

	* src/sendmsg-window.c (sendmsg_window_continue): fix action
	name.

2013-08-13  Peter Bloomfield

	* src/sendmsg-window.c (bsmsg_setup_gpg_ui_by_mode): set gpg
	mode correctly.

2013-08-13  Peter Bloomfield

	* src/sendmsg-window.c (init_menus): add transition code to read
	old message header choices.

2013-08-10  Peter Bloomfield

	* src/main-window.c (bw_action_set_boolean): use
	g_action_change_state instead of g_simple_action_set_state, so
	that the state is actually changed (Carlos Franke).

2013-08-04  Pawel Salek

	* src/sendmsg-window.c: compile with GtkSourceview

2013-07-31  Peter Bloomfield

	Port compose window to GMenu and friends

	* src/sendmsg-window.c (delete_event_cb), (sw_close_activated),
	(destroy_event_cb), (sw_edit_activated),
	(sw_select_ident_activated), (sw_get_action),
	(sw_action_set_enabled), (sw_actions_set_enabled),
	(sw_action_get_enabled), (sw_action_set_active),
	(sw_action_get_active), (update_bsmsg_identity),
	(add_urlref_attachment), (sw_attach_file_activated),
	(sw_include_messages_activated), (sw_attach_messages_activated),
	(sw_can_undo_cb), (sw_can_redo_cb), (quote_parts_select_dlg),
	(sw_insert_sig_activated), (sw_quote_activated),
	(sendmsg_window_get_toolbar_model), (bsmsg_identities_changed_cb),
	(insert_initial_sig), (bsm_prepare_for_setup), (bsm_finish_setup),
	(set_cc_from_all_recipients), (decode_and_strdup),
	(sendmsg_window_process_url), (sw_attach_file),
	(sw_include_file_activated), (subject_not_empty),
	(check_suggest_encryption), (send_message_handler),
	(sw_toolbar_send_activated), (sw_send_activated),
	(sw_queue_activated), (message_postpone), (sw_postpone_activated),
	(sw_save_activated), (sw_page_setup_activated),
	(sw_print_activated), (sw_buffer_insert_text),
	(sw_buffer_set_undo), (sw_spell_attach), (sw_undo_activated),
	(sw_redo_activated), (sw_cut_activated), (sw_copy_activated),
	(sw_paste_activated), (sw_select_text_activated),
	(sw_wrap_body_activated), (sw_reflow_activated), (check_readiness),
	(sw_entry_helper), (sw_from_change_state),
	(sw_recips_change_state), (sw_reply_to_change_state),
	(sw_fcc_change_state), (sw_request_mdn_change_state),
	(sw_show_toolbar_change_state), (sw_flowed_change_state),
	(sw_send_html_change_state), (sw_gpg_helper),
	(sw_sign_change_state), (sw_encrypt_change_state),
	(sw_gpg_mode_change_state), (init_menus),
	(sw_spell_check_change_state), (sw_spell_check_activated),
	(lang_set_cb), (bsmsg_update_gpg_ui_on_ident_change),
	(bsmsg_setup_gpg_ui), (bsmsg_setup_gpg_ui_by_mode),
	(sw_menubar_foreach), (sendmsg_window_new),
	(sendmsg_window_compose), (sendmsg_window_compose_with_address),
	(sendmsg_window_reply), (sendmsg_window_reply_embedded),
	(sendmsg_window_forward), (sendmsg_window_continue):
	* src/sendmsg-window.h: add member ready-to-send.
	* src/toolbar-factory.c (tm_toolbar_weak_notify),
	(balsa_toolbar_new): drop GtkUIManager code.
	* src/toolbar-prefs.c (customize_dialog_cb): ditto.
	* ui/Makefile.am: add sendmsg-window.ui.

2013-07-31  Peter Bloomfield

	* ui/sendmsg-window.ui: new file with xml input for GtkBuilder.

2013-07-29  Peter Bloomfield

	Fix part of bug #704718 (Geoffrey Leach).

	* src/pref-manager.c (apply_prefs), (set_prefs): apply and set
	BalsaApplication::fatal_message.

2013-07-28  Peter Bloomfield

	* src/message-window.c (mw_reset_show_all_headers),
	(mw_set_buttons_sensitive), (mw_set_message),
	(message_window_move_message), (mw_mru_menu_cb),
	(mw_select_part_cb), (message_window_new): move code to
	eliminate local declarations.

2013-07-28  Peter Bloomfield

	* src/message-window.c: make message-window a
	GtkApplicationWindow, and port menus from GtkUIManager to
	GtkBuilder and from GtkAction to GAction.
	* src/toolbar-prefs.c: temporarily disable editing message-window
	toolbar.
	* ui/message-window.ui: new file.
	* ui/Makefile.am: add it.

2013-07-28  Peter Bloomfield

	* libbalsa/application-helpers.c (libbalsa_window_get_menu_bar):
	add callback-data argument;
	(libbalsa_window_add_accelerator): new public method;
	(libbalsa_radio_activated): common callback for the "activated"
	signal of a radio-GAction.
	* libbalsa/application-helpers.h: new API.
	* libbalsa/source-viewer.c (libbalsa_show_message_source): use
	new API.
	* src/main-window.c (bw_set_menus): ditto,

2013-07-23  Peter Bloomfield

	* src/main-window.c (bw_alt_n_cb), (bw_set_alt_bindings),
	(balsa_window_new): restore <alt>n key bindings to change
	mailbox tab.

2013-07-22  Peter Bloomfield

	* src/main-window.c (toolbars_activated), (identities_activated),
	(bw_set_menus): restore Settings submenu.

2013-07-22  Peter Bloomfield

	* src/toolbar-factory.c (tm_load_model): do not load stale
	options.

2013-07-22  Peter Bloomfield

	* src/main-window.c (bw_set_menus): use installed ui file.
	* ui/Makefile.am: install it.
	* ui/main-window.ui: new file.

2013-07-22  Peter Bloomfield

	Move GAction-toggled callback to application-helpers

	* libbalsa/application-helpers.c (libbalsa_window_get_menu_bar),
	(libbalsa_toggle_activated): install GAction-toggled callback.
	* libbalsa/application-helpers.h: declare it.
	* libbalsa/source-viewer.c: use it.
	* src/main-window.c (bw_set_menus): ditto.

2013-07-22  Peter Bloomfield

	Make main-window a GtkApplicationWindow, and port menus from
	GtkUIManager to GtkBuilder and from GtkAction to GAction

	* src/main-window.c (balsa_window_get_toolbar_model),
	(bw_action_set_boolean), (bw_action_get_boolean),
	(bw_action_set_string), (bw_action_set_enabled),
	(bw_app_action_set_enabled), (bw_actions_set_enabled),
	(toggle_activated), (radio_activated), (bw_show_or_hide_widget),
	(new_message_activated), (new_mbox_activated),
	(new_maildir_activated), (new_mh_activated),
	(new_imap_box_activated), (new_imap_folder_activated),
	(new_imap_subfolder_activated), (address_book_activated),
	(prefs_activated), (help_activated), (about_activated),
	(quit_activated), (continue_activated), (get_new_mail_activated),
	(send_queued_mail_activated), (send_and_receive_mail_activated),
	(page_setup_activated), (print_activated), (copy_activated),
	(select_all_activated), (select_thread_activated),
	(find_activated), (find_next_activated),
	(find_in_message_activated), (filters_activated),
	(export_filters_activated), (expand_all_activated),
	(collapse_all_activated), (zoom_in_activated),
	(zoom_out_activated), (zoom_normal_activated),
	(next_message_activated), (previous_message_activated),
	(next_unread_activated), (next_flagged_activated),
	(reset_filter_activated), (mailbox_select_all_activated),
	(mailbox_edit_activated), (mailbox_delete_activated),
	(mailbox_expunge_activated), (mailbox_close_activated),
	(empty_trash_activated), (select_filters_activated),
	(remove_duplicates_activated), (reply_activated),
	(reply_all_activated), (reply_group_activated),
	(forward_attached_activated), (forward_inline_activated),
	(pipe_activated), (next_part_activated), (previous_part_activated),
	(save_part_activated), (view_source_activated),
	(copy_message_activated), (select_text_activated),
	(move_to_trash_activated), (toggle_flag),
	(toggle_flagged_activated), (toggle_deleted_activated),
	(toggle_new_activated), (toggle_answered_activated),
	(store_address_activated), (show_mailbox_tree_change_state),
	(show_mailbox_tabs_change_state), (show_toolbar_change_state),
	(show_statusbar_change_state), (show_sos_bar_change_state),
	(wrap_change_state), (hide_change_state),
	(bw_reset_show_all_headers), (header_change_state),
	(threading_change_state), (bw_set_menus), (bw_enable_next_unread),
	(balsa_window_new), (bw_enable_expand_collapse),
	(bw_next_unread_mailbox), (bw_enable_mailbox_menus),
	(balsa_window_update_book_menus), (bw_enable_message_menus),
	(bw_enable_edit_menus), (bw_enable_view_menus),
	(enable_empty_trash), (balsa_window_enable_continue),
	(bw_enable_part_menu_items), (bw_set_threading_menu),
	(bw_set_filter_menu), (bw_filter_to_int),
	(bw_get_condition_from_int), (balsa_window_open_mbnode),
	(balsa_window_close_mbnode), (bw_notebook_label_style),
	(bw_mailbox_changed), (bw_notebook_label_notify),
	(bw_notebook_label_new), (bw_real_open_mbnode_idle_cb),
	(bw_real_open_mbnode_thread), (balsa_window_real_open_mbnode),
	(bw_focus_idle), (balsa_window_real_close_mbnode),
	(balsa_identities_changed), (bw_close_mailbox_on_timer),
	(balsa_window_destroy), (balsa_window_refresh),
	(bw_register_open_mailbox), (bw_unregister_open_mailbox),
	(bw_is_open_mailbox), (bw_check_mailbox_list),
	(bw_add_mbox_to_checklist), (bw_imap_check_test),
	(bw_progress_dialog_destroy_cb), (bw_progress_dialog_response_cb),
	(ensure_check_mail_dialog), (bw_mailbox_check),
	(check_new_messages_real), (bw_check_new_messages),
	(check_new_messages_count), (bw_check_messages_thread_idle_cb),
	(bw_check_messages_thread), (mail_progress_notify_cb),
	(send_progress_notify_cb),
	(bw_get_new_message_notification_string),
	(bw_display_new_mail_notification),
	(mw_mbox_change_connection_status),
	(bw_change_connection_status_idle),
	(balsa_window_find_current_index), (bw_open_mailbox_cb),
	(bw_find_real), (bw_hide_changed_set_view_filter),
	(bw_reset_filter), (update_view_menu),
	(balsa_window_set_statusbar), (balsa_window_next_unread):
	* src/main-window.h: BalsaWindow now subclasses
	GtkApplicationWindow.
	* src/message-window.c (message_window_new): use new toolbar
	API.
	* src/sendmsg-window.c (sendmsg_window_new): ditto.
	* src/toolbar-factory.c (balsa_toolbar_model_add_entries),
	(tm_has_second_line), (tm_changed_cb), (tm_changed_old_cb),
	(tm_toolbar_weak_notify), (tm_realize_cb), (balsa_toolbar_new):
	main-window has a GActionMap, not a GtkUIManager.
	* src/toolbar-factory.h: temporary API.
	* src/toolbar-prefs.c (customize_dialog_cb),
	(create_toolbar_page): temporary transition code.

2013-07-22  Peter Bloomfield

	* src/balsa-icons.c (load_balsa_pixmap): do not leak pixbuf.

2013-07-22  Peter Bloomfield

	* src/balsa-icons.c (load_balsa_pixmap): add built-in icon with
	the correct size.

2013-07-22  Peter Bloomfield

	More GtkStock deprecation cleanup

	* src/balsa-app.c (balsa_stock_button_with_label):
	* src/balsa-icons.c (load_balsa_pixmap), (balsa_register_pixmaps),
	(balsa_register_pixbufs):
	* src/balsa-message.c (bm_header_tl_buttons):
	* src/balsa-mime-widget-crypto.c (balsa_mime_widget_crypto_frame):
	* src/main-window.c:

2013-07-21  Peter Bloomfield

	* libbalsa/application-helpers.c (extract_accels_from_menu),
	(get_accel_group), (libbalsa_window_get_menu_bar): make the
	application-window not show the application's menubar here.
	* libbalsa/source-viewer.c (libbalsa_show_message_source):
	instead of here.

2013-07-21  Peter Bloomfield

	* libbalsa/application-helpers.c (accel_info_free),
	(accel_activate), (extract_accel_from_menu_item),
	(extract_accels_from_menu), (libbalsa_window_get_accel_group),
	(libbalsa_window_get_menu_bar): new file defining
	libbalsa_window_get_menu_bar.
	* libbalsa/application-helpers.h: ditto.
	* libbalsa/Makefile.am: add them to SOURCES.
	* libbalsa/source-viewer.c: use libbalsa_window_get_menu_bar to
	construct the menu-bar and add the accelerators to the window.

2013-07-21  Peter Bloomfield

	More GtkStock deprecation cleanup

	* src/balsa-index.c (bndx_popup_menu_create),
	(create_stock_menu_item):
	* src/balsa-message.c (bm_header_tl_buttons),
	(get_crypto_content_icon):
	* src/balsa-mime-widget-crypto.c (balsa_mime_widget_crypto_frame):
	* src/balsa-mime-widget-image.c (balsa_mime_widget_new_image):
	* src/balsa-mime-widget-text.c (bmwt_populate_popup_menu):

2013-07-20  Peter Bloomfield

	* README: minor updates.

2013-07-20  Peter Bloomfield

	Install and use a directory for GtkBuilder *.ui files

	* ui/Makefile.am: new file.
	* ui/main-window.ui: ditto.
	* ui/source-viewer.ui: ditto.
	* Makefile.am: add ui to SUBDIRS.
	* configure.ac: add ui/Makefile to AC_OUTPUT.
	* libbalsa/source-viewer.c: use installed ui file.

2013-07-20  Peter Bloomfield

	* src/main-window.c: use new prototype for source viewer.

2013-07-20  Peter Bloomfield

	* libbalsa/source-viewer.c (lsv_close_activated),
	(lsv_copy_activated), (lsv_select_activated),
	(lsv_toggle_activated), (lsv_escape_change_state),
	(lsv_app_set_menus), (libbalsa_show_message_source): port source
	viewer to GMenu.
	* libbalsa/libbalsa.h: new prototype for source viewer.
	* src/balsa-index.c (bndx_view_source): use it.
	* src/message-window.c (view_msg_source_cb): ditto.
	* src/sendmsg-window.c (sendmsg_window_new_from_list): ditto.

2013-07-18  Peter Bloomfield

	More GtkStock deprecation cleanup

	* configure.ac: to build, we must drop -DGDK_MULTIHEAD_SAFE.
	* libbalsa/files.c (libbalsa_icon_finder):
	gtk_icon_size_lookup_for_settings is deprecated for
	gtk_icon_size_lookup.
	* src/balsa-index.c (balsa_index_set_column_widths): ditto.
	* src/balsa-app.c (balsa_stock_button_with_label):
	gtk_image_new_from_stock is deprecated for
	gtk_image_new_from_icon_name.

2013-07-18  Peter Bloomfield

	Clean up deprecation of stock icons

	* libbalsa/html.c (lbh_info_bar), (lbh_show_info_bar):
	* libbalsa/identity.c (libbalsa_identity_select_dialog),
	(libbalsa_identity_config_dialog):
	* libbalsa/information.c (libbalsa_information_varg):
	* libbalsa/libbalsa-gpgme-cb.c (lb_gpgme_select_key),
	(get_passphrase_real):
	* libbalsa/send.c (ensure_send_progress_dialog):
	* libbalsa/smtp-server.c (libbalsa_smtp_server_dialog):
	* libbalsa/source-viewer.c:
	* src/ab-main.c (bab_get_edit_button_box), (bab_get_filter_box):
	* src/ab-window.c (balsa_ab_window_new), (balsa_ab_window_init):
	* src/address-book-config.c (create_local_dialog),
	(create_generic_dialog):
	* src/balsa-app.c (ask_password_real):
	* src/balsa-icons.c (load_balsa_pixmap), (balsa_register_pixbufs):
	* src/balsa-icons.h:
	* src/balsa-index.c (bndx_popup_menu_create), (balsa_index_pipe):
	* src/balsa-mblist.c (bmbl_mru_show_tree):
	* src/balsa-message.c (part_context_dump_all_cb):
	* src/balsa-mime-widget-callbacks.c
	(balsa_mime_widget_ctx_menu_save):
	* src/balsa-mime-widget-image.c (balsa_mime_widget_new_image):
	* src/balsa-mime-widget-text.c (bmwt_populate_popup_menu):
	* src/filter-edit-callbacks.c (fe_edit_condition):
	* src/filter-edit-dialog.c (build_left_side), (build_action_page),
	(build_right_side), (filters_edit_dialog):
	* src/filter-export-dialog.c (filters_export_dialog):
	* src/filter-run-dialog.c (balsa_filter_run_dialog_init):
	* src/folder-conf.c (folder_conf_imap_node), (browse_button_cb),
	(folder_conf_imap_sub_node):
	* src/information-dialog.c (balsa_information_list):
	* src/mailbox-conf.c (mailbox_conf_delete),
	(create_local_mailbox_dialog), (create_generic_dialog):
	* src/main-window.c:
	* src/message-window.c:
	* src/pref-manager.c (open_preferences_manager):
	* src/sendmsg-window.c (delete_handler), (sw_get_user_codeset),
	(add_urlref_attachment), (sw_attach_dialog),
	(quote_parts_select_dlg), (include_file_cb), (subject_not_empty),
	(check_suggest_encryption), (bsmsg_check_format_compatibility):
	* src/spell-check.c (balsa_spell_check_init):
	* src/store-address.c (store_address_dialog):
	* src/toolbar-factory.c:
	* src/toolbar-prefs.c (customize_dialog_cb), (create_toolbar_page):

2013-07-14  Peter Bloomfield

	Fix bgo #704159 (Igor Pashev)

	* configure.ac: add check for struct utsname.domainname, and
	AC_USE_SYSTEM_EXTENSIONS.
	* libbalsa/filter-file.c: do not define __EXTENSIONS__.
	* libbalsa/send.c (libbalsa_set_message_id): check
	HAVE_STRUCT_UTSNAME_DOMAINNAME as well as _GNU_SOURCE.

2013-06-23  Peter Bloomfield

	* src/sendmsg-window.c (to_add), (create_email_entry): restore
	drag-and-drop of a string to the To: header.

2013-06-23  Peter Bloomfield

	* src/sendmsg-window.c (create_email_entry),
	(sw_attachment_list): clean up dead and redundant code.

2013-06-21  Peter Bloomfield

	* src/sendmsg-window.c (create_email_or_string_entry),
	(create_string_entry), (create_email_entry), (create_from_entry),
	(create_info_pane): consolidate most size-group code.

2013-06-21  Peter Bloomfield

	* src/sendmsg-window.c (create_info_pane), (sw_attachment_list):
	use a GtkSizeGroup to restore alignment of attachment list.
	* src/sendmsg-window.h: new member size_group.

2013-06-21  Peter Bloomfield

	* src/sendmsg-window.c (drag_data_quote), (bsmsg2message),
	(send_message_handler): check for NULL tree-view.

2013-06-21  Peter Bloomfield

	* src/sendmsg-window.c (remove_attachment), (change_attach_mode),
	(show_attachment_widget), (add_attachment),
	(add_urlref_attachment), (create_info_pane), (sw_attachment_list),
	(sendmsg_window_new): put attachment list in its own pane.
	* src/sendmsg-window.h: add members tree_view and paned, and
	remove member attachments[].

2013-06-17  Peter Bloomfield

	* src/sendmsg-window.c (create_info_pane): allow the recipients
	widget and the attachments list to expand;
	(sendmsg_window_new): use a GtkPaned to allow the user to change
	the space allocated to the headers.

2013-06-10  Peter Bloomfield

	* src/save-restore.c (config_global_load): change default to
	UseSystemFonts=true.
	* src/balsa-app.c (balsa_app_init): ditto.

2013-06-09  Peter Bloomfield

	Add the option to use system fonts

	* src/balsa-app.h: new member gboolean use_system_fonts.
	* src/balsa-app.c (balsa_app_init): initialize it.
	* src/balsa-mime-widget-message.c (add_header_gchar): respect
	it.
	* src/balsa-mime-widget-text.c (balsa_mime_widget_new_text),
	(bm_modify_font_from_string): ditto.
	* src/pref-manager.c (open_preferences_manager), (apply_prefs),
	(attach_font_button), (preview_font_group),
	(use_system_fonts_cb): allow user to choose it.
	* src/save-restore.c (config_global_load), (config_save): save
	and restore it.
	* src/sendmsg-window.c (create_email_or_string_entry),
	(create_text_area): respect it also for compose window.

2013-05-30  Peter Bloomfield

	* src/sendmsg-window.c (balsa_sendmsg_destroy_handler),
	(sw_broker_cb), (create_lang_menu), (sendmsg_window_continue),
	(sw_spell_language_changed_cb), (sw_spell_attach), (set_locale),
	(lang_set_cb): handle language changes fromGtkSpell's
	context menu.
	* src/sendmsg-window.h: spell_check_lang is no longer const.

2013-05-29  Peter Bloomfield

	GNOME Goal: Notification Sources

	* balsa.desktop.in.in: add X-GNOME-UsesNotifications=true
	* libbalsa/information.c (libbalsa_information_varg): set
	"desktop-entry" hint for NotifyNotification.
	* src/main-window.c: ditto.

2013-05-28  Peter Bloomfield

	* configure.ac: check GtkSpell version, and avoid explicit
	dependence on enchant when possible.
	* src/sendmsg-window.c: use gtkspell_get_language_list when
	available, instead of enchant API.

2013-05-26  Peter Bloomfield

	* src/main-window.c: report network availability with a
	human-readable time; combine two idle callbacks into one.

2013-05-22  Peter Bloomfield

	Cast new mailboxes as LibBalsaMailbox, to reduce static and
	dynamic casting.

	* libbalsa/mailbox_imap.c (libbalsa_mailbox_imap_new): return
	new mailbox as (LibBalsaMailbox *).
	* libbalsa/mailbox_imap.h: ditto.
	* libbalsa/mailbox_local.c: ditto.
	* libbalsa/mailbox_local.h: ditto.
	* libbalsa/mailbox_maildir.c (libbalsa_mailbox_maildir_new):
	ditto.
	* libbalsa/mailbox_maildir.h: ditto.
	* libbalsa/mailbox_mbox.c (libbalsa_mailbox_mbox_new): ditto.
	* libbalsa/mailbox_mbox.h: ditto.
	* libbalsa/mailbox_mh.c (libbalsa_mailbox_mh_new): ditto.
	* libbalsa/mailbox_mh.h: ditto.
	* libinit_balsa/assistant_page_directory.c
	(unconditional_mailbox): remove static casts to (LibBalsaMailbox *).
	* src/mailbox-node.c (imap_scan_attach_mailbox),
	(balsa_mailbox_node_new_imap), (add_local_mailbox): avoid
	dynmaic casts to LIBBALSA_MAILBOX.

2013-05-22  Peter Bloomfield

	* src/balsa-message.c (part_info_init): do not mess with scroll
	bars.
	* src/balsa-mime-widget-text.c (balsa_mime_widget_new_text):
	ditto.

2013-05-22  Peter Bloomfield

	* src/sendmsg-window.c (create_info_pane): use
	create_email_or_string_entry for Fcc header.

2013-05-20  Peter Bloomfield

	* libbalsa/html.c: drop obsolete include.

2013-05-19  Peter Bloomfield

	Implement add-messages at LibBalsaMailboxLocal level, and use a
	new add-message method for the backends.

	* libbalsa/mailbox_local.c (libbalsa_mailbox_local_class_init):
	new add-messages method.
	* libbalsa/mailbox_local.h: new member
	LibBalsaMailboxLocalClass::add_message.
	* libbalsa/mailbox_maildir.c (libbalsa_mailbox_maildir_class_init),
	(lbm_maildir_add_message): implement
	LibBalsaMailboxLocalClass::add_message.
	* libbalsa/mailbox_mbox.c (libbalsa_mailbox_mbox_class_init),
	(lbm_mbox_add_message): ditto.
	* libbalsa/mailbox_mh.c (libbalsa_mailbox_mh_class_init),
	(lbm_mh_add_message): ditto.

2013-05-18  Peter Bloomfield

	* libbalsa/mailbox_local.c: avoid zero-divide.
	* libbalsa/mailbox_maildir.c (libbalsa_mailbox_maildir_open): do
	not change LibBalsaMailboxLocal::sync_time or ::sync_cnt.
	* libbalsa/mailbox_mbox.c (libbalsa_mailbox_mbox_open): ditto.
	* libbalsa/mailbox_mh.c (libbalsa_mailbox_mh_open): ditto.

2013-05-18  Peter Bloomfield

	* libbalsa/mailbox_local.c: restore syncing mailbox in a thread.

2013-05-16  Peter Bloomfield

	* libbalsa/imap/imap-handle.c (idle_start): use try-lock to
	avoid blocking main thread;
	(imap_handle_idle_enable): use g_timeout_add_seconds.

2013-05-16  Peter Bloomfield

	* libbalsa/mailbox.h: scrap
	LibBalsaMailboxView::mailing_list_address.
	* libbalsa/mailbox.c (libbalsa_mailbox_view_free): ditto.
	* src/save-restore.c (config_load_mailbox_view),
	(config_save_mailbox_view): ditto.
	* src/sendmsg-window.c (set_list_post_address): ditto.

2013-05-04  Peter Bloomfield

	* src/balsa-mime-widget-message.c (add_header_sigstate): fix
	typo.

2013-05-02  Peter Bloomfield

	* configure.ac: bump glib and gtk required versions.
	* libbalsa/imap-server.c (libbalsa_imap_server_init),
	(libbalsa_imap_server_finalize): drop conditional code.
	* libbalsa/libbalsa-conf.c (lbc_lock), (lbc_unlock): ditto.
	* libbalsa/libbalsa.c (libbalsa_init): ditto.
	* libbalsa/mime-stream-shared.c (lbmss_stream_class_init),
	(libbalsa_mime_stream_shared_lock),
	(libbalsa_mime_stream_shared_unlock): ditto.
	* libinit_balsa/assistant_page_user.c
	(balsa_druid_page_user_init): ditto.
	* src/balsa-mime-widget-text.c (bm_widget_new_vcard): ditto.
	* src/balsa-mime-widget-vcalendar.c (balsa_vevent_widget):
	ditto.
	* src/filter-edit-callbacks.c (fe_apply_pressed),
	(fe_filters_list_selection_changed): ditto.
	* src/filter-edit-dialog.c (fe_make_color_buttons): ditto.
	* src/folder-conf.c (folder_conf_imap_sub_node): ditto.
	* src/main-window.c: ditto.
	* src/main-window.h: ditto.
	* src/main.c (threads_init): ditto.
	* src/sendmsg-window.c (render_attach_size): ditto.

2013-05-02  Peter Bloomfield

	* libbalsa/libbalsa.c (libbalsa_init): reduce glib requirement
	to 2.32.
	* src/main.c (threads_init): ditto.
	* src/balsa-message.c (balsa_message_init): typo.

2013-05-01  Peter Bloomfield

	Replace "ghelp:" help URIs by "help:" URIs

	* libbalsa/identity.c (help_ident_cb):
	* libbalsa/smtp-server.c (smtp_server_response):
	* src/address-book-config.c (help_button_cb):
	* src/filter-edit-callbacks.c (condition_dialog_response),
	(fe_dialog_response):
	* src/filter-run-callbacks.c (fr_dialog_response):
	* src/folder-conf.c (folder_conf_response):
	* src/main-window.c:
	* src/pref-manager.c (balsa_help_pbox_display):
	* src/toolbar-prefs.c (tp_dialog_response_cb):

2013-04-30  Peter Bloomfield

	* configure.ac: fix broken NetworkManager-glib logic.

2013-04-29  Peter Bloomfield

	* src/sendmsg-window.c (delete_handler): tell the user the
	message is to "(No name)" only as a last resort; thanks to Jack
	Ostroff for reporting.

2013-04-27  Pawel Salek

	* NEWS: release balsa-2.5.1

2013-04-27  Peter Bloomfield

	Port to new documentation infrastructure

	* .gitignore: change as in <URL:https://live.gnome.org/
	GnomeGoals/NewDocumentationInfrastructure>
	* Makefile.am: ditto.
	* autogen.sh: remove gnome-doc-tool code.
	* bootstrap.sh: ditto.
	* configure.ac: test `which yelp-build` to detect yelp-tools
	package, warn if not found, but continue to configure with
	documentation disabled.

2013-04-25  Peter Bloomfield  <peter@w500.bellsouth.net>

	Improve path checking in the first-time assistant

	* libinit_balsa/assistant_helper.c (balsa_init_add_grid_entry):
	return the GtkEntry.
	* libinit_balsa/assistant_helper.h: modified API.
	* libinit_balsa/assistant_page_directory.c
	(unconditional_mailbox): report NULL mailbox error;
	(verify_mailbox_entry), (verify_button_clicked_cb),
	(verify_button): add a button for the user to verify paths.
	(entry_changed_cb), (balsa_druid_page_directory_init):
	desensitize the "next" button when any entry is changed, to make
	the user verify the new path;
	(balsa_druid_page_directory): set row spacing for vbox;
	(balsa_druid_page_directory_prepare): desensitize the "next"
	button initially;
	(balsa_druid_page_directory_back): declare as void, not
	gboolean.
	(balsa_druid_page_directory_next): ditto; move path verification
	to verify_mailbox_entry.
	* libinit_balsa/assistant_page_directory.h: remove
	Entry{Data,Master} members, and for convenience add GtkAssistant
	*druid; balsa_druid_page_directory_later is conditional on
	ENABLE_TOUCH_UI.

2013-04-25  Peter Bloomfield

	* configure.ac: detect _FILE_OFFSET_BITS in configure.ac;
	pancake, https://github.com/xtraeme/xbps-packages/commit/
	a06181186ef559d84c120e3e9a3a557d4e4914dc.

2013-04-23  Peter Bloomfield

	* src/main-window.c: build with glib < 2.32.

2013-04-23  Peter Bloomfield

	Clean up LibESMTP header includes

	* libbalsa/message.h:
	* libbalsa/misc.h:
	* libbalsa/send.c:
	* libbalsa/send.h:
	* libbalsa/smtp-server.c:
	* libbalsa/smtp-server.h:

2013-04-23  Peter Bloomfield

	* configure.ac: fix URI for finding libesmtp.

2013-04-23  Peter Bloomfield

	* Makefile.am: use HAVE_GNOME_DOC_UTILS instead of
	BUILD_WITH_G_D_U.
	* configure.ac: make sure HAVE_GNOME_DOC_UTILS and ENABLE_SK are
	defined.

2013-04-22  Peter Bloomfield

	More efficient use of space in header widget

	* src/balsa-message.c (display_face): hide the face-box when
	empty.
	* src/balsa-mime-widget-message.c (bm_header_widget_new): allow
	the face-box to be non-homogeneous.

2013-04-22  Peter Bloomfield

	Port to GNetworkMonitor from NetworkManager

	* configure.ac: if configure --with-nm when GNetworkMonitor
	is available (glib >= 2.32), announce that we will actually
	use GNetworkMonitor.
	* src/main-window.c: Use GNetworkMonitor, when available,
	instead of NetworkManager.
	* src/main-window.h: replace NMState nm_state with gboolean
	network_available.

2013-04-22  Peter Bloomfield

	New message header widget, based on GtkInfoBar

	* src/balsa-message.c (bm_header_tl_buttons),
	(balsa_message_init): return an array of buttons instead of a
	widget;
	(display_face): get container from BalsaMessage.
	* src/balsa-message.h: new member.
	* src/balsa-mime-widget-message.c
	(balsa_mime_widget_new_message_tl), (bm_header_extend_popup),
	(bm_header_widget_new), (label_size_allocate_cb), (expanded_cb),
	(add_header_gchar), (add_header_address_list), (foreach_label),
	(balsa_mime_widget_message_set_headers),
	(balsa_mime_widget_message_set_headers_d),
	(add_header_sigstate): new widget.
	* src/balsa-mime-widget-message.h: new API for passing buttons.

2013-04-22  Peter Bloomfield

	* src/balsa-index.c (bndx_scroll_on_open_idle),
	(balsa_index_scroll_on_open): scroll in an idle handler, after
	the mailbox has been opened.

2013-04-16  Peter Bloomfield

	* libbalsa/address-view.c (lbav_drop_down_activated_cb),
	(libbalsa_address_view_new): use LibBalsaCellRendererButton for
	the drop-down icon, so that we can drop down the combo-box when
	the icon is clicked.

2013-04-15  Peter Bloomfield

	Fix miscounting of unread messages

	* libbalsa/mailbox_local.h: new member
	gboolean _LibBalsaMailboxLocalMessageInfo::loaded.
	* libbalsa/mailbox_local.c (libbalsa_mailbox_local_load_message),
	(lbm_local_restore_tree): use it to indicate when we are
	changing flags on a message that has not yet been counted.
	* libbalsa/mailbox_mbox.c (parse_mailbox), (lbm_mbox_restore):
	initialize it to FALSE.

2013-04-12  Peter Bloomfield

	* src/balsa-mime-widget-message.c (bm_header_widget_realized):
	set colors from the treeview instead of the scrolled window.

2013-04-11  Peter Bloomfield  <peter@w500.bellsouth.net>

	* libbalsa/misc.c (lb_create_size_group_func): we no longer use
	GtkTable.

2013-04-11  Peter Bloomfield

	* src/balsa-message.c (bm_on_set_style),
	(bm_find_scroll_to_rectangle), (balsa_message_init),
	(select_part): remove dependence on GtkViewPort.
	* src/balsa-message.h: ditto.
	* src/balsa-mime-widget-callbacks.c
	(balsa_mime_widget_key_press_event): ditto.
	* src/balsa-mime-widget-image.c (balsa_mime_widget_new_image):
	ditto.

2013-04-11  Peter Bloomfield

	* src/toolbar-prefs.c (create_toolbar_page):
	gtk_scrolled_window_add_with_viewport is deprecated.

2013-04-11  Peter Bloomfield

	* libbalsa/misc.c (lb_create_size_group_func): GtkTable is
	deprecated.

2013-04-11  Peter Bloomfield

	* libbalsa/libbalsa.c (libbalsa_init): g_thread_supported is
	deprecated in glib-2.36.

2013-04-10  Peter Bloomfield

	* src/balsa-mblist.c (update_mailbox_idle),
	(bmbl_mailbox_changed_cb): replace Gdk lock with our own lock.

2013-04-09  Peter Bloomfield

	* libbalsa/imap/imap_tst.c (main): g_type_init is deprecated.
	* src/main.c (threads_init): ditto.

2013-04-08  Peter Bloomfield

	* configure.ac: add webkit2 as an option for --with-html-widget.

2013-04-08  Peter Bloomfield

	* libbalsa/html.c (lbh_get_web_view): can-select and select-all
	sometimes pass the web-view and sometimes the container.
	* src/balsa-mime-widget-text.c (bm_select_all_cb),
	(bmwt_populate_popup_menu): add "select all" to the
	webKitWebView context menu, the same as for a GtkTextView

2013-04-08  Peter Bloomfield

	* libbalsa/html.c (lbh_context_menu_cb): pass the GdkEvent when
	emitting "popup-menu";
	* libbalsa/html.h: define key for GdkEvent.
	* src/balsa-mime-widget-text.c (balsa_gtk_html_popup): use it to
	pass the event time when popping up the menu.

2013-04-08  Peter Bloomfield

	* libbalsa/send.c (libbalsa_set_message_id): constify two
	strings.

2013-04-07  Peter Bloomfield

	* src/balsa-mime-widget-message.c (bmwm_set_headers_d_idle_cb),
	(balsa_mime_widget_message_set_headers_d): queue iheader widget
	resize in an idle handler, to get the size right the first time.
	* src/main-window.c: initially hide the preview.

2013-04-06  Peter Bloomfield

	* configure.ac: simplify WebKit2 configuration.

2013-04-06  Peter Bloomfield

	* configure.ac: require GtkSourceView 3.2
	* src/sendmsg-window.c: gtksource.h is the main header; fixes
	bgo #697454 (Dominique Leuenberger).

2013-04-06  Peter Bloomfield

	* libbalsa/html.c (libbalsa_html_popup_menu_widget),
	(libbalsa_html_print): actually print the HTML part.

2013-04-05  Peter Bloomfield

	* libbalsa/html.c (lbh_context_menu_cb), (libbalsa_html_new):
	catch WebKit's "context-menu" signal, and emit "popup-menu" on
	the parent widget instead.
	* src/balsa-mime-widget-text.c (balsa_gtk_html_popup): do not
	unref the popup menu.

2013-04-04  Peter Bloomfield

	* libbalsa/html.c (lbh_info_bar_response_cb): no need to reload;
	(lbh_resource_load_started_cb): no need for cache;
	(lbh_cid_cb), (libbalsa_html_new): register the "cid:" protocol
	handler only once, to avoid crashing the web process.

2013-04-04  Peter Bloomfield

	Handle "cid:" protocol for images

	* libbalsa/html.c (lbh_info_bar_response_cb), (lbh_info_bar):
	simplify info-bar code.
	(lbh_resource_load_started_cb), (lbh_cid_cb),
	(libbalsa_html_new): set up a handler for "cid:" protocol.

2013-04-03  Peter Bloomfield

	* libbalsa/filter-funcs.c (append_header_names),
	(append_flag_names): do not mark text-free string for
	translation.
	* libbalsa/imap-server.c (is_info_cb): ditto.

2013-04-02  Peter Bloomfield

	* libbalsa/html.c (lbh_get_body_content_utf8): sanitize UTF-8
	text.

2013-03-31  Peter Bloomfield

	Do not leak search-text

	* libbalsa/html.c (lbh_webkit_info_free), (libbalsa_html_new),
	(lbh_search_failed_to_find_text_cb), (lbh_search_found_text_cb),
	(lbh_search_init), (lbh_search_continue), (libbalsa_html_search):
	move search info to LibBalsaWebKitInfo, and free search-text in
	the GDestroyNotify function.

2013-03-30  Peter Bloomfield

	Refactor HTML search code to work with asynchronous search in
	Webkit2.

	* libbalsa/html.c (lbh_web_process_crashed_cb): spew message
	only when debugging;
	(lbh_search_failed_to_find_text_cb), (lbh_search_found_text_cb),
	(lbh_search_init), (lbh_search_continue),
	(libbalsa_html_search): work with asynchronous search;
	(libbalsa_html_get_selection_bounds): is now gboolean, return
	FALSE in Webkit2 version.
	* libbalsa/html.h: new protoypes.
	* src/balsa-message.c (bm_find_cb), (bm_find_entry_changed_cb),
	(bm_find_again), (balsa_message_destroy): work with asynchronous
	search.
	* src/balsa-message.h: add gpointer member to store HTML search
	info.

2013-03-28  Peter Bloomfield

	* libbalsa/html.c (lbh_navigation_policy_decision),
	(lbh_new_window_policy_decision), (lbh_response_policy_decision):
	Clicking a link may cause a new window policy decision, instead
	of a navigation policy decision; we handle both cases.

2013-03-27  Peter Bloomfield

	* libbalsa/html.c: reduce zoom factor to +/- 20%.

2013-03-27  Peter Bloomfield

	* libbalsa/html.c (lbh_info_bar_response_cb),
	(lbh_info_bar_realize_cb), (lbh_show_info_bar),
	(lbh_resource_load_started_cb), (libbalsa_html_new):
	Use regex scan of HTML text to detect downloads, because Webkit2
	does not alert us in time to control them.

2013-03-24  Peter Bloomfield

	Initial check in support for WebKitGtk2

	* configure.ac: add webkit2 as an html-engine option; default is
	still webkit.
	* libbalsa/html.c (lbh_get_body_content_utf8),
	(lbh_webkit_info_free), (lbh_mouse_target_changed_cb),
	(lbh_navigation_policy_decision), (lbh_new_window_policy_decision),
	(lbh_response_policy_decision), (lbh_decide_policy_cb),
	(lbh_info_bar_response_cb), (lbh_show_info_bar),
	(lbh_resource_load_started_cb), (lbh_web_process_crashed_cb),
	(libbalsa_html_new), (libbalsa_html_to_string), (lbh_get_web_view),
	(libbalsa_html_can_zoom), (libbalsa_html_zoom),
	(libbalsa_html_can_select), (libbalsa_html_select_all),
	(libbalsa_html_copy), (libbalsa_html_can_search),
	(lbh_js_run_script), (lbh_js_object_get_property),
	(libbalsa_html_search_text), (libbalsa_html_get_selection_bounds),
	(libbalsa_html_popup_menu_widget), (libbalsa_html_get_view_widget),
	(libbalsa_html_can_print), (libbalsa_html_print): support
	webkit2 option.

2013-03-21  Peter Bloomfield

	* libbalsa/mailbox.c (libbalsa_mailbox_set_view_filter): clean
	up logic.

2013-03-21  Peter Bloomfield

	* src/main-window.c: set mailbox view filter on opening, not on
	notebook page change.

2013-03-19  Peter Bloomfield

	* src/balsa-index.c (balsa_index_load_mailbox_node),
	(bndx_mailbox_changed_cb): connect signal not swapped.

2013-03-19  Peter Bloomfield

	GdkThreads deprecation cleanup

	* libbalsa/libbalsa.c (libbalsa_lock_mailbox),
	(libbalsa_unlock_mailbox): strip out GdkThreads-related code.
	* libbalsa/libbalsa.h: ditto.
	* libbalsa/mailbox.c (libbalsa_mailbox_msgno_find),
	(mbox_model_get_path), (libbalsa_mailbox_search_iter_step):
	ditto.
	* src/main.c (threads_init), (threads_destroy): ditto.

2013-03-19  Peter Bloomfield

	* src/main-window.c: use thread to check for new mail.

2013-03-17  Peter Bloomfield

	* src/mailbox-node.c (mb_rescan_cb): reopen mailboxes in the UI
	callback,
	(balsa_mailbox_node_rescan): not in the recursive function
	* src/balsa-app.c (balsa_open_mailbox_list): make sure first
	mailbox in the list is not hidden.

2013-03-17  Peter Bloomfield

	* src/balsa-app.c (open_mailbox_by_url),
	(balsa_open_mailbox_list): change gboolean
	open_mailboxes_idle_cb() to void balsa_open_mailbox_list().
	* src/balsa-app.h: ditto.
	* src/mailbox-node.c (balsa_mailbox_node_rescan): ditto.
	* src/main.c (open_mailboxes_idle_cb), (scan_mailboxes_idle_cb):
	open_mailboxes_idle_cb is now just the idle callback.

2013-03-17  Peter Bloomfield

	Reopen mailboxes after rescanning

	* src/mailbox-node.c (imap_dir_cb): do not unref mbnode;
	(imap_scan_create_mbnode): do not ref mbnode; protect view
	during rescanning;
	(balsa_mailbox_node_rescan): reopen mailboxes after scanning.

2013-03-17  Peter Bloomfield

	* libbalsa/libbalsa-conf.c (libbalsa_conf_sync),
	(libbalsa_conf_sync_idle_cb): remove source in public method.

2013-03-16  Peter Bloomfield

	* libbalsa/mailbox_local.c (lbm_local_queue_save_tree): build
	with threads disabled.

2013-03-16  Peter Bloomfield

	* libbalsa/libbalsa-conf.c (libbalsa_conf_sync_idle_cb),
	(libbalsa_conf_queue_sync): fix error and use lock only when
	using threads.

2013-03-16  Peter Bloomfield

	Queue config syncs instead of syncing immediately, except on
	exit cleanup

	* libbalsa/libbalsa-conf.c (libbalsa_conf_sync_idle_cb),
	(libbalsa_conf_queue_sync): new API libbalsa_conf_queue_sync.
	* libbalsa/libbalsa-conf.h: ditto.
	* src/ab-main.c (address_book_change), (file_delete_cb): use it.
	* src/save-restore.c (config_address_book_save),
	(config_address_book_delete), (config_mailbox_add),
	(config_folder_add), (config_mailbox_delete),
	(config_folder_delete), (config_mailbox_update),
	(config_folder_update), (config_filters_save),
	(config_mailbox_filters_save): ditto.

2013-03-16  Peter Bloomfield

	* src/main-window.c: do not leak object refs on error.

2013-03-16  Peter Bloomfield

	* src/mailbox-node.c (balsa_mailbox_node_dispose): make sure
	LibBalsaMailboxView::open is correct before saving the view.

2013-03-15  Peter Bloomfield

	* src/balsa-app.c (append_url_if_open): libbalsa_conf_foreach
	passes an encoded URL.
	* src/mailbox-node.c (check_url_func): ditto.

2013-03-14  Peter Bloomfield

	Streamline handling of LibBalsaMailboxView

	* libbalsa/mailbox.c (libbalsa_mailbox_finalize): free the view;
	(libbalsa_mailbox_view_free), (lbm_get_view): check for NULL
	view;
	(libbalsa_mailbox_set_identity_name),
	(libbalsa_mailbox_set_threading_type),
	(libbalsa_mailbox_set_sort_type),
	(libbalsa_mailbox_set_sort_field), (libbalsa_mailbox_set_show),
	(libbalsa_mailbox_set_subscribe), (libbalsa_mailbox_set_exposed),
	(libbalsa_mailbox_set_open), (libbalsa_mailbox_set_filter),
	(libbalsa_mailbox_set_unread), (libbalsa_mailbox_set_total),
	(libbalsa_mailbox_set_mtime), (libbalsa_mailbox_get_filter):
	drop LibBalsaMailboxView::frozen and the hash table.
	* libbalsa/mailbox.h: ditto.
	* src/balsa-app.c (balsa_app_destroy), (append_url_if_open),
	(open_mailbox_by_url), (open_mailboxes_idle_cb),
	(balsa_add_open_mailbox_urls): traverse views in the config
	instead of in the hash table.
	* src/mailbox-conf.c (mailbox_conf_add),
	(mailbox_conf_view_check): ditto.
	* src/mailbox-node.c (balsa_mailbox_node_dispose),
	(check_url_func), (check_local_path), (load_mailbox_view),
	(check_imap_path): ditto.
	* src/pref-manager.c (update_view_defaults), (apply_prefs):
	ditto.
	* src/main.c (real_main), (balsa_cleanup): no hash table.
	* src/save-restore.c (config_view_remove),
	(config_defclient_save): no hash table.
	(config_mailbox_had_property), (config_mailbox_was_open),
	(config_mailbox_was_exposed), (config_load_mailbox_view),
	(config_save_mailbox_view): new methods.
	* src/save-restore.h: ditto.

2013-03-14  Peter Bloomfield

	* libbalsa/libbalsa-conf.c (libbalsa_conf_has_key): new
	function.
	* libbalsa/libbalsa-conf.h: ditto.

2013-03-11  Peter Bloomfield

	Lock mailbox to avoid race

	* libbalsa/mailbox.c (lbm_changed_idle_cb),
	(lbm_changed_schedule_idle), (libbalsa_mailbox_changed),
	(lbm_check_idle), (lbm_queue_check): lock the mailbox while
	storing the id of an idle call, to avoid a race with the main
	thread callback.
	* libbalsa/mailbox_local.c (lbm_local_queue_save_tree),
	(lbml_load_messages_idle_cb),
	(libbalsa_mailbox_local_load_messages),
	(libbalsa_mailbox_local_prepare_threading): ditto.

2013-03-07  Peter Bloomfield

	Use --with-gnome more carefully

	* configure.ac: set HAVE_GNOME when configuring --with-gnome.
	* libinit_balsa/assistant_init.c (balsa_initdruid):
	default-client makes sense on non-GNOME builds.
	* libinit_balsa/assistant_page_defclient.c
	(balsa_druid_page_defclient_toggle): ditto.
	* libinit_balsa/assistant_page_defclient.h: ditto.
	* src/main.c (config_init), (mailboxes_init): ditto.
	* src/save-restore.c (config_defclient_save): ditto.
	* src/main-window.c: gnome-triggers code is totally dead.

2013-03-06  Peter Bloomfield

	* src/main.c (scan_mailboxes_idle_cb): do not pass unowned
	string.

2013-03-06  Peter Bloomfield

	Combine all mailboxes to be opened at startup into a single
	array.

	* src/balsa-app.c (open_mailboxes_idle_cb),
	(balsa_add_open_mailbox_urls):
	* src/balsa-app.h: new method balsa_add_open_mailbox_urls; drop
	hacky extra-open-ref.
	* src/main.c (initial_open_inbox), (balsa_check_open_mailboxes),
	(scan_mailboxes_idle_cb), (balsa_cleanup), (handle_remote):
	collect mailbox URLs in an array.

2013-03-06  Peter Bloomfield

	* src/balsa-index.c (bndx_queue_draw_idle_cb),
	(bndx_mailbox_changed_idle): queue redrawing the message index
	each time anything changes, to try to fix mis-rendering.

2013-03-04  Peter Bloomfield

	* src/main.c (initial_open_inbox), (balsa_cleanup): remember
	when we have opened Inbox twice.
	* src/balsa-app.h: add member to remember it.

2013-03-03  Peter Bloomfield

	* src/balsa-index.c (balsa_index_scroll_on_open): always use an
	idle callback to select a message or set the tree-view's cursor.

2013-03-02  Peter Bloomfield

	* libbalsa/mailbox.c (lbm_changed_schedule_idle),
	(libbalsa_mailbox_msgno_filt_in),
	(libbalsa_mailbox_msgno_filt_out): set mailbox_changed only when
	it really has changed.
	* libbalsa/mailbox_local.c (libbalsa_mailbox_local_class_init),
	(libbalsa_mailbox_local_changed), (lbm_local_save_tree_real),
	(lbm_local_queue_save_tree), (lbml_load_messages_idle_cb),
	(libbalsa_mailbox_local_load_messages): implement the "changed"
	vfunc, and use it to schedule saving the message tree structure.
	* libbalsa/mailbox_local.h: new member to temporarily hold the
	current last msgno.

2013-03-02  Peter Bloomfield

	* libbalsa/server.c (libbalsa_server_save_config): report
	error saving password.

2013-03-02  Peter Bloomfield

	Re-enable mailbox check in a subthread

	* libbalsa/mailbox.c (libbalsa_mailbox_progress_notify),
	(libbalsa_mailbox_msgno_inserted),
	(libbalsa_mailbox_msgno_removed),
	(libbalsa_mailbox_unlink_and_prepend), (lbm_set_msg_tree):
	insert subthread warnings.
	(lbm_check_idle): check mailbox in a subthread.
	* libbalsa/mailbox_local.c (lbml_load_messages_idle_cb),
	(libbalsa_mailbox_local_load_messages): load messages in the
	main thread, in an idle callback;
	(libbalsa_mailbox_local_finalize): remove any pending idle call.
	* libbalsa/mailbox_local.h: new member of LibBalsaMailboxLocal
	for the idle id.

2013-03-01  Peter Bloomfield

	* libbalsa/mailbox.h: idle id is guint, not gulong.

2013-03-01  Peter Bloomfield

	* libbalsa/mailbox.h: new LibBalsaMailbox members
	changed_idle_id and queue_check_idle_id.
	* libbalsa/mailbox.c (libbalsa_mailbox_finalize),
	(libbalsa_mailbox_check), (lbm_changed_idle_cb),
	(lbm_changed_schedule_idle), (libbalsa_mailbox_changed),
	(libbalsa_mailbox_msgno_filt_in),
	(libbalsa_mailbox_msgno_filt_out), (lbm_check_real),
	(lbm_queue_check): use them.

2013-02-28  Peter Bloomfield

	* src/balsa-index.c: refactor and simplify.

2013-02-28  Peter Bloomfield

	* src/main-window.c: survive torture test.

2013-02-28  Peter Bloomfield

	* libbalsa/mailbox.c (lbm_msgno_filt_check),
	(lbm_msgno_filt_check_idle_cb),
	(libbalsa_mailbox_msgno_filt_check): check message against view
	filter synchronously when in the main thread.

2013-02-28  Pawel Salek

	* configure.ac: remove dependency on legacy gnome-icon-scheme pkg.
	* NEWS, configure.ac: release balsa-2.5.0

2013-02-28  Peter Bloomfield

	* libbalsa/mailbox.c: build with threads disabled.

2013-02-27  Peter Bloomfield

	* libbalsa/mailbox.c (lbm_run_filters_on_reception_idle_cb),
	(libbalsa_mailbox_run_filters_on_reception): run filters in an
	idle callback.

2013-02-26  Peter Bloomfield

	* src/main-window.c: do not use another idle handler to set the
	mailbox view-filter.

2013-02-26  Peter Bloomfield

	Instead of forgetting open mailboxes, do not remember them in
	the first place.

	* src/balsa-app.c (append_url_if_open): revert.
	* src/main.c (scan_mailboxes_idle_cb): ditto.
	* src/save-restore.c (save_view): remember open mailbox only if
	balsa_app.remember_open_mboxes.

2013-02-26  Peter Bloomfield

	* src/balsa-app.c (ask_password): use a mutex to make sure that
	only one dialog pops up at a time.

2013-02-26  Peter Bloomfield

	* libbalsa/mailbox_local.c (lbm_local_save_tree_real),
	(lbm_local_queue_save_tree): check that the message tree has
	changed in the idle handler, instead of in the scheduler.

2013-02-26  Peter Bloomfield

	* src/balsa-app.c (append_url_if_open): in_sync is gboolean.

2013-02-26  Peter Bloomfield

	* src/balsa-app.c (append_url_if_open): mark view out-of-sync
	only if it really is.

2013-02-26  Peter Bloomfield

	* src/balsa-app.c (append_url_if_open),
	(open_mailboxes_idle_cb): if we are not remembering open
	mailboxes, forget them.
	* src/main.c (scan_mailboxes_idle_cb): always call
	open_mailboxes_idle_cb so we can forget them.

2013-02-25  Peter Bloomfield

	* src/sendmsg-window.c (balsa_sendmsg_destroy_handler),
	(sendmsg_window_new), (bsmsg2message), (sw_buffer_changed):
	remove annoying wrap timeout, and carry out autosave timeout
	without disturbing the compose window.
	* src/sendmsg-window.h: remove timeout id.

2013-02-25  Peter Bloomfield

	* libbalsa/mailbox.c (lbm_msgno_filt_check): check that mailbox
	is still open.

2013-02-25  Peter Bloomfield

	* libbalsa/mailbox.c (libbalsa_mailbox_search_iter_ref): allow
	NULL iter.

2013-02-25  Peter Bloomfield

	* configure.in: actually error out if libsecret devel is not
	installed.

2013-02-24  Peter Bloomfield

	Port from GnomeKeyring to libsecret.

	* configure.in: implement --with-libsecret as an alternative to
	GnomeSecret.
	* libbalsa/imap-server.c (libbalsa_imap_server_new_from_config):
	use libsecret if configured.
	* libbalsa/server.c (libbalsa_server_load_config),
	(libbalsa_server_save_config): ditto.
	* libbalsa/server.h: ditto.
	* src/balsa-app.c (ask_password_real): new string to request
	saving in secret service.
	* src/folder-conf.c (folder_conf_imap_node): ditto.
	* src/mailbox-conf.c (create_imap_mailbox_dialog): ditto.

2013-02-23  Peter Bloomfield

	* update all copyrights to 2013.

2013-02-23  Peter Bloomfield

	* src/main.c (handle_remote): handle -h option.

2013-02-23  Peter Bloomfield

	* libbalsa/mailbox.c (lbm_msgno_changed),
	(libbalsa_mailbox_msgno_changed): make sure parent message is
	checked.

2013-02-23  Peter Bloomfield

	* libbalsa/mailbox.c (lbm_msgno_filt_check),
	(libbalsa_mailbox_msgno_filt_check): use an idle callback to
	check whether to filter a message in or out.

2013-02-21  Peter Bloomfield

	* libbalsa/mailbox.c (libbalsa_mailbox_finalize),
	(lbm_msgno_row_changed), (lbm_msgnos_changed_idle_cb),
	(lbm_msgno_changed), (lbm_get_index_entry): restore threaded
	versions of get_index_entry and msgno_changed.

2013-02-21  Peter Bloomfield

	* src/ab-main.c (main): deprecation cleanup.

2013-02-21  Peter Bloomfield

	* libbalsa/mailbox.c (libbalsa_mailbox_finalize): build without
	threads.

2013-02-21  Peter Bloomfield

	* src/main-window.c: do not leave progress bar crawling.

2013-02-21  Peter Bloomfield

	* src/balsa-index.c (balsa_index_load_mailbox_node): move
	libbalsa_mailbox_open call to balsa_window_real_open_mbnode.
	* src/balsa-index.h: drop unused argument.
	* src/main-window.c: open mailbox in a thread.

2013-02-21  Peter Bloomfield

	* src/main.c (balsa_progress_set_text): do not check for
	subthread, as balsa_window_setup_progress is thread-safe.

2013-02-20  Peter Bloomfield

	* src/main-window.c: set up progress bar in an idle callback.

2013-02-20  Peter Bloomfield

	* src/main-window.c: change button sensitivity in an idle
	callback.

2013-02-20  Peter Bloomfield

	* src/balsa-app.c (balsa_find_iter_by_data): check for
	sub-thread.

2013-02-20  Peter Bloomfield

	* src/balsa-app.c (balsa_find_url): thread-safe.

2013-02-20  Peter Bloomfield

	* libbalsa/send.c (balsa_send_message_real_idle_cb),
	(balsa_send_message_real): close outbox in an idle callback.

2013-02-20  Peter Bloomfield

	* libbalsa/libbalsa-gpgme.c (libbalsa_gpgme_init): use g_message
	instead of g_warning.

2013-02-20  Peter Bloomfield

	* configure.in: new option --enable-debug-threads.
	* libbalsa/libbalsa.h: use it to define gdk_threads_enter() to
	detect a sub-thread.

2013-02-20  Peter Bloomfield

	Build with enable-threads; check POP3 mail and send messages in
	threads.

	* libbalsa/libbalsa.c (libbalsa_lock_mailbox),
	(libbalsa_threads_init), (libbalsa_threads_has_lock): rip out
	gdk_threads-related code.
	* libbalsa/libbalsa.h: ditto.
	* src/main.c (threads_init): ditto.
	* libbalsa/imap-server.c (connection_cleanup): not ready for
	threads.
	* libbalsa/mailbox.c (libbalsa_mailbox_class_init),
	(lbm_get_index_entry), (lbm_check_idle): ditto.
	* libbalsa/mailbox_local.c (lbm_local_save_tree_idle): ditto
	* libbalsa/mailbox_pop3.c: use a thread.
	* libbalsa/mailbox_pop3.h: ditto.
	* libbalsa/send.c (lbs_process_queue), (libbalsa_process_queue):
	* src/main-window.c: ditto.

2013-02-16  Peter Bloomfield

	* libbalsa/libbalsa-conf.c (lbc_lock), (lbc_unlock): call
	lbc_init() only once.

2013-01-15  Peter Bloomfield

	* src/main-window.c: emit signal instead of calling NULL class
	method.

2013-01-08  Peter Bloomfield

	* src/pref-manager.c (create_layout_types_menu): use relevant
	enum.

2013-01-08  Peter Bloomfield

	* src/main-window.c: mailbox index cannot shrink.

2012-12-08  Peter Bloomfield

	* src/main-window.c: use idle callback to check mail when not
	threaded.

2012-11-27  Peter Bloomfield

	* src/balsa-index.c (balsa_index_scroll_on_open): use idle
	callback only from a subthread.

2012-11-21  Peter Bloomfield

	Build with gtk 3.6, at least without threads

	* libbalsa/information.c: include libbalsa.h.
	* libbalsa/libbalsa.h: when not threaded, define
	gdk_threads_{enter,leave} to nothing.
	* libbalsa/mailbox.c (lbm_cache_message): when not threaded,
	avoid recursive signal call.
	* libbalsa/misc.c: remove deprecated GtkTable code.
	* libbalsa/misc.h: ditto.
	* src/balsa-mime-widget-image.c (img_check_size): build with
	gdk_threads_{enter,leave} defined to nothing.
	* src/filter-edit-callbacks.c (fe_apply_pressed),
	(fe_filters_list_selection_changed): deprecation cleanup.
	* src/filter-edit-dialog.c (fe_make_color_buttons): ditto.
	* src/main-window.c: CSS cleanup.
	* src/pref-manager.c (apply_prefs), (set_prefs): deprecation
	cleanup.

2012-11-14  Peter Bloomfield

	Port to newly released Gtkspell 3.0

	* configure.in: renamed pkg-config file.
	* src/sendmsg-window.c (sw_spell_attach), (sw_spell_detach): new
	API.

2012-10-29

	* configure.in, NEWS: release 2.4.91

2012-10-22  Pawel Salek

	* libbalsa/imap/pop3.c: fix long-line POP3 bug reported by Rob Landley.

2012-09-30  Peter Bloomfield

	* src/store-address.c (store_address_add_address),
	(store_address_add_list): store a group as a distribution list,
	if the address book implements lists.

2012-09-30  Peter Bloomfield

	* libbalsa/libbalsa.c (ask_cert_real): replace "&" by "&amp;" in
	marked-up string.

2012-09-17  Peter Bloomfield

	Fix bgo #684124

	* libinit_balsa/assistant_page_defclient.c
	(balsa_druid_page_defclient_init): capitalize "Balsa".
	* src/balsa-mime-widget-callbacks.c
	(balsa_mime_widget_ctx_menu_save): capitalize "URI".
	* src/filter-edit-dialog.c (filters_edit_dialog): space after
	".".

2012-09-17  Ildar Mulyukov <ildar@altlinux.ru>

	* balsa.desktop.in.in: fix desktop categories.

2012-09-17  Peter Bloomfield

	Revert all changes moving Gtk access from subthreads to main
	thread.

	* libbalsa/libbalsa.c (libbalsa_threads_enter):
	* libbalsa/mailbox.c (lbm_index_entry_new_from_msg),
	(libbalsa_mailbox_close), (libbalsa_mailbox_msgno_inserted),
	(libbalsa_mailbox_msgno_removed),
	(libbalsa_mailbox_msgno_filt_check), (lbm_cache_message):
	* libbalsa/mailbox_local.c (libbalsa_mailbox_local_load_messages):
	* src/balsa-app.c (find_url), (balsa_find_url):
	* src/balsa-index.c (balsa_index_load_mailbox_node):
	* src/balsa-index.h:
	* src/main-window.c:
	* src/main.c (balsa_progress_set_text),
	(balsa_progress_set_fraction):

2012-09-08  Peter Bloomfield

	* configure.in:  _NL_MEASUREMENT_MEASUREMENT is an enum and not
	a define.
	* src/print-gtk.c (get_default_user_units): use
	HAVE__NL_MEASUREMENT_MEASUREMENT.

2012-08-10  Peter Bloomfield

	* libbalsa/body.c (libbalsa_message_body_get_part_stream):
	simplify filter selection switch.

2012-08-09  Peter Bloomfield

	* src/balsa-mime-widget-message.c (bm_header_widget_realized):
	use BalsaMessage::scroll as the context for header widget
	colors.

2012-07-22  Peter Bloomfield

	* src/store-address.c (store_address_book_frame): reduce scope
	of variables.

2012-07-22  Peter Bloomfield

	* src/sendmsg-window.c (update_bsmsg_identity): reduce scope of
	variables;
	(tree_add_quote_body): suppress null pointer warning.

2012-07-22  Peter Bloomfield

	* src/save-restore.c (pop3_progress_notify): suppress memory
	leak warning.

2012-07-22  Peter Bloomfield

	* src/main-window.c: use sscanf field limits; suppress null
	pointer warning.

2012-07-22  Peter Bloomfield

	* src/mailbox-conf.c (mailbox_conf_update): reduce scope of
	variable.

2012-07-22  Peter Bloomfield

	* src/balsa-mime-widget.c (balsa_mime_widget_new_unknown):
	reduce scope of variables.

2012-07-22  Peter Bloomfield

	* src/balsa-index.c (pipe_out_watch): reduce scope of variable.

2012-07-22  Peter Bloomfield

	* libinit_balsa/assistant_page_directory.c
	(unconditional_mailbox): reduce scope of variable.

2012-07-22  Peter Bloomfield

	* libbalsa/send.c (balsa_send_message_real): suppress memory
	leak warning.

2012-07-22  Peter Bloomfield

	* libbalsa/message.c (prepend_header_misc): check loop index
	value before using it.

2012-07-22  Peter Bloomfield

	* libbalsa/mailbox_pop3.c (mp_load_uids): reduce scope of
	variable.

2012-07-22  Peter Bloomfield

	* libbalsa/mailbox_mh.c (lbm_mh_parse_mailbox),
	(lbm_mh_handle_seq_line), (lbm_mh_check): use sscanf field
	limits.

2012-07-22  Peter Bloomfield

	* libbalsa/mailbox_mbox.c (lbm_mbox_stream_seek_to_message):
	avoid unread variable error.

2012-07-22  Peter Bloomfield

	* libbalsa/mailbox_imap.c (is_child_of), (create_cache_copy),
	(libbalsa_mailbox_imap_sort): reduce scope of variables.

2012-07-22  Peter Bloomfield

	* libbalsa/mailbox.c (libbalsa_mailbox_type_from_path): reduce
	scope of variable.

2012-07-22  Peter Bloomfield

	* libbalsa/libbalsa.c (libbalsa_guess_mail_spool),
	(asn1time_to_string), (x509_get_part): reduce scope of
	variables;
	(libbalsa_get_image_from_x_face_header): use sscanf field limit.

2012-07-22  Peter Bloomfield

	* libbalsa/imap/siobuf.c (sio_set_tlsclient_ssl),
	(sio_set_tlsserver_ssl), (raw_read): reduce scope of variables.

2012-07-22  Peter Bloomfield

	* libbalsa/imap/pop3.c (parse_list_response): use sscanf field
	limits.

2012-07-22  Peter Bloomfield

	* libbalsa/imap/imap_tst.c (get_user), (user_cb): reduce scope
	of variables.

2012-07-22  Peter Bloomfield

	* libbalsa/imap/imap_search.c (imap_search_key_new_string),
	(imap_search_exec_unlocked): reduce scope of variables.

2012-07-22  Peter Bloomfield

	* libbalsa/imap/imap-tls.c (imap_check_server_identity): reduce
	scope of variable.

2012-07-22  Peter Bloomfield

	* libbalsa/imap/imap-handle.c (imap_handle_disconnect),
	(imap_cmd_step), (imap_get_sequence), (ir_get_append_copy_uids),
	(ir_status), (ir_quota), (ir_body_extension),
	(ir_handle_response): suppress unread-variable error, use sscanf
	field limits, reduce scope.

2012-07-22  Peter Bloomfield

	* libbalsa/imap/imap-commands.c (imap_assure_needed_flags),
	(imap_mbox_sort_msgno_srv), (imap_mbox_sort_filter): reduce
	scope of variables.

2012-07-22  Peter Bloomfield

	* libbalsa/imap-server.c (libbalsa_imap_server_get_handle,
	libbalsa_imap_server_get_handle_with_user): reduce scope of
	variables; suppress incorrect null pointer error.

2012-07-22  Peter Bloomfield

	* libbalsa/gmime-multipart-crypt.c (sign_prepare): reduce scope.

2012-07-22  Peter Bloomfield

	* libbalsa/gmime-gpgme-signature.h: suppress cppcheck syntax
	error.

2012-07-22  Peter Bloomfield

	* libbalsa/address-book-extern.c (parse_externq_file): use
	*scanf field limits to satisfy cppcheck.

2012-07-15  Peter Bloomfield

	* src/mailbox-node.c (balsa_mailbox_local_append): simplify.

2012-07-15  Peter Bloomfield

	* libbalsa/mailbox_imap.c (imap_cache_manager_new_from_file): do
	not leak FILE on error.

2012-07-15  Peter Bloomfield

	* libbalsa/imap/pop3.c (pop_check_status): remove redundant else
	clause.

2012-07-15  Peter Bloomfield

	* libbalsa/identity.h: typo.

2012-07-15  Peter Bloomfield

	* libbalsa/identity.c (libbalsa_identity_get_signature): limit
	scope of fp.

2012-07-15  Peter Bloomfield

	* src/sendmsg-window.c (edit_with_gnome): plug mem leak.

2012-07-15  Peter Bloomfield

	* libbalsa/address.c (libbalsa_address_extract_name): plug mem
	leak.

2012-07-15  Peter Bloomfield

	* libbalsa/address-book-ldif.c
	(libbalsa_address_book_ldif_save_address): fseek before writing
	to stream.

2012-07-15  Peter Bloomfield

	* libbalsa/imap/imap_compress.c (imap_compress_init): memset
	size of struct, not size of pointer to struct.

2012-07-15  Peter Bloomfield

	* src/balsa-mime-widget-text.c (structured_phrases_toggle):
	typo.

2012-07-15  Peter Bloomfield

	* libbalsa/imap/imap_search.c (imap_write_key_string): typo.

2012-07-15  Albrecht Dreß

	* src/sendmsg-window.c (edit_with_gnome): fix mem leak on error.

2012-07-15  Albrecht Dreß

	* src/mailbox-conf.c (mailbox_conf_delete): fix mem leak on
	error.

2012-07-15  Albrecht Dreß

	* src/information-dialog.c (balsa_information_real): fix mem
	leak on NULL main widget.

2012-07-15  Albrecht Dreß

	* src/folder-conf.c (folder_conf_imap_sub_node): fix mem leak
	on error.

2012-07-15  Albrecht Dreß

	* src/balsa-index.c (bndx_start_pipe_messages_array): fix mem
	leak on error.

2012-07-15  Albrecht Dreß

	* libbalsa/mailbox_mbox.c (libbalsa_mailbox_mbox_add_message):
	fix mem leak on error.

2012-07-15  Albrecht Dreß

	* libbalsa/mailbox_imap.c (imap_cache_manager_new_from_file): do
	not leak open file on error.

2012-07-15  Albrecht Dreß

	* libbalsa/filter-funcs.c (libbalsa_filter_export_sieve): do not
	leak open file.

2012-07-15  Albrecht Dreß

	* libbalsa/address-book-ldap.c
	(libbalsa_address_book_ldap_get_address): drop useless
	assignment to nick_name, fix mem leak;
	(libbalsa_address_book_ldap_modify_address): fix mem leak.

2012-07-15  Albrecht Dreß

	* libbalsa/address-book-extern.c (parse_externq_file): pipe
	stream must be closed with pclose, not fclose.

2012-07-13  Peter Bloomfield

	* libbalsa/mime.c (process_mime_part): build
	--with-html-widget=no; fixes bgo #679869 (Aljosha).

2012-07-04  Peter Bloomfield

	* src/main-window.c: manage sensitivity of check mail button in
	unthreaded build.

2012-06-27  Peter Bloomfield

	* src/save-restore.c (config_load_sections), (config_mailbox_init),
	(config_address_book_load), (config_address_books_load),
	(config_identities_load), (load_mru): prepend to GList and
	reverse it, instead of appending; use g_list_free_full().

2012-06-25  Peter Bloomfield

	* libbalsa/mailbox.c (libbalsa_mailbox_msgno_filt_out),
	(lbm_msgno_filt_check): find node once, not twice.

2012-06-19  Peter Bloomfield

	* libbalsa/mailbox.c (lbm_node_has_unseen_child),
	(lbm_get_index_entry), (mbox_model_get_value): get index entry
	by message number instead of by GNode.

2012-06-13  Peter Bloomfield

	* libbalsa/mailbox.c (lbm_msgno_inserted_idle_cb): lock mutex
	before signalling cond.

2012-06-13  Peter Bloomfield

	* src/balsa-app.c (find_url_idle_cb): lock mutex before
	signalling cond.

2012-06-12  Peter Bloomfield

	* libbalsa/mailbox.c (lbm_message_expunged_cb),
	(lbm_msgno_removed_idle_cb), (libbalsa_mailbox_msgno_removed),
	(lbm_msgno_filt_check_idle_cb),
	(libbalsa_mailbox_msgno_filt_check): update message number if a
	message is expunged.

2012-06-11  Peter Bloomfield

	* libbalsa/mailbox.c (lbm_msgno_filt_check_idle_cb): unref the
	LibBalsaMailboxSearchIter.

2012-06-11  Peter Bloomfield

	* libbalsa/imap-server.c: remove redundant parentheses.

2012-06-11  Peter Bloomfield

	Ref count LibBalsaMailboxSearchIter

	* libbalsa/mailbox.c (libbalsa_mailbox_run_filters_on_reception),
	(libbalsa_mailbox_msgno_filt_check),
	(libbalsa_mailbox_search_iter_new),
	(libbalsa_mailbox_search_iter_ref),
	(libbalsa_mailbox_search_iter_unref),
	(libbalsa_mailbox_messages_change_flags): ref count
	LibBalsaMailboxSearchIter, and unref it instead of free.
	* libbalsa/mailbox.h: new member ref_count.
	* libbalsa/mailbox_local.c (lbm_local_update_view_filter): unref
	LibBalsaMailboxSearchIter instead of free.
	* src/balsa-index.c (bndx_destroy),
	(bndx_select_next_with_flag): ditto.
	* src/filter-run-callbacks.c (run_filters_on_mailbox): ditto.
	* src/main-window.c: ditto.

2012-06-10  Peter Bloomfield

	* libbalsa/libbalsa.c (libbalsa_scanner_error_quark),
	(libbalsa_mailbox_error_quark), (libbalsa_image_error_quark):
	GQuarks for GError.
	* libbalsa/libbalsa.h: export them.

2012-06-10  Peter Bloomfield

	* libbalsa/imap/pop3.c (pop_imap_error_quark): a GQuark for use
	in g_set_error.
	* libbalsa/imap/pop3.h: export it.

2012-06-09  Peter Bloomfield

	* libbalsa/mailbox.h: do not export
	libbalsa_mailbox_msgno_filt_{in,out}.
	* libbalsa/mailbox.c: declare them static.

2012-06-09  Peter Bloomfield

	* libbalsa/mailbox.c (lbm_msgno_filt_check),
	(lbm_msgno_filt_check_idle_cb),
	(libbalsa_mailbox_msgno_filt_check): check whether message
	matches current view filter in an idle callback instead of in
	subthread.

2012-06-08  Peter Bloomfield

	* libbalsa/mailbox.c (lbm_msgno_removed_idle_cb),
	(libbalsa_mailbox_msgno_removed): use GSlice instead of g_new();
	use g_idle_add instead of gdk_threads_add_idle.

2012-06-08  Peter Bloomfield

	* libbalsa/mailbox.c (lbm_check_and_sort),
	(lbm_set_threading_idle_cb), (lbm_set_threading): sort in an
	idle callback instead of subthread.
	* libbalsa/mailbox_local.c (lbml_set_threading),
	(lbml_set_threading_idle_cb),
	(libbalsa_mailbox_local_set_threading): set threading type in an
	idle callback instead of subthread.

2012-06-07  Peter Bloomfield

	* src/main.c (progress_set_text), (progress_set_text_idle_cb),
	(balsa_progress_set_text), (progress_set_fraction),
	(progress_set_fraction_idle_cb), (balsa_progress_set_fraction):
	call Gtk in idle callbacks instead of subthreads.

2012-06-07  Peter Bloomfield

	* libbalsa/mailbox.c (lbm_msgno_inserted),
	(lbm_msgno_inserted_idle_cb), (libbalsa_mailbox_msgno_inserted):
	block subthread and use an idle callback to insert message in
	main thread.
	* libbalsa/mailbox_local.c
	(libbalsa_mailbox_local_load_messages): do not grab GDK lock.

2012-06-07  Peter Bloomfield

	* libbalsa/libbalsa.c (libbalsa_threads_enter): warn when
	locking a subthread, to help find bad code paths.

2012-06-07  Peter Bloomfield

	* src/main-window.c: check for NULL index.

2012-06-07  Peter Bloomfield

	* src/balsa-index.c (bndx_find_root): check for NULL tree model.

2012-06-07  Peter Bloomfield

	* src/main-window.c: check for NULL focus widget.

2012-06-06  Peter Bloomfield

	* libbalsa/mailbox.c (libbalsa_mailbox_close), (lbm_msgno_removed),
	(lbm_msgno_removed_idle_cb), (libbalsa_mailbox_msgno_removed):
	use an idle callback to remove the message from the tree-model.

2012-06-06  Peter Bloomfield

	* src/balsa-app.c (find_url_func), (find_url), (find_url_idle_cb),
	(balsa_find_url): block the subthread and use an idle callback
	to find the BalsaMailboxNode for the URL.

2012-06-06  Peter Bloomfield

	* libbalsa/mime-stream-shared.c
	(libbalsa_mime_stream_shared_lock): build with glib < 2.32.

2012-06-05  Peter Bloomfield

	Make changes in previous commit conditional on glib version
	at least 2.32.

	* libbalsa/imap-server.c (libbalsa_imap_server_init),
	(libbalsa_imap_server_finalize): make previous changes
	conditional on glib version at least 2.32.
	* libbalsa/libbalsa-conf.c (lbc_lock), (lbc_unlock): ditto.
	* libbalsa/mime-stream-shared.c (lbmss_stream_class_init),
	(libbalsa_mime_stream_shared_lock),
	(libbalsa_mime_stream_shared_unlock): ditto.

2012-06-05  Peter Bloomfield

	Deprecation cleanup; fixes bgo #677381

	* libbalsa/imap-server.c (libbalsa_imap_server_init),
	(libbalsa_imap_server_finalize): deprecation cleanup.
	* libbalsa/libbalsa-conf.c (lbc_lock), (lbc_unlock): ditto.
	* libbalsa/mime-stream-shared.c (lbmss_stream_class_init),
	(libbalsa_mime_stream_shared_lock),
	(libbalsa_mime_stream_shared_unlock): ditto.

2012-06-03  Peter Bloomfield

	* src/main-window.c: change sensitivity of mail-check button in
	the main thread, in an idle callback.

2012-06-03  Peter Bloomfield

	Call Gtk from only the main thread when opening a mailbox

	* libbalsa/mailbox.c (lbm_cache_message): avoid infinite
	recursion.
	* libbalsa/mailbox.h: do not export
	libbalsa_mailbox_index_entry_new_from_msg.
	* src/balsa-index.c (bndx_set_mailbox), (bndx_open_mailbox),
	(balsa_index_load_mailbox_node): open mailbox in a subthread.
	* src/balsa-index.h: do not export balsa_index_load_mailbox_node
	and balsa_index_scroll_on_open.
	* src/main-window.c: start opening mailbox in the main thread.

2012-05-28  Peter Bloomfield

	* src/balsa-index.c (bi_view_on_open,
	balsa_index_scroll_on_open): set the cursor on the most recent
	message, even when not selecting it.

2012-05-28  Peter Bloomfield

	* src/main-window.c: restore "identities-changed" signal.

2012-05-28  Peter Bloomfield

	* src/main-window.c: show mailbox list on startup only if
	necessary; fixes point 1 of
	<URL:https://mail.gnome.org/archives/balsa-list/2012-May/
	msg00011.html> (Carlos Franke).

2012-05-27  Peter Bloomfield

	* src/main-window.c: use class methods instead of emitting
	signals.
	* src/main-window.h: define class getter.

2012-05-21  Peter Bloomfield

	* libbalsa/imap/md5-utils.c (md5_final): avoid gcc whining.

2012-04-22  Pawel Salek

	* src/balsa-app.{c,h}: free mem on exit. Longer 'short' mailbox names.
	* src/balsa-mblist.c: use them.
	* src/mailbox-node.h: remove unused bit field.
	* src/main-window.c: check_mailboxes must be called from main thread.

2012-04-20  Peter Bloomfield

	* src/main-window.c: hide current message immediately, instead
	of in the idle callback; use gdk_threads_add_idle convenience
	function.
	* src/balsa-message.c (balsa_message_set): message is already
	hidden.

2012-04-19  Peter Bloomfield

	* libbalsa/body.c (libbalsa_message_body_get_pixbuf): apply
	embedded orientation to pixbuf.

2012-04-16  Peter Bloomfield

	* src/balsa-mblist.c (balsa_mblist_mru_add): add folder to the
	MRU folder list as well as to the given list, if different.

2012-04-16  Peter Bloomfield

	Revert previous commit; fixes
	<URL:http://mail.gnome.org/archives/balsa-list/2012-April/msg00003.html>
	from Ildar Mulyukov

	* src/balsa-app.c (balsa_app_init):
	* src/balsa-app.h:
	* src/save-restore.c (config_mailbox_set_as_special),
	(config_global_load), (config_save):
	* src/sendmsg-window.c (create_info_pane):

2012-03-27  Peter Bloomfield

	Use a single MRU folder list

	* src/balsa-app.h: drop separate Fcc list.
	* src/balsa-app.c (balsa_app_init): ditto.
	* src/save-restore.c (config_mailbox_set_as_special): use
	combined list;
	(config_global_load), (config_save): do not save and restore
	separate Fcc list.
	* src/sendmsg-window.c (create_info_pane): use combined list.

2012-03-27  Peter Bloomfield

	Remember geometry of MRU mailbox tree

	* src/balsa-app.h: new members mru_tree_{width,height}
	* src/balsa-mblist.c (bmbl_mru_size_allocate_cb): save them when
	the dialog's size is changed;
	(bmbl_mru_show_tree): use the saved values.
	* src/save-restore.c (config_global_load), (config_save): save
	and restore them.

2012-03-20  Peter Bloomfield

	* configure.in: work around "intltool-update -m" bug: it knows
	about m4_esyscmd, not m4_esyscmd_s.

2012-03-06  Peter Bloomfield

	* src/main-window.c: update last-check-time only if connected.

2012-03-06  Peter Bloomfield

	* src/main-window.c: check local mailboxes even when network is
	not connected.

2012-03-06  Peter Bloomfield

	* libbalsa/libbalsa-gpgme-cb.c (lb_gpgme_passphrase): build
	with --disable-threads.

2012-02-08  Albrecht Dreß

	* libbalsa/gmime-part-rfc2440.c (g_mime_part_rfc2440_verify):
	check for empty return from GpgME.

2012-02-03  Peter Bloomfield

	* configure.in: remove obsolete BUILD_WITH_GNOME.

2011-12-20  Peter Bloomfield

	* configure.in: use git tag to set version.

2011-12-20  Peter Bloomfield

	* Makefile.am: drop GNOME_Balsa.server.in from balsa_extra_dist.

2011-12-20  Peter Bloomfield

	* .gitignore: add .libs.

2011-12-20  Albrecht Dreß

	* libbalsa/rfc3156.c: suppress GLib warning when the message is
	only encrypted; return 'no error' for encrypted-only RFC 2440
	messages; re-wrap a few over-long lines
	* src/balsa-message.c: properly pick up return values from
	libbalsa
	* src/balsa-mime-widget-crypto.[hc]: changes needed for drawing
	encrypted-only frame
	* src/balsa-mime-widget-multipart.c: use new crypto frame api
	* src/balsa-mime-widget.c: draw frame around encrypted-only rfc
	2440 part
	* src/print-gtk.c: encrypted-only frame print implementation

2011-12-18  Peter Bloomfield

	* src/main.c (balsa_check_open_mailboxes),
	(scan_mailboxes_idle_cb), (balsa_check_open_compose_window),
	(real_main), (handle_remote): reuse identical code.

2011-12-18  Peter Bloomfield

	* .cvsignore: delete.
	* .gitignore: add.

2011-12-17  Peter Bloomfield

	* src/main.c (handle_remote): do not leak option-handling
	resources.

2011-12-17  Peter Bloomfield

	* src/main-window.c: build --without-nm; thanks to Jack
	<URL:http://mail.gnome.org/archives/balsa-list/2011-December/msg00013.html>.

2011-12-17  Peter Bloomfield

	* src/main.c (handle_remote): use the capabilities of
	g_application_command_line_print.

2011-12-17  Peter Bloomfield

	* src/main.c (scan_mailboxes_idle_cb), (real_main),
	(handle_remote), (command_line_cb): free option-handling resources
	when no longer needed, instead of later; ignore other options
	when --get-stats is requested by a second instance, as in the
	primary instance; add comments to document logic.

2011-12-16  Peter Bloomfield

	* src/main.c: do not leak option-context; use opt-attach-list as
	gchar ** instead of GSlist; do not pass GApplication to
	handle-remote.

2011-12-16  Peter Bloomfield

	* src/sendmsg-window.c: drop ctrl-Q accelerator for
	file:queue-for-sending.

2011-12-15  Peter Bloomfield

	Migrate to GApplication

	* GNOME_Balsa.server.in: remove obsolete file.
	* Makefile.am: remove reference to obsolete file.
	* configure.in: remove libUnique configuration, and bump glib
	requirement to 2.28.
	* src/main.c (balsa_init), (scan_mailboxes_idle_cb), (real_main),
	(balsa_cleanup), (handle_remote), (command_line_cb), (main):
	migrate to GApplication.

2011-12-10  Peter Bloomfield

	* libbalsa/libbalsa-gpgme-cb.c: include stdlib.h directly.

2011-12-10  Albrecht Dreß

	New crypto implementation

	* libbalsa/Makefile.am: new files.
	* libbalsa/body.c (libbalsa_message_body_protect_state): use new
	implementation.
	* libbalsa/gmime-application-pkcs7.c
	(g_mime_application_pkcs7_decrypt_verify),
	(g_mime_application_pkcs7_encrypt): ditto.
	* libbalsa/gmime-application-pkcs7.h: ditto.
	* libbalsa/gmime-gpgme-context.c: new file.
	* libbalsa/gmime-gpgme-context.h: ditto.
	* libbalsa/gmime-gpgme-signature.c
	(g_mime_gpgme_sigstat_new_from_gpgme_ctx),
	(g_mime_gpgme_sigstat_finalize), (hex_decode),
	(libbalsa_cert_subject_readable), (g_mime_gpgme_sigstat_init):
	ditto.
	* libbalsa/gmime-gpgme-signature.h: ditto.
	* libbalsa/gmime-part-rfc2440.c (g_mime_part_check_rfc2440),
	(g_mime_part_rfc2440_sign_encrypt), (g_mime_part_rfc2440_verify),
	(g_mime_part_rfc2440_decrypt): use new implementation.
	* libbalsa/gmime-part-rfc2440.h: ditto.
	* libbalsa/rfc3156.c (libbalsa_sign_mime_object),
	(libbalsa_encrypt_mime_object), (libbalsa_body_check_signature),
	(libbalsa_body_decrypt), (libbalsa_rfc2440_sign_encrypt),
	(libbalsa_rfc2440_verify), (libbalsa_rfc2440_decrypt),
	(libbalsa_gpgme_validity_to_gchar_short), (append_time_t),
	(libbalsa_signature_info_to_gchar): ditto.
	* libbalsa/rfc3156.h: ditto.
	* src/balsa-message.c (libbalsa_msg_part_2440): ditto.
	* src/main.c (main): ditto.

2011-12-03  Peter Bloomfield

	* src/sendmsg-window.c (create_text_area): remove redundant
	dynamic cast; use more appropriate identifier.

2011-12-03  Peter Bloomfield

	* src/sendmsg-window.c (create_text_area): build without
	GtkSourceView.

2011-12-02  Peter Bloomfield

	Add mailto-handler desktop file

	* balsa-mailto-handler.desktop.in.in: new file.
	* balsa.desktop.in.in: do not use -m.

2011-11-12  Peter Bloomfield

	* libbalsa/rfc3156.c (libbalsa_body_check_signature): use only
	one dynamic cast.

2011-11-10  Peter Bloomfield

	* libbalsa/rfc3156.c (libbalsa_body_check_signature): restore
	handling of application/x-pkcs7-signature.

2011-11-09  Peter Bloomfield

	Build with GMime version >= 2.5.7

	* configure.in: check GMime version.
	* libbalsa/gmime-application-pkcs7.c
	(g_mime_application_pkcs7_sign), (g_mime_application_pkcs7_verify),
	(g_mime_application_pkcs7_encrypt),
	(g_mime_application_pkcs7_decrypt): build with GMime version >=
	2.5.7.
	* libbalsa/gmime-application-pkcs7.h: ditto.
	* libbalsa/gmime-gpgme-context.c (g_mime_gpgme_context_get_type),
	(g_mime_gpgme_context_class_init), (g_mime_gpgme_context_finalize),
	(g_mime_gpgme_digest_id): ditto.
	* libbalsa/gmime-gpgme-context.h: ditto.
	* libbalsa/gmime-part-rfc2440.c (g_mime_part_rfc2440_sign_encrypt),
	(g_mime_part_rfc2440_verify), (g_mime_part_rfc2440_decrypt):
	* libbalsa/gmime-part-rfc2440.h: ditto.
	* libbalsa/rfc3156.c (password_request_func),
	(libbalsa_sign_mime_object), (libbalsa_encrypt_mime_object),
	(libbalsa_body_check_signature), (libbalsa_body_decrypt): ditto.

2011-10-26  Peter Bloomfield

	* src/sendmsg-window.c (create_info_pane): do not set vertical
	expand flag on attachment frame, it causes weird vertical
	spacing when the attachments are shown.

2011-10-26  Peter Bloomfield

	* src/main.c (threads_init): use g_type_init, which is required,
	not g_threads_init, which is redundant.

2011-10-24  Peter Bloomfield

	* src/main.c (balsa_handle_automation_options), (balsa_init),
	(scan_mailboxes_idle_cb): handle multiple -o options.

2011-10-22  Peter Bloomfield

	* src/balsa-app.c (open_mailboxes_idle_cb): select first
	command-line mailbox; see discussion at
	http://mail.gnome.org/archives/balsa-list/2011-October/msg00010.html

2011-10-21  Peter Bloomfield

	* src/main-window.c: when network is connected, check mail in
	the subthread, so that the signal handler can return.

2011-10-14  Peter Bloomfield

	gtk_assistant_set_page_header_image and
	gtk_assistant_set_page_side_image are deprecated.

	* images/Makefile.am: no need for balsa-logo.png and
	balsa-watermark.png.
	* libinit_balsa/assistant_init.c (balsa_initdruid):
	* libinit_balsa/assistant_page_defclient.c
	(balsa_druid_page_defclient):
	* libinit_balsa/assistant_page_defclient.h:
	* libinit_balsa/assistant_page_directory.c
	(balsa_druid_page_directory):
	* libinit_balsa/assistant_page_directory.h:
	* libinit_balsa/assistant_page_finish.c (balsa_druid_page_finish):
	* libinit_balsa/assistant_page_finish.h:
	* libinit_balsa/assistant_page_user.c (balsa_druid_page_user):
	* libinit_balsa/assistant_page_user.h:
	* libinit_balsa/assistant_page_welcome.c
	(balsa_druid_page_welcome):
	* libinit_balsa/assistant_page_welcome.h: deprecation cleanup.

2011-10-14  Peter Bloomfield

	Gtk{HV}Paned is deprecated.

	* src/main-window.c: deprecation cleanup.

2011-10-14  Peter Bloomfield

	Gtk{HV}Separator is deprecated.

	* src/filter-edit-dialog.c (filters_edit_dialog): deprecation
	cleanup.

2011-10-14  Peter Bloomfield

	Gtk{HV}ButtonBox is deprecated.

	* src/ab-main.c (bab_get_edit_button_box):
	* src/ab-window.c (balsa_ab_window_init):
	* src/balsa-mime-widget-vcalendar.c (balsa_vevent_widget):
	* src/filter-edit-dialog.c (build_left_side), (build_right_side):
	* src/filter-run-dialog.c (balsa_filter_run_dialog_init):
	* src/main-window.c:
	* src/toolbar-prefs.c (create_toolbar_page): deprecation
	cleanup.


2011-10-13  Peter Bloomfield

	Gtk{HV}Box is deprecated.

	* libbalsa/address.c (libbalsa_address_get_edit_widget):
	* libbalsa/html.c (libbalsa_html_new):
	* libbalsa/identity.c (append_ident_notebook_page),
	(ident_dialog_add_boxes), (libbalsa_identity_config_dialog):
	* libbalsa/rfc3156.c (select_key_from_list), (get_passphrase_real):
	* libbalsa/smtp-server.c (libbalsa_smtp_server_dialog):
	* libbalsa/source-viewer.c (libbalsa_show_message_source):
	* libinit_balsa/assistant_page_defclient.c
	(balsa_druid_page_defclient):
	* libinit_balsa/assistant_page_directory.c
	(balsa_druid_page_directory):
	* libinit_balsa/assistant_page_user.c (balsa_druid_page_user):
	* src/ab-main.c (bab_get_filter_box), (bab_window_new):
	* src/ab-window.c (balsa_ab_window_init):
	* src/balsa-app.c (balsa_stock_button_with_label):
	* src/balsa-message.c (bm_header_tl_buttons), (bm_find_bar_new),
	(balsa_message_init):
	* src/balsa-mime-widget-crypto.c
	(balsa_mime_widget_signature_widget),
	(balsa_mime_widget_crypto_frame):
	* src/balsa-mime-widget-message.c (balsa_mime_widget_new_message),
	(bmw_message_extbody_url), (bmw_message_extbody_mail),
	(balsa_mime_widget_new_message_tl), (bm_header_widget_new):
	* src/balsa-mime-widget-multipart.c
	(balsa_mime_widget_new_multipart):
	* src/balsa-mime-widget-vcalendar.c
	(balsa_mime_widget_new_vcalendar), (balsa_vevent_widget):
	* src/balsa-mime-widget.c (balsa_mime_widget_new_unknown):
	* src/filter-edit-callbacks.c (build_type_notebook),
	(build_condition_dialog):
	* src/filter-edit-dialog.c (build_left_side), (build_match_page),
	(build_action_page), (build_right_side), (filters_edit_dialog):
	* src/filter-run-dialog.c (balsa_filter_run_dialog_init):
	* src/folder-conf.c (folder_conf_imap_sub_node):
	* src/mailbox-conf.c (balsa_server_conf_get_advanced_widget):
	* src/main-window.c:
	* src/message-window.c (message_window_new):
	* src/pref-manager.c (open_preferences_manager),
	(vbox_in_container), (color_box), (remote_mailbox_servers_group),
	(outgoing_mail_group), (checking_group), (message_colors_group),
	(add_pref_menu), (misc_group), (deleting_messages_group),
	(folder_scanning_group), (address_books_group), (pm_page_new),
	(pm_group_new):
	* src/print-gtk.c (message_prefs_widget):
	* src/sendmsg-window.c (sw_get_user_codeset),
	(quote_parts_select_dlg), (sendmsg_window_new),
	(subject_not_empty), (check_suggest_encryption):
	* src/toolbar-prefs.c (customize_dialog_cb),
	(create_toolbar_page): deprecation cleanup.

2011-10-13  Peter Bloomfield

	* src/sendmsg-window.h: remove redundant member header_table.
	* src/sendmsg-window.c (create_email_or_string_entry),
	(create_string_entry), (create_email_entry), (create_from_entry),
	(create_info_pane), (create_text_area): ditto; migrate from
	GtkTable to GtkGrid.

2011-10-13  Peter Bloomfield

	* src/print-gtk.c (begin_print), (add_font_button),
	(add_margin_spinbtn), (message_prefs_widget): migrate from
	GtkTable to GtkGrid.

2011-10-13  Peter Bloomfield

	* src/pref-manager.c (attach_entry), (attach_entry_full),
	(attach_information_menu), (attach_label), (checking_group),
	(quoted_group), (broken_8bit_codeset_group), (mdn_group),
	(word_wrap_group), (other_options_group), (main_window_group),
	(display_formats_group), (information_messages_group),
	(attach_font_button), (preview_font_group), (create_grid),
	(message_window_group): migrate from GtkTable to GtkGrid.

2011-10-06  Peter Bloomfield

	* src/main-window.c: migrate from GtkTable to GtkGrid.

2011-10-06  Peter Bloomfield

	* src/mailbox-conf.c (balsa_server_conf_get_advanced_widget),
	(balsa_server_conf_add_checkbox), (balsa_server_conf_add_spinner),
	(create_local_mailbox_dialog), (create_pop_mailbox_dialog),
	(create_imap_mailbox_dialog), (mailbox_conf_view_new_full),
	(mailbox_conf_view_new): migrate from GtkTable to GtkGrid.
	* src/mailbox-conf.h: ditto.

2011-10-06  Peter Bloomfield

	* src/folder-conf.c (folder_conf_imap_node),
	(folder_conf_imap_sub_node): migrate from GtkTable to GtkGrid.

2011-10-06  Peter Bloomfield

	* src/filter-edit-dialog.c (build_match_page),
	(fe_make_color_buttons), (build_action_page),
	(build_right_side): migrate from GtkTable to GtkGrid.

2011-10-06  Peter Bloomfield

	* src/filter-edit-callbacks.c (build_type_notebook): add a
	margin to notebook pages.

2011-10-06  Peter Bloomfield

	* src/filter-edit-callbacks.c (add_button), (add_check),
	(get_field_frame), (build_type_notebook): migrate from GtkTable
	to GtkGrid.

2011-10-05  Peter Bloomfield

	* src/balsa-mime-widget-vcalendar.c (balsa_vevent_widget):
	migrate from GtkTable to GtkGrid.

2011-10-05  Peter Bloomfield

	* src/address-book-config.c (create_gpe_dialog): build with GPE
	address book.

2011-10-05  Peter Bloomfield

	* src/balsa-mime-widget-text.c (bm_widget_new_vcard): make
	button span two columns, and left-align labels instead of right.

2011-10-04  Peter Bloomfield

	* src/balsa-mime-widget-text.c (bm_widget_new_vcard): migrate
	from GtkTable to GtkGrid.

2011-10-04  Peter Bloomfield

	* src/address-book-config.c (add_radio_buttons),
	(create_local_dialog), (create_externq_dialog),
	(create_ldap_dialog), (create_gpe_dialog): migrate from GtkTable
	to GtkGrid.

2011-10-04  Peter Bloomfield

	* src/ab-window.c (balsa_ab_window_init): migrate from GtkTable
	to GtkGrid.

2011-10-03  Peter Bloomfield

	Migrate from GtkTable to GtkGrid

	* libinit_balsa/assistant_helper.c (balsa_init_add_grid_entry),
	(balsa_init_add_grid_option), (balsa_init_add_grid_checkbox):
	* libinit_balsa/assistant_helper.h:
	* libinit_balsa/assistant_page_directory.c
	(balsa_druid_page_directory_init):
	* libinit_balsa/assistant_page_user.c (balsa_druid_page_user_init):

2011-10-03  Peter Bloomfield

	* libbalsa/smtp-server.c (smtp_server_add_widget),
	(libbalsa_smtp_server_dialog): migrate from GtkTable to GtkGrid.

2011-10-03  Peter Bloomfield

	* libbalsa/identity.c (append_ident_notebook_page),
	(setup_ident_frame), (ident_dialog_add_checkbutton),
	(ident_dialog_add_check_and_entry), (ident_dialog_add_entry),
	(ident_dialog_add_file_chooser_button), (ident_dialog_add_boxes),
	(ident_dialog_add_gpg_menu), (ident_dialog_add_smtp_menu):
	migrate from GtkTable to GtkGrid.

2011-10-03  Peter Bloomfield

	* libbalsa/address.c (libbalsa_address_get_edit_widget): migrate
	from GtkTable to GtkGrid.

2011-10-03  Peter Bloomfield

	* libbalsa/misc.c (libbalsa_create_grid),
	(libbalsa_create_grid_label), (libbalsa_create_grid_check),
	(libbalsa_create_grid_entry), (lb_create_size_group_func):
	new GtkGrid helpers.
	* libbalsa/misc.h: export them.

2011-10-03  Peter Bloomfield

	* src/pref-manager.c (remote_mailbox_servers_group),
	(address_books_group), (address_book_add_cb), (server_add_cb),
	(server_add_menu_widget): do not leak menus.

2011-10-02  Peter Bloomfield

	* src/pref-manager.c (address_book_add_cb), (server_add_cb): do
	not ref-sink and unref popup menus.

2011-10-02  Peter Bloomfield

	* src/save-restore.c (config_defclient_save): do not use
	uninitialized GError.

2011-09-28  Peter Bloomfield

	* configure.in: check for javascriptcoregtk with recent webkit;
	thanks to Vincent Untz and Marcus Hüwe; fixes bgo #660263.

2011-09-18  Peter Bloomfield

	* src/print-gtk.c (draw_page): use ngettext for plural; fixes
	bgo #659390.

2011-09-09  Peter Bloomfield

	* src/main-window.c: use checking_mail_lock to protect access to
	checking_mail.
	* src/main.c (balsa_cleanup): ditto.
	* src/threads.h: declare checking_mail.

2011-09-08  Peter Bloomfield

	* src/main-window.c: set view-filter in an idle callback.

2011-09-06  Peter Bloomfield

	* src/balsa-mblist.c (bmbl_mru_show_tree): try better default
	size for mblist widget.

2011-09-01  Peter Bloomfield

	* libbalsa/misc.c (lb_text_attr): add gssize len argument;
	(libbalsa_text_attr_string): pass -1;
	(libbalsa_text_attr_file): pass len; avoid stack buffer
	overflow.

2011-08-31  Peter Bloomfield

	* libbalsa/misc.c (libbalsa_text_attr_file): use GFile methods.
	* src/sendmsg-window.c (sw_set_charset): check for error return.

2011-08-30  Peter Bloomfield

	* src/main-window.c: call gtk_container_resize_children after
	adding the notebook page for a newly opened mailbox; should not
	be necessary, but seems to fix
	<URL:http://mail.gnome.org/archives/balsa-list/2011-August/msg00017.html>.

2011-08-30  Peter Bloomfield

	* configure.in: webkit can be used with threads disabled if glib
	version is 2.24 or later.

2011-08-29  Pawel Salek

	* libbalsa/filter-funcs.c: implement libbalsa_condition_to_string_user
	* libbalsa/filter.h: add libbalsa_condition_to_string_user() proto.
	* src/filter-edit-callbacks.c: use it to provide more user-friendly
	filter view.

2011-08-28  Peter Bloomfield

	* src/main-window.c: when network connection is reestablished,
	check mail if elapsed time since last check exceeds mail check
	interval.
	* src/main-window.h: new member last_check_time.

2011-08-28  Peter Bloomfield

	* libbalsa/body.c (libbalsa_message_body_get_pixbuf): check for
	error before closing loader.
	* src/balsa-print-object-image.c (balsa_print_object_image): use
	g_message instead of g_warning for image format error.

2011-08-26  Peter Bloomfield

	Make BalsaMimeWidgetImage a subclass of BalsaMimeWidget

	* src/balsa-mime-widget-image.h: subclass boilerplate.
	* src/balsa-mime-widget-image.c (balsa_mime_widget_image_init),
	(balsa_mime_widget_image_class_init): ditto.
	(balsa_mime_widget_image_dispose): disconnect signal handler.
	(balsa_mime_widget_new_image): store signal handler id.

2011-08-21  Peter Bloomfield

	* libbalsa/libbalsa-vfs.c (libbalsa_vfs_get_size): get size as
	guint64.
	* libbalsa/libbalsa-vfs.h: ditto.
	* src/sendmsg-window.c (add_attachment), (add_urlref_attachment),
	(create_info_pane): ditto;
	(render_attach_size): use g_format_size() instead of deprecated
	g_format_size_for_display().

2011-08-21  Peter Bloomfield

	* libbalsa/address-view.c (lbav_ensure_blank_line_idle_cb):
	remove irrelevant comment.
	* src/sendmsg-window.c (create_info_pane): create "Reply-To:"
	entry before regular recipients, so the latter get the focus.

2011-08-20  Peter Bloomfield

	* src/main-window.h: add BalsaWindow::bottom_bar.
	* src/main-window.c: use it to hide both the progress bar and
	the status bar.

2011-08-20  Peter Bloomfield

	(lbav_ensure_blank_line): use gdk_threads_add_idle() for
	convenience;
	* libbalsa/address-view.c (lbav_ensure_blank_line_idle_cb): no
	need to check GSource removal.

2011-08-20  Peter Bloomfield

	* src/sendmsg-window.c (create_lang_menu): use
	enchant_broker_dict_exists() to check languages for Balsa's
	spell-checker.

2011-08-19  Peter Bloomfield

	* libbalsa/address-view.c (lbav_ensure_blank_line_idle_cb),
	(lbav_set_text), (lbav_editing_done), (lbav_row_editing_cb),
	(libbalsa_address_view_new): use GtkCellEditable's
	"editing-done" signal to capture address, instead of
	GtkCellRendererText's "edited" and "editing-canceled" signals.

2011-08-15  Peter Bloomfield

	* configure.in: when building with-gtkspell, check for
	gtkspell-3.0; do not warn about gtkspell or html widget.

2011-08-09  Peter Bloomfield

	Migrate spell-checker from PSpell to Enchant

	* configure.in: change tests.
	* src/balsa-app.c (balsa_app_init): remove all PSpell options.
	* src/balsa-app.h: ditto
	* src/pref-manager.c (open_preferences_manager), (apply_prefs),
	(set_prefs), (create_spelling_page): ditto.
	* src/save-restore.c (config_global_load), (config_save):
	* src/sendmsg-window.c (spell_check_cb): ditto.
	* src/spell-check.c (balsa_spell_check_class_init),
	(spch_set_property), (spch_get_property), (balsa_spell_check_new),
	(balsa_spell_check_new_with_text), (balsa_spell_check_set_text),
	(balsa_spell_check_set_language), (balsa_spell_check_init),
	(ignore_cb), (ignore_all_cb), (change_cb), (change_all_cb),
	(learn_cb), (cancel_cb), (done_cb), (balsa_spell_check_start),
	(balsa_spell_check_next), (highlight_idle),
	(balsa_spell_check_learn), (balsa_spell_check_fix),
	(balsa_spell_check_destroy), (spch_finish), (setup_suggestions),
	(check_word), (finish_check), (check_error), (next_word),
	(switch_word), (spch_save_word_iters), (spch_restore_word_iters):
	migrate.
	* src/spell-check.h: remove PSpell options.

2011-07-21  Peter Bloomfield

	* libbalsa/imap/siobuf.c (raw_write), (sio_flush_buffer),
	(sio_flush): indicate when buffer has been deallocated.

2011-07-13  Peter Bloomfield

	* configure.in: remove references to gtk+-2.0.

2011-06-22  Peter Bloomfield

	Drop bad-address-color

	* src/balsa-app.h:
	* src/balsa-mime-widget-message.c (add_header_sigstate):
	* src/pref-manager.c (open_preferences_manager), (apply_prefs),
	(set_prefs), (colors_subpage):
	* src/save-restore.c (config_global_load), (config_save):
	* src/sendmsg-window.c (balsa_sendmsg_destroy_handler),
	(create_info_pane):
	* src/sendmsg-window.h:

2011-06-22  Peter Bloomfield

	* src/sendmsg-window.c (add_attachment): do not cast non-widget
	to GtkWidget*.

2011-06-10  Peter Bloomfield

	* src/balsa-mime-widget-message.c (bm_header_widget_realized):
	set the foreground and background colors for SELECTED state as
	well as for NORMAL, so that selected text is distinguished.

2011-06-05  Peter Bloomfield

	* src/save-restore.c (config_identities_load): load identities
	in the order in which they were saved.
	* src/sendmsg-window.c (balsa_sendmsg_destroy_handler),
	(sw_combo_box_changed), (create_from_entry): move selected
	identity to the front of
	balsa_app.identities; see
	<URL:http://mail.gnome.org/archives/balsa-list/2011-May/msg00025.html>
	(Carlos Franke).

2011-06-01  Peter Bloomfield

	Respond to
	<URL:http://mail.gnome.org/archives/balsa-list/2011-May/msg00023.html>

	* src/sendmsg-window.c (setup_headers_from_message): make the
	blank line in the recipient widget not a Bcc: line;
	(setup_headers_from_identity): ditto.

2011-05-31  Peter Bloomfield

	* src/main.c (mw_message_received_cb): present compose window;
	(main): give unique_app_new_with_commands a non-NULL startup-id,
	because when NULL it creates a fake timestamp, which results in
	the running window being presented.

2011-05-28  Peter Bloomfield

	* src/main.c (balsa_handle_automation_options): do not send
	ACTIVATE when asked for status; see
	http://mail.gnome.org/archives/balsa-list/2011-May/msg00015.html

2011-04-16  Peter Bloomfield

	Use GDesktopAppInfo instead of GAppInfo

	* configure.in: add gio-unix-2.0 to gnome-extras so we can use
	GDesktopAppInfo.
	* src/save-restore.c (config_defclient_save): use GDesktopAppInfo
	instead of GAppInfo to set Balsa as default client.

2011-04-15  Peter Bloomfield

	Fix bz #647695; Pawel's patch for master, with one change.

	* src/balsa-message.c (bm_find_bar_new), (balsa_message_init),
	(balsa_message_find_in_message): show all of the widget before
	adding the find bar.
	* src/message-window.c (message_window_new): show the widget,
	not show all.

2011-04-14  Peter Bloomfield

	* src/save-restore.c (config_defclient_save): fix launch
	commandline.

2011-04-13  Peter Bloomfield

	Migrate from GConf

	* configure.in: do not check gconf-2.0.
	* libinit_balsa/assistant_page_defclient.c
	(balsa_druid_page_defclient_init), (balsa_druid_page_defclient),
	(balsa_druid_page_defclient_toggle): use GAppInfo to check
	default mailer.
	* src/save-restore.c (config_defclient_save): use GAppInfo to
	set default mailer.
	* website/faq.html: update.

2011-04-06  Peter Bloomfield

	* src/main-window.c: implement alt-n to switch to mailbox n.

2011-04-06  Peter Bloomfield

	* balsa.desktop.in: declare Balsa to be
	MimeType=x-scheme-handler/mailto.

2011-04-05  Peter Bloomfield

	* src/balsa-mime-widget-text.c (balsa_mime_widget_new_text): new
	GtkSourceView macro.

2011-02-05  Peter Bloomfield

	* src/balsa-message.c (hide_all_parts): just destroy the
	children, no need to recurse deeper.

2011-02-05  Peter Bloomfield

	* src/balsa-mblist.c (bmbl_init): remove redundant and crashing
	column-set-visible.

2011-02-05  Peter Bloomfield

	* configure.in: GtkHtml-4 is the new GtkHtml-3.
	* libbalsa/html.c (libbalsa_html_new), (lbh_size_request_cb):
	ditto; do not connect to "size-request" signal.

2011-01-30  Peter Bloomfield

	Revert from GSettings to GConf for default client stuff

	* configure.in:
	* libinit_balsa/assistant_page_defclient.c
	(balsa_druid_page_defclient):
	* src/save-restore.c (config_defclient_save):

2011-01-30  Peter Bloomfield

	Silence whining from gcc-4.6

	* libbalsa/files.c (libbalsa_icon_finder):
	* libbalsa/filter-funcs.c (libbalsa_filter_export_sieve):
	* libbalsa/identity.c (libbalsa_identity_get_signature):
	* libbalsa/imap-server.c (libbalsa_imap_server_finalize):
	* libbalsa/imap/imap-handle.c (ir_esearch):
	* libbalsa/mailbox_imap.c (libbalsa_mailbox_imap_open):
	* libbalsa/mailbox_local.c (libbalsa_mailbox_local_load_config):
	* libbalsa/mailbox_maildir.c
	(libbalsa_mailbox_maildir_add_message):
	* libbalsa/rfc2445.c (date_time_2445_to_time_t):
	* libbalsa/rfc3156.c (get_passphrase_cb):
	* libbalsa/server.c (libbalsa_server_user_cb):
	* libbalsa/smtp-server.c (libbalsa_smtp_server_finalize),
	(libbalsa_smtp_server_class_init):
	* src/address-book-config.c (create_generic_dialog):
	* src/main.c (config_init), (mailboxes_init):
	* src/save-restore.c (config_filter_load), (config_filters_save),
	(config_defclient_save):
	* src/sendmsg-window.c (edit_with_gnome_check):
	* src/spell-check.c (balsa_spell_check_class_init):

2011-01-30  Peter Bloomfield

	* src/toolbar-factory.c (balsa_toolbar_model_finalize),
	(balsa_toolbar_model_new): do not refer to "org.gnome.*" when
	not HAVE_GNOME;
	(tm_populate), (tm_default_style): add empty second line only
	for GTK_TOOLBAR_BOTH.

2011-01-30  Peter Bloomfield

	* configure.in: restore HAVE_GNOME to wrap reference to
	"org.gnome.*".

2011-01-30  Peter Bloomfield

	* balsa.desktop.in: add MimeType=x-scheme-handler/mailto.

2011-01-29  Peter Bloomfield

	* src/toolbar-factory.c (balsa_toolbar_model_finalize),
	(tm_gsettings_change_cb), (balsa_toolbar_model_new),
	(tm_default_style): really use the desktop default when so
	configured.

2011-01-28  Peter Bloomfield

	Migrate from GConf to GSettings

	* libinit_balsa/assistant_page_defclient.c
	(balsa_druid_page_defclient):
	* src/ab-main.c (main):
	* src/main.c (config_init), (mailboxes_init), (main):
	* src/save-restore.c (config_global_load), (config_defclient_save):
	* src/save-restore.h:
	* src/toolbar-factory.c (tm_gsettings_change_cb),
	(balsa_toolbar_model_new), (tm_default_style):

2011-01-28  Peter Bloomfield

	* src/balsa-index.c (balsa_index_load_mailbox_node): fix failed
	assertion.

2011-01-24  Peter Bloomfield

	* configure.in: new deprecation tests GDK_MULTIHEAD_SAFE,
	GDK_MULTIDEVICE_SAFE.
	* libbalsa/files.c (libbalsa_icon_finder): add widget argument
	so we can find settings.
	* libbalsa/files.h: ditto.
	* libbalsa/filter.c (libbalsa_filter_mailbox_messages):
	deprecation cleanup.
	* libbalsa/identity.c (help_ident_cb), (md_response_cb): ditto.
	* libbalsa/smtp-server.c (smtp_server_response): ditto.
	* libbalsa/source-viewer.c (copy_cb): ditto.
	* src/address-book-config.c (help_button_cb): ditto.
	* src/balsa-app.c (balsa_app_init): ditto.
	* src/balsa-icons.c (load_balsa_pixmap): ditto.
	* src/balsa-index.c (balsa_index_set_column_widths): ditto.
	* src/balsa-message.c (display_part): ditto.
	* src/balsa-mime-widget-message.c (extbody_call_url): ditto.
	* src/balsa-mime-widget-text.c (fix_text_widget), (url_copy_cb),
	(check_over_url), (handle_url), (fill_text_buf_cited): ditto.
	* src/balsa-print-object-default.c (balsa_print_object_default):
	ditto.
	* src/balsa-print-object-text.c (balsa_print_object_text_vcard),
	(balsa_print_object_text_calendar): ditto.
	* src/filter-edit-callbacks.c (condition_dialog_response),
	(fe_dialog_response): ditto.
	* src/filter-run-callbacks.c (fr_dialog_response): ditto.
	* src/folder-conf.c (folder_conf_response): ditto.
	* src/main-window.c: ditto.
	* src/pref-manager.c (balsa_help_pbox_display): ditto.
	* src/sendmsg-window.c (on_open_url_cb), (add_attachment):
	ditto.
	* src/toolbar-prefs.c (tp_dialog_response_cb): ditto.

2011-01-23  Peter Bloomfield

	* src/balsa-mime-widget-text.c (text_view_url_popup):
	deprecation cleanup.

2011-01-23  Peter Bloomfield

	* libbalsa/address-view.c (lbav_ensure_blank_line_idle_cb),
	(libbalsa_address_view_new): clean up, and make
	LibBalsaAddressView opaque.
	* libbalsa/address-view.h: ditto.

2011-01-23  Peter Bloomfield

	* configure.in: change html-widget default to "webkit", and warn
	if it is not chosen; change gtkspell default to "no", and warn
	if it is not chosen; clarify GtkSourceView option.

2011-01-21  Peter Bloomfield

	* libbalsa/html.c (lbh_show_info_bar), (libbalsa_html_new): use
	GtkBox packing instead of the event-box.

2011-01-21  Peter Bloomfield

	* libbalsa/html.c (lbh_info_bar_response_cb), (lbh_show_info_bar),
	(lbh_resource_request_starting_cb), (libbalsa_html_new): put
	info-bar in an event-box, and only when needed.

2011-01-19  Peter Bloomfield

	* src/save-restore.c (config_global_load), (save_color),
	(load_color): save rgba() colors with "RGBA" suffix.

2011-01-19  Peter Bloomfield

	Pass default screen instead of NULL to gtk_show_uri

	* libbalsa/identity.c (help_ident_cb):
	* libbalsa/smtp-server.c (smtp_server_response):
	* src/address-book-config.c (help_button_cb):
	* src/balsa-mime-widget-message.c (extbody_call_url):
	* src/balsa-mime-widget-text.c (store_button_coords),
	(check_over_url), (handle_url):
	* src/filter-edit-callbacks.c (condition_dialog_response),
	(fe_dialog_response):
	* src/filter-run-callbacks.c (fr_dialog_response):
	* src/folder-conf.c (folder_conf_response):
	* src/main-window.c:
	* src/pref-manager.c (balsa_help_pbox_display):
	* src/sendmsg-window.c (on_open_url_cb):
	* src/toolbar-prefs.c (tp_dialog_response_cb):

2011-01-17  Peter Bloomfield

	* src/sendmsg-window.c (create_email_or_string_entry): new
	override font API.

2011-01-17  Peter Bloomfield

	* src/balsa-mime-widget-image.c (bmwi_context_changed_cb),
	(balsa_mime_widget_new_image): set background color from
	viewport.

2011-01-17  Peter Bloomfield

	* src/balsa-mime-widget-crypto.c
	(balsa_mime_widget_signature_widget),
	(balsa_mime_widget_crypto_frame): reorganize window-showing.

2011-01-17  Peter Bloomfield

	* src/balsa-icons.c (balsa_register_pixbufs): new icon-render
	API.
	* src/balsa-mime-widget.c (balsa_mime_widget_new),
	(balsa_mime_widget_new_unknown): ditto.
	* src/toolbar-prefs.c (tp_store_set): ditto.

2011-01-17  Peter Bloomfield

	* src/balsa-app.h: port from GdkColor to GdkRGBA.
	* src/balsa-cite-bar.c (balsa_cite_bar_draw): ditto, and from
	GtkStyle to GtkStyleContext.
	* src/balsa-message.c (bm_on_set_style), (balsa_message_init),
	(get_crypto_content_icon): ditto.
	* src/balsa-mime-widget-image.c (balsa_mime_widget_new_image):
	ditto.
	* src/balsa-mime-widget-message.c (balsa_mime_widget_new_message),
	(balsa_mime_widget_new_message_tl), (bm_header_widget_realized),
	(bm_header_widget_set_style), (bm_header_widget_new),
	(bmwm_buffer_set_prefs),
	(balsa_mime_widget_message_set_headers_d): ditto, and reorganize
	widget-showing.
	* src/balsa-mime-widget-text.c (balsa_mime_widget_new_text),
	(bm_modify_font_from_string), (quote_tag), (draw_cite_bar_real),
	(bm_widget_new_vcard), (fill_text_buf_cited): ditto, and drop
	allocate_quote_colors.
	* src/balsa-mime-widget-vcalendar.c: reorganize widget-showing.
	* src/balsa-print-object-text.c (balsa_print_object_text_draw):
	port from GdkColor to GdkRGBA.
	* src/main-window.c: port from GtkStyle to GtkStyleContext.
	* src/pref-manager.c (apply_prefs), (set_prefs): port from
	GdkColor to GdkRGBA.
	* src/quote-color.c (is_a_quote): drop allocate_quote_colors.
	* src/quote-color.h: ditto.
	* src/save-restore.c (save_color), (load_color): port from
	GdkColor to GdkRGBA.
	* src/sendmsg-window.c (add_urlref_attachment),
	(create_email_or_string_entry), (create_text_area): ditto.

2011-01-17  Peter Bloomfield

	* libbalsa/source-viewer.c (libbalsa_show_message_source): new
	override font API.

2011-01-17  Peter Bloomfield

	* libbalsa/libbalsa.c (libbalsa_source_view_new): drop support
	for GtkSourceView-1.
	* libbalsa/libbalsa.h: ditto.

2011-01-15  Pawel Salek

	* autogen.sh: port fixes from bootstrap.sh (inspired by pancake).
	* configure.in: support libgtkhtml-3.15 lib version.

	* libbalsa/imap-server.c: libbalsa_imap_server_get_handle() check
	if the parameter passed is non-null (credit to pancake).
	* libbalsa/imap/imap-handle.c: zeroize released pointers (pancake).
	* libinit_balsa/assistant_page_user.c: fix widget packing (pancake).
	* src/balsa-index.c: return FALSE on failure (pancake).

2011-01-11  Peter Bloomfield

	* src/balsa-mime-widget-message.c
	(balsa_mime_widget_new_message): show the message.

2011-01-09  Peter Bloomfield

	* configure.in: do not configure Bonobo/Corba; do not check
	GtkSourceview version.
	* Makefile.am: unversioned GtkSourceview test.

2011-01-08  Peter Bloomfield

	* src/pref-manager.c (quoted_group), (mdn_group): let GtkLabel
	wrap text.

2011-01-08  Peter Bloomfield

	* src/balsa-mblist.c (bmbl_mru_show_tree): make the mailbox tree
	dialog a reasonable size.

2010-12-29  Peter Bloomfield

	* src/balsa-mime-widget-image.c (img_check_size): revert; use
	previous calculation, with a different magic number (16).

2010-12-28  Peter Bloomfield

	* src/balsa-mime-widget-image.c (img_check_size): use parent
	width.

2010-12-28  Peter Bloomfield

	* libbalsa/filter.c (libbalsa_filter_mailbox_messages): do not
	use GnomeSound.

2010-12-28  Peter Bloomfield

	Clean up dead code and trailing white space

	* libbalsa/address.c (addrlist_drag_drop_cb):
	* libbalsa/identity.c (ident_dialog_get_path):
	* libinit_balsa/assistant_helper.c (entry_changed_cb):
	* src/ab-window.c (balsa_ab_window_init):
	* src/balsa-index.c (bndx_string_width),
	(bndx_popup_position_func):
	* src/balsa-mblist.c (bmbl_drag_motion), (bmbl_drag_cb):
	* src/balsa-message.c (bm_find_pass_to_entry),
	(balsa_get_parent_window), (balsa_message_grab_focus):
	* src/main-window.c:
	* src/sendmsg-window.c (drag_data_quote), (subject_not_empty),
	(check_suggest_encryption):
	* src/toolbar-factory.c (tm_popup_position_func),
	(tm_do_popup_menu):

2010-12-28  Peter Bloomfield

	Do not support BonoboActivation

	* src/balsa-bonobo.c: deleted.
	* src/balsa-bonobo.h: ditto.

2010-12-28  Peter Bloomfield

	Initial commit for gtk3 development branch

	* configure.in:
	* libbalsa/address-view.c (lbav_key_pressed_cb):
	* libbalsa/body.c (libbalsa_message_body_get_pixbuf):
	* libbalsa/cell-renderer-button.c
	(libbalsa_cell_renderer_button_activate):
	* libbalsa/html.c (lbh_resource_request_starting_cb),
	(lbh_info_bar_widget), (libbalsa_html_new):
	* libbalsa/identity.c (ident_dialog_add_gpg_menu), (add_show_menu),
	(ident_dialog_add_smtp_menu):
	* libbalsa/misc.c (libbalsa_charset_button_new):
	* libbalsa/smtp-server.c (smtp_server_tls_widget):
	* libinit_balsa/assistant_helper.c (balsa_init_add_table_option):
	* src/ab-main.c (ew_key_pressed):
	* src/ab-window.c (balsa_ab_window_load_books),
	(balsa_ab_window_init):
	* src/address-book-config.c (create_generic_dialog):
	* src/balsa-app.c (balsa_app_init), (balsa_app_destroy):
	* src/balsa-app.h:
	* src/balsa-cite-bar.c (balsa_cite_bar_class_init),
	(balsa_cite_bar_init), (balsa_cite_bar_get_preferred_width),
	(balsa_cite_bar_get_preferred_height), (balsa_cite_bar_draw):
	* src/balsa-index.c (bndx_class_init), (bndx_destroy),
	(bndx_popup_position_func), (bndx_pipe_response),
	(balsa_index_pipe):
	* src/balsa-mblist.c (bmbl_class_init), (bmbl_mru_show_tree):
	* src/balsa-message.c (balsa_message_class_init),
	(bm_find_scroll_to_rectangle), (bm_find_pass_to_entry),
	(balsa_message_destroy), (select_part):
	* src/balsa-mime-widget-callbacks.c
	(balsa_mime_widget_key_press_event):
	* src/balsa-mime-widget-crypto.c
	(balsa_mime_widget_signature_widget),
	(balsa_mime_widget_crypto_frame):
	* src/balsa-mime-widget-image.c (balsa_mime_widget_new_image),
	(img_check_size):
	* src/balsa-mime-widget-text.c (gtk_widget_destroy_insensitive),
	(text_view_populate_popup), (fill_text_buf_cited):
	* src/balsa-mime-widget.c (balsa_mime_widget_new),
	(balsa_mime_widget_new_unknown):
	* src/filter-edit-callbacks.c (fe_user_header_add),
	(get_field_frame):
	* src/filter-edit-dialog.c (fe_build_option_menu):
	* src/folder-conf.c (browse_button_cb):
	* src/mailbox-conf.c (mailbox_conf_combo_box_make),
	(balsa_server_conf_get_advanced_widget),
	(mailbox_conf_view_new_full):
	* src/mailbox-node.c (balsa_mailbox_node_get_context_menu):
	* src/main-window.c:
	* src/message-window.c (message_window_new):
	* src/pref-manager.c (apply_prefs), (checking_group),
	(quoted_group), (word_wrap_group), (main_window_group),
	(pspell_settings_group), (misc_group), (deleting_messages_group),
	(folder_scanning_group), (option_menu_cb), (add_show_menu),
	(pm_combo_box_new):
	* src/quote-color.c (allocate_quote_colors):
	* src/sendmsg-window.c (sw_get_user_codeset),
	(sw_scroll_size_request), (create_email_entry), (create_info_pane),
	(create_text_area):
	* src/spell-check.c (balsa_spell_check_class_init),
	(balsa_spell_check_destroy):
	* src/store-address.c (store_address_book_frame):
	* src/toolbar-factory.c (tm_popup_position_func):

2010-12-09  Peter Bloomfield

	* balsa.1.in: do not use macro URL; fixes gnome bz #636801.

2010-12-09  Pawel Salek

	* configure.in: make detection more automatic; fix gnome bz #636805.

2010-12-05  Peter Bloomfield

	* src/toolbar-factory.c (tm_populate): do not make 2-line
	toolbar button text if we are using the desktop default and it
	is GTK_TOOLBAR_BOTH_HORIZ; fixes a strange vertical alignment
	issue when using the default and it is GTK_TOOLBAR_BOTH_HORIZ.

2010-11-19  Pawel Salek

	* Configure.in: compile against libnotify-0.4.x as well. 

2010-11-19  Pawel Salek

	* src/main-window.c:
	* libbalsa/information.c: compile against libnotify-0.7.0
	* configure.in, NEWS: release 2.4.9

2010-11-16  Peter Bloomfield

	* libbalsa/mailbox_imap.c (multi_append_cb): cast quotient, not
	numerator.

2010-11-16  Peter Bloomfield

	* libbalsa/mailbox_imap.c (multi_append_cb): do not break
	gettext with concatenated string.

2010-11-12  Peter Bloomfield

	* src/balsa-message.c (bm_next_part_info): look for next part
	above current part, if necessary; fixes
	http://mail.gnome.org/archives/balsa-list/2010-November/msg00003.html

2010-11-07  Peter Bloomfield

	Implement LibBalsaCompletion as a copy of (deprecated)
	GCompletion

	* libbalsa/completion.c: new file.
	* libbalsa/completion.h: new file.
	* libbalsa/Makefile.am: build them.
	* libbalsa/abook-completion.c: use LibBalsaCompletion.
	* libbalsa/address-book-extern.c
	(libbalsa_address_book_externq_alias_complete): ditto.
	* libbalsa/address-book-gpe.c: ditto.
	* libbalsa/address-book-ldap.c
	(libbalsa_address_book_ldap_alias_complete): ditto.
	* libbalsa/address-book-rubrica.c
	(libbalsa_address_book_rubrica_init),
	(libbalsa_address_book_rubrica_alias_complete),
	(lbab_rubrica_load_xml): ditto.
	* libbalsa/address-book-text.c (libbalsa_address_book_text_init),
	(libbalsa_address_book_text_finalize), (lbab_text_load_file),
	(libbalsa_address_book_text_alias_complete): ditto.
	* libbalsa/address-book-text.h:  ditto.
	* libbalsa/address-book.c
	(libbalsa_address_book_alias_complete): ditto.
	* libbalsa/address-book.h: ditto.
	* libbalsa/address-view.c (lbav_get_matching_addresses): ditto.

2010-11-07  Albrecht Dreß

	Gtk3 deprecation cleanup

	* libbalsa/address.c (addrlist_drag_drop_cb):
	* libbalsa/imap/imap-handle.c (imap_get_flag), (imap_cmd_get_tag):
	* libbalsa/mailbox_imap.c (libbalsa_mailbox_imap_message_match),
	(libbalsa_mailbox_imap_get_matchings),
	(libbalsa_mailbox_imap_subscribe),
	(libbalsa_imap_rename_subfolder), (libbalsa_imap_new_subfolder):
	* src/ab-window.c (balsa_ab_window_init):
	* src/balsa-cite-bar.c (balsa_cite_bar_expose):
	* src/balsa-icons.c:
	* src/balsa-icons.h:
	* src/balsa-mblist.c (bmbl_drag_motion), (bmbl_drag_cb):
	* src/main-window.c:
	* src/sendmsg-window.c (drag_data_quote), (subject_not_empty):

2010-10-14  Peter Bloomfield

	* libbalsa/mailbox_imap.c (imap_expunge_cb): do not remove
	invalid array element.

2010-09-26  Peter Bloomfield

	Use separate mutexes for mailbox locking and checking mail

	* libbalsa/libbalsa.c (libbalsa_lock_mailbox),
	(libbalsa_unlock_mailbox): make the mutex static.
	* libbalsa/libbalsa_private.h: ditto.
	* src/main-window.c: use checking_mail_lock.
	* src/main.c (threads_init), (threads_destroy), (balsa_cleanup):
	* src/threads.h: ditto.

2010-09-01  Peter Bloomfield

	* src/main-window.c: hold gdk lock while updating UI.

2010-08-31  Peter Bloomfield

	* src/main-window.c: remove unintended debug spew.

2010-08-30  Peter Bloomfield

	* src/balsa-mblist.c (balsa_mblist_mailbox_node_redraw): update
	notebook tab when redrawing.
	* src/mailbox-conf.c (mailbox_conf_update): ...so we do not need
	to here.
	* src/save-restore.c (sr_special_notify,
	config_mailbox_set_as_special): use weak refs consistently; set
	names of new special mailboxes to the standard names, and names
	of previously special mailboxes to what they will be in the
	next session.

2010-08-21  Pawel Salek

	* configure.in, NEWS: release 2.4.8

2010-08-13  Pawel Salek

	* libbalsa/imap/imap-commands.c: check state after locking the handle.
	* libbalsa/imap/imap-handle.c: ditto.
	* libbalsa/imap/imap-handle.h: modify state checking macros accordingly.
	* libbalsa/imap/siobuf.c: set sio->ssl to null after SSL_free().

2010-08-13  Peter Bloomfield

	* src/mailbox-conf.c (create_local_mailbox_dialog): use window
	title to show mailbox type; fixes bgo #625695 (Jack Ostroff).

2010-08-12  Peter Bloomfield

	* src/balsa-message.c (balsa_message_set): do not crash when
	message == NULL.

2010-08-05  Peter Bloomfield

	* libbalsa/mailbox_imap.c
	(message_info_from_msgno): return NULL if msgno out of range;
	(imap_flags_cb), (imap_exists_idle), (imap_expunge_cb),
	(libbalsa_mailbox_imap_message_match),
	(libbalsa_mailbox_imap_get_message), (lbm_imap_change_user_flags),
	(libbalsa_mailbox_imap_msgno_has_flags): test for NULL return
	from message_info_from_msgno.

2010-07-28  Peter Bloomfield

	* libbalsa/identity.c (libbalsa_identity_init),
	(libbalsa_identity_finalize), (ident_dialog_update),
	(display_frame_update), (libbalsa_identity_new_config),
	(libbalsa_identity_save), (display_frame_set_gpg_mode),
	(ident_dialog_get_value): do not forget gpgme-related settings
	when running --without-gpgme.
	* libbalsa/identity.h: ditto.
	* libbalsa/rfc3156.h: ditto.

2010-07-28  Peter Bloomfield

	* src/mailbox-conf.c (balsa_server_conf_get_advanced_widget):
	disable SSL and TLS widgets when building --without-ssl.

2010-07-25  Pawel Salek

	* libbalsa/imap/imap-handle.c: work around buggy Gmail.
	* libbalsa/imap/imap-tls.c: change openssl api used for cert checks.
	* src/balsa-mime-widget-message.c: warn the user when no embedded
	message info available.

2010-07-14  Peter Bloomfield

	Install dialog to ask the user before selecting a different
	mailbox, and an option to not use it; fixes bug #620221
	(ghisha email it).

	* src/balsa-app.h: new member ask_before_select.
	* src/balsa-app.c (balsa_app_init): initialize it FALSE.
	* src/main-window.c: uncomment dialog and make it conditional on
	balsa_app.ask_before_select.
	* src/pref-manager.c (open_preferences_manager), (apply_prefs),
	(set_prefs), (main_window_group): manage it.
	* src/save-restore.c (config_global_load), (config_save): save
	and restore it, default FALSE.

2010-07-10  Peter Bloomfield

	Support IMAP server that complies with RFC 2086 but not with
	RFC 4013; fixes bug #623910 (Helmut Jarausch).

	* libbalsa/imap/imap-handle.c
	(ir_capability_data): check for "RIGHTS=" capability to
	distinguish RFC-4013-compliant server;
	(extract_acl): check for "cd" rights when server does not comply with
	RFC 4013.
	* libbalsa/imap/imap-handle.h: add IMCAP_RIGHTS to ImapCapability
	enum.
	* libbalsa/imap/libimap.h: add IMAP_ACL_OBS_CREATE and
	IMAP_ACL_OBS_DELETE to ImapAclType enum, and define
	IMAP_RIGHTS_CAN_WRITE(rights) macro.
	* libbalsa/mailbox_imap.c
	(imap_acl_to_str): show "cd" rights when server does not comply with
	RFC 4013;
	(libbalsa_mailbox_imap_get_selected_handle): use
	IMAP_RIGHTS_CAN_WRITE(rights) macro.

2010-07-07  Peter Bloomfield

	* libbalsa/libbalsa.c (libbalsa_date_to_utf8): return NULL when
	date is zero; fixes bug #623740 (Helmut Jarausch).

2010-06-04  Peter Bloomfield

	Drop legacy icon names.

	* images/16x16/Makefile.am: rename stock_inbox and stock_outbox.
	* images/16x16/mail-inbox.png: new name.
	* images/16x16/mail-outbox.png: ditto.
	* images/16x16/stock_inbox.png: old name.
	* images/16x16/stock_outbox.png: ditto.
	* src/balsa-icons.c (load_balsa_pixmap),
	(balsa_register_pixmaps): use new names.
	* src/balsa-print-object-text.c
	(balsa_print_object_text_calendar): ditto.
	* src/main-window.c: ditto.

2010-06-01  Peter Bloomfield

	Copy icons removed from gnome-icon-theme-2.30 from an earlier
	version.

	* images/16x16/Makefile.am:
	* images/16x16/stock_book_open.png:
	* images/16x16/stock_book_red.png:
	* images/16x16/stock_contact.png:
	* images/16x16/stock_inbox.png:
	* images/16x16/stock_mail-receive.png:
	* images/16x16/stock_mail.png:
	* images/16x16/stock_outbox.png:
	* images/24x24/Makefile.am:
	* images/24x24/stock_book_blue.png:
	* images/24x24/stock_book_green.png:
	* images/24x24/stock_book_open.png:
	* images/24x24/stock_book_red.png:
	* images/24x24/stock_book_yellow.png:
	* images/24x24/stock_contact.png:
	* images/24x24/stock_mail-receive.png:
	* images/24x24/stock_mail.png:
	* images/24x24/stock_view-fields.png:

2010-05-20  Peter Bloomfield

	* src/save-restore.c (config_global_load): do not wrap outgoing
	message by default, as it disables format=flowed.

2010-05-20  Peter Bloomfield

	* configure.in: add dependency on gthread-2.0; fixes bug
	#618979 (Kacper Kowalik); also add -lz to $LIBS, to build
	without openssl.

2010-05-06  Pawel Salek

	* libinit_balsa/assistant_page_defclient.c: free memory.
	* libinit_balsa/assistant_page_{directory,user}.c: ditto.
	* src/balsa-app.c: free memory on exit.
	* src/balsa-icons.[hc]: ditto by providing "unregister" functions.
	* src/main-window.c: unregister the pixmaps.
	* src/main.c: free configuration on exit.
	* src/save-restore.c: do not leak memory.

2010-05-01  Pawel Salek

	* src/balsa-message.c: handle expunge events arriving between
	fetch and flag set operations.

2010-04-27  Peter Bloomfield

	* libbalsa/send.h: allocate message with g_new instead of
	malloc, since we g_free it.

2010-04-26  Albrecht Dreß

	* libbalsa/rfc3156.c (libbalsa_check_crypto_engine): add hint
	about failed test for CMS protocol.

2010-04-11  Albrecht Dreß

	* libbalsa/filter.c (libbalsa_filter_mailbox_messages): build on
	Lucid β.
	* src/ab-main.c: ditto.
	* src/main.c (balsa_cleanup): ditto.

2010-04-07  Peter Bloomfield

	* src/balsa-index.c (bndx_string_width): use allocation width
	instead of pixbuf width.

2010-04-06  Peter Bloomfield

	* libbalsa/mailbox.c (msg_iterator): object-ref the stream if
	the caller will unref it.

2010-04-05  Peter Bloomfield

	* libbalsa/mailbox_imap.c (multi_append_cb): round size in
	kibibytes, for consistency with libbalsa_size_to_gchar.

2010-04-05  Peter Bloomfield

	* src/balsa-index.c (bndx_string_width), (bndx_instance_init),
	(balsa_index_set_column_widths): get column width as actual
	string width.

2010-04-05  Peter Bloomfield

	* libbalsa/misc.c (libbalsa_size_to_gchar): more compact string
	representation of a size.

2010-04-05  Pawel Salek

	* libbalsa/mailbox.c: Mailbox::add_messages would leak a file descriptor
	each time it was called.

2010-03-29  Peter Bloomfield

	* src/balsa-index.c (bndx_instance_init),
	(balsa_index_set_column_widths): set the renderer width for the
	"Size" column instead of the column width--works reliably; fixes
	bug #579479 (Jonathan North Washington).

2010-03-27  Peter Bloomfield

	* src/main-window.c: do not crash on early exit; fixes bug
	#613998 (Ildar).

2010-03-27  Peter Bloomfield

	* configure.in: build with gtkhtml2.

2010-03-27  Peter Bloomfield

	* src/main-window.c: use a single thread to open all mailboxes.

2010-03-27  Peter Bloomfield

	* src/balsa-app.c (open_mailbox_by_url),
	(open_mailboxes_idle_cb): open first mailbox not hidden, open
	the remainder hidden.

2010-03-27  Peter Bloomfield

	* src/balsa-index.c (bndx_destroy): recheck index->mailbox_node
	after dropping the gdk lock.

2010-03-27  Peter Bloomfield

	* libbalsa/mailbox.c (libbalsa_mailbox_close): increase mailbox
	ref count while closing it.

2010-03-23  Peter Bloomfield

	* src/main.c: missing include.

2010-03-23  Peter Bloomfield

	* configure.in: use single-includes.

2010-03-20  Peter Bloomfield

	* libbalsa/html.c (libbalsa_html_get_view_widget): new method to
	get the actual view widget.
	* libbalsa/html.h: ditto.
	* src/balsa-mime-widget-text.c (bm_widget_new_html): connect to
	key-press-event on the actual view widget.

2010-03-11  Peter Bloomfield

	* libbalsa/files.c (libbalsa_icon_finder): allocate string only
	if needed.

2010-03-07  Albrecht Dreß

	* src/balsa-mime-widget-text.c: do not mangle quotation characters
	when copying text.

2010-03-04  Pawel Salek

	* src/balsa-mime-widget-crypto.c: set the parent right.

2010-03-03  Albrecht Dreß

	* libbalsa/misc.[hc]:
	* libbalsa/mailbox.c: make libbalsa_size_to_gchar() a common function.
	* src/folder-conf.c: use it for displaying IMAP quota.

2010-03-03  Peter Bloomfield

	* libbalsa/message.c (libbalsa_message_change_flags): check
	argument validity.
	* libbalsa/send.c (handle_successful_send): check that the
	message still belongs to a mailbox.

2010-03-03  Peter Bloomfield

	* libbalsa/address-view.c (libbalsa_address_view_get_list): do
	not append NULL list in internet_address_list_append.

2010-02-28  Peter Bloomfield

	* src/folder-conf.c (folder_conf_imap_sub_node): remove mnemonic
	from subfolder-of label.

2010-02-20  Peter Bloomfield

	* src/folder-conf.c (set_ok_sensitive),
	(folder_conf_imap_sub_node): clean up folder properties dialog
	and manage Update button sensitivity.
	* src/mailbox-conf.c (create_local_mailbox_dialog),
	(create_imap_mailbox_dialog), (mailbox_conf_view_new_full),
	(mailbox_conf_view_new): use callback to manage Update button
	sensitivity.
	* src/mailbox-conf.h: new API.
	* src/main-window.c: change mailbox Edit to Properties.

2010-02-20  Albrecht Dreß

	* src/folder-conf.c (folder_conf_imap_sub_node): use Cyrus
	server's standard names for rights.

2010-02-20  Pawel Salek

	* libbalsa/gmime-gpgme-signature.c: add missing #include config.h
	that broke rawhide build.
	* libbalsa/imap/imap-commands.c: issue SELECT+MYRIGHTS together
	whenever necessary to save one RTT.
	* libbalsa/imap/imap-handle.c: add imap_cmd_exec_cmds() helper.
	* libbalsa/imap/imap_private.h: and its prototype.

2010-02-19  Peter Bloomfield

	* configure.in: option to configure GMime-2.4 or 2.6.
	* libbalsa/gmime-gpgme-context.c (g_mime_gpgme_context_finalize),
	(g_mime_session_passphrase), (g_mime_gpgme_context_new):
	* libbalsa/gmime-gpgme-context.h: use it.
	* libbalsa/gmime-stream-gio.c: ditto.
	* libbalsa/mailbox_mbox.c: ditto.
	* libbalsa/rfc3156.c (password_request_func),
	(libbalsa_sign_mime_object), (libbalsa_encrypt_mime_object),
	(libbalsa_body_check_signature), (libbalsa_body_decrypt),
	(libbalsa_rfc2440_sign_encrypt), (libbalsa_rfc2440_verify),
	(libbalsa_rfc2440_decrypt): ditto.

2010-02-17  Albrecht Dreß

	* libbalsa/imap/imap-commands.c: implement QUOTA, MYRIGHTS and GETACL
	commands.
	* libbalsa/imap/imap-handle.h: register QUOTA capability.
	* libbalsa/imap/imap_private.h: add private fields and enums
	related to these extensions.
	* libbalsa/mailbox_imap.[ch]: interface them.
	* src/folder-conf.c: use them.

2010-02-16  Albrecht Dreß

	* libbalsa/information.c: build when libnotify is not available.

2010-02-16  Peter Bloomfield

	* libbalsa/body.c (libbalsa_message_body_get_cid),
	(libbalsa_message_body_save_temporary),
	(libbalsa_message_body_get_by_id): strip "<>" from content-id.

2010-02-13  Pawel Salek

	* configure.in, NEWS: release 2.4.7

2010-02-12  Albrecht Dreß

	* src/balsa-message.c (bm_previous_part_info): do not return
	uninitialized BalsaPartInfo.

2010-02-09  Albrecht Dreß

	* configure.in: more understandable output from html-widget
	configuration.

2010-02-05  Peter Bloomfield

	* configure.in: use a case statement to configure html-widget.
	* libbalsa/html.c: test for HAVE_HTML_WIDGET.
	* libbalsa/html.h: ditto.
	* libbalsa/mime.c (process_mime_part): ditto.
	* src/balsa-message.c (bm_find_entry_changed_cb), (bm_find_again),
	(preferred_part), (balsa_message_can_select),
	(balsa_message_find_in_message): ditto.
	* src/balsa-message.h: ditto.
	* src/balsa-mime-widget-text.c (balsa_mime_widget_new_text):
	ditto.
	* src/main-window.c: ditto.
	* src/message-window.c (mw_select_part_cb): ditto.

2010-02-05  Peter Bloomfield

	* src/balsa-app.h: new boolean mark_quoted.
	* src/balsa-mime-widget-text.c (balsa_mime_widget_new_text):
	respect it.
	* src/pref-manager.c (open_preferences_manager), (apply_prefs),
	(set_prefs), (quoted_group), (mark_quoted_modified_cb): manage
	it.
	* src/save-restore.c (config_global_load), (config_save): save
	and restore it.

2010-02-05  Peter Bloomfield

	* libbalsa/mime.c (libbalsa_match_regex): do not loop
	indefinitely when regex matches zero characters.

2010-02-05  Pawel Salek

	* libbalsa/imap/imap_compress.c: reduce the compressed stream
	flushing frequency.
	* libbalsa/imap/siobuf.c: matching change on the buffering side.

2010-01-27  Pawel Salek

	* configure.in, NEWS: release 2.4.6.

2010-01-25  Pawel Salek

	* libbalsa/imap/siobuf.c: fix occassional sio_ungetc() failures
	for a compressed connection.

2010-01-25  Peter Bloomfield

	* libbalsa/filter-funcs.c (lbcond_compare_string_conditions),
	(libbalsa_condition_compare): compare string conditions
	correctly.
	* libbalsa/mailbox_local.c (message_match_real): do not pass
	NULL list to internet_address_list_to_string().

2010-01-24  Pawel Salek

	* configure.in, NEWS: release 2.4.5

2010-01-23  Peter Bloomfield

	* src/save-restore.c (config_identities_save): do not allocate
	unused array.

2010-01-23  Peter Bloomfield

	* src/message-window.c (destroy_message_window),
	(mw_select_part_cb): do not crash on "select-part" signal.

2010-01-23  Peter Bloomfield

	* src/balsa-message.c (balsa_message_set): clear tree before
	selecting part;
	(select_part): emit signal also for NULL part;
	(balsa_message_can_zoom): check for NULL widget.
	* src/main-window.c: rely on "select-part" signal for enabling
	menus.

2010-01-23  Peter Bloomfield

	* src/main-window.c: update menus only if they will not be
	updated when a message is shown.

2010-01-23  Pawel Salek

	* Makefile.am, src/Makefile.am: fix dist target when configured
	without gnome.
	* configure.in, NEWS: release balsa-2.4.4

2010-01-23  Pawel Salek

	* src/main-window.c: update copyright date.
	* configure.in, NEWS: release 2.4.3

2010-01-22  Peter Bloomfield

	* libbalsa/libbalsa-conf.c (lbc_sync): do not insert blank
	comments; save mtime when syncing.

2010-01-22  Peter Bloomfield

	* libbalsa/address-book-gpe.c (libbalsa_address_book_gpe_load):
	more sqlite3_free fixes.

2010-01-22  Pawel Salek

	* libbalsa/misc.c: allocate enough memory for config urls.

2010-01-19  Peter Bloomfield

	* libbalsa/imap-server.c (libbalsa_imap_server_init):
	use g_timeout_add_seconds, save the world.
	* src/balsa-mime-widget-text.c: ditto.
	* src/information-dialog.c (balsa_information_bar): ditto.
	* src/main-window.c: ditto.
	* src/main.c (main): ditto.
	* src/sendmsg-window.c (sendmsg_window_new): ditto.

2010-01-19  Peter Bloomfield

	* libbalsa/information.c (libbalsa_information_varg): show note
	before unreffing it(!).

2010-01-19  Peter Bloomfield

	* src/main-window.c (bw_quit_nicely): use
	libbalsa_information_parented, so that notification bubble can
	be closed when Balsa quits;
	(bw_real_open_mbnode): hold gdk lock while unreffing mbnode;
	(balsa_window_real_close_mbnode): more careful test for last
	notebook page;
	(empty_trash): check for NULL window.

2010-01-18  Peter Bloomfield

	* src/balsa-index.c (bndx_mbnode_weak_notify), (bndx_destroy),
	(balsa_index_load_mailbox_node): clear BalsaIndex::mailbox_node
	before destroying BalsaIndex.

2010-01-18  Peter Bloomfield

	* src/balsa-app.c (balsa_find_url): check for NULL
	mblist_tree_store.

2010-01-18  Peter Bloomfield

	* libbalsa/information.c (lbi_notification_parent_weak_notify),
	(lbi_notification_closed_cb), (libbalsa_information_varg): close
	notification bubble with parent.

2010-01-18  Peter Bloomfield

	* src/balsa-app.h: move nm_state and check_mail_skipped from
	BalsaApplication to BalsaWindow.
	* src/main-window.c: ditto.
	* src/main-window.h: ditto.

2010-01-17  Peter Bloomfield

	* src/balsa-app.h: new member mail_check_skipped.
	* src/main-window.c: use it to remember when we skipped a mail
	check while disconnected, and to check mail on reconnection.

2010-01-17  Peter Bloomfield

	* src/main-window.c: restart timer after user checks mail
	manually.

2010-01-17  Peter Bloomfield

	* src/balsa-app.c (update_timer): use g_timeout_add_seconds,
	save the world.

2010-01-17  Peter Bloomfield

	* src/main-window.c: report NetworkManager state on start-up;
	skip POP3 checks when disconnected; do not disconnect local IMAP
	server when NetworkManager is disconnected.

2010-01-17  Pawel Salek

	* libbalsa/imap/imap-tls.c: check also the length when matching
	the host name vs the one in the certificate.

2010-01-17  Peter Bloomfield

	* src/main-window.c: close the new-mail notification instead of
	showing it with a 1 millisecond time-out.

2010-01-16  Peter Bloomfield

	* src/balsa-app.h: new member NMState nm_state.
	* src/main-window.c: use it to save NetworkManager state;
	connect or disconnect IMAP on changes to/from
	NM_STATE_CONNECTED.

2010-01-16  Peter Bloomfield

	* libbalsa/body.c (libbalsa_message_body_save_temporary): make
	temporary file read-only.

2010-01-15  Pawel Salek

	* libbalsa/imap/imap_compress.c:
	* libbalsa/imap/siobuf.c: complete the compression error handling.

2010-01-14  Peter Bloomfield

	* libbalsa/html.h: new methods for printing.
	* libbalsa/html.c (libbalsa_html_can_print),
	(libbalsa_html_print): implement them.
	* src/balsa-mime-widget-text.c (bmwt_populate_popup_menu),
	(bmwt_populate_popup_cb): use them.

2010-01-14  Peter Bloomfield

	* libbalsa/html.h: new methods for printing.
	* libbalsa/html.c (libbalsa_html_can_print),
	(libbalsa_html_print): implement them.
	* src/balsa-mime-widget-text.c (bmwt_populate_popup_menu),
	(bmwt_populate_popup_cb): use them.

2010-01-14  Peter Bloomfield

	* configure.in: require NetworkManager version 0.7.
	* src/main-window.c: use GObject-based API instead of deprecated
	older API.

2010-01-12  Pawel Salek

	* libbalsa/html.c: fix libbalsa_html_popup_menu_widget() arg list.

2010-01-12  Peter Bloomfield

	* libbalsa/html.h: new public method to retrieve the real HTML
	widget.
	* libbalsa/html.c (libbalsa_html_popup_menu_widget): ditto.
	* src/balsa-mime-widget-text.c (bmwt_populate_popup_menu),
	(balsa_gtk_html_popup), (bmwt_populate_popup_cb),
	(bm_widget_new_html): use it to implement popup menu for
	WebKitWebView.

2010-01-11  Peter Bloomfield

	* libbalsa/address-book-gpe.c
	(libbalsa_address_book_gpe_alias_complete): free error with
	sqlite3_free() instead of free(); fixes bug #606676 (Stanislav
	Brabec).

2010-01-11  Peter Bloomfield

	* libbalsa/html.h: new API for libbalsa_html_new.
	* src/balsa-mime-widget-text.c (balsa_mime_widget_new_text),
	(bm_widget_new_html): use it.
	* libbalsa/html.c (lbh_get_body_content,
	lbh_get_web_view, libbalsa_html_can_zoom,
	libbalsa_html_zoom, libbalsa_html_can_select,
	libbalsa_html_select_all, libbalsa_html_copy,
	libbalsa_html_can_search, libbalsa_html_search_text,
	libbalsa_html_get_selection_bounds): implement new API;
	(lbh_info_bar_realize_cb, lbh_info_bar_widget,
	lbh_resource_request_starting_cb, lbh_info_bar_response_cb,
	libbalsa_html_new): prepend HTML message part with a GtkInfoBar
	offering the option to download images.

2010-01-11  Peter Bloomfield

	* src/balsa-message.c (add_part), (balsa_message_can_select):
	html widgets can select text.

2010-01-11  Peter Bloomfield

	* libbalsa/html.c (lbh_js_get_global_context), (lbh_js_run_script),
	(lbh_js_object_get_property), (libbalsa_html_search_text),
	(libbalsa_html_get_selection_bounds): use JavaScript to locate
	or clear selected text; enable text search.

2010-01-11  Pawel Salek

	* libbalsa/mailbox_imap.c: gmail anwers NO to FETCH, deal with it.

2010-01-10  Albrecht Dreß

	* src/pref-manager.c (word_wrap_group): increase maximum line
	length to 998, the RFC 2822 limit.

2010-01-09  Peter Bloomfield

	* src/balsa-message.c (add_body), (add_multipart_digest),
	(add_multipart_mixed), (add_multipart), (add_part),
	(select_part): cleaner recursion.

2010-01-09  Peter Bloomfield

	* src/balsa-mime-widget-text.c (url_open_cb), (check_call_url),
	(handle_url), (bm_widget_new_html): combine link-clicked
	handling for text/plain and text/html parts.

2010-01-08  Pawel Salek

	* libbalsa/imap/imap_compress.c: improve error handling.
	* libbalsa/mailbox_imap.c: catch error conditions early.

2010-01-06  Peter Bloomfield

	* src/balsa-mime-widget-text.c (balsa_mime_widget_new_text): do
	not leak HTML source.

2010-01-05  Pawel Salek

	* libbalsa/imap/siobuf.[ch]: change encode interface so that
	compression callback do not need to allocate too much memory.
	* libbalsa/imap/imap_compress.c: modify the callbacks accordingly.
	* libbalsa/imap/imap-handle.c: make sure we do not leave some
	unflushed compressed data around.
	* configure.in: zlib.h is unconditionally required.

2010-01-05  Peter Bloomfield

	* libbalsa/html.c (libbalsa_html_new): remove dead code.

2010-01-05  Peter Bloomfield

	* src/balsa-message.c (add_part), (select_part): remove dead or
	redundant code.

2010-01-05  Peter Bloomfield

	* libbalsa/html.c (libbalsa_html_new): put webkit in
	document-viewer mode instead of the default browser mode.

2010-01-05  Peter Bloomfield

	* src/balsa-app.h: omit point size from default font names.
	* src/pref-manager.c (open_preferences_manager),
	(check_font_button), (apply_prefs), (font_button_check_font_size),
	(attach_font_button), (preview_font_group), (font_modified_cb),
	(default_font_size_cb): add option to use default font sizes.

2010-01-05  Peter Bloomfield

	* src/balsa-mime-widget-text.c (balsa_mime_widget_new_text),
	(quote_tag): define constants for margins.

2010-01-04  Peter Bloomfield

	* libbalsa/misc.c (libbalsa_create_entry): use
	gtk_entry_set_text instead of gtk_editable_insert_text, to avoid
	a bogus warning.

2010-01-04  Peter Bloomfield

	* src/save-restore.c (config_global_load): default to no message
	wrap and prefer text/plain over text/html.

2010-01-04  Peter Bloomfield

	* src/balsa-message.c (bm_find_entry_changed_cb), (bm_find_again),
	(balsa_message_find_in_message): build --without-gtkhtml
	--without-webkit.

2010-01-04  Peter Bloomfield

	* libbalsa/imap/imap_compress.c: add missing includes of
	stdlib.h, string.h.

2010-01-03  Peter Bloomfield

	* src/main-window.c: better menu item label (Pawel).

2010-01-03  Pawel Salek

	* libbalsa/imap-server.c: enable compression by default.
	* libbalsa/imap/Makefile.am: add imap_compress.[hc]
	* libbalsa/imap/imap-commands.c: imap_cmd_exec returns ImapResponse.
	* libbalsa/imap/imap-handle.c: add COMPRESS=DEFLATE capability
	* libbalsa/imap/imap_compress.[ch]: support the extension.
	* libbalsa/imap/imap_tst.c: allow compression testing.

2010-01-02  Peter Bloomfield

	* src/balsa-mime-widget-text.c (balsa_mime_widget_new_text),
	(quote_tag): get font description from widget; scale size from
	points to pixels; use 60% of size for width.

2010-01-02  Peter Bloomfield

	* src/balsa-app.h: new members to save hidden toolbars.
	* src/save-restore.c (config_global_load), (config_save): save
	and restore them.
	* src/main-window.c: options to hide toolbar, SoSbar, and status
	bar.
	* src/main-window.h: add toolbar and sos_bar members.
	* src/message-window.c (message_window_new),
	(mw_show_toolbar_cb): option to hide toolbar.
	* src/sendmsg-window.c (sendmsg_window_new),
	(sw_show_toolbar_cb): option to hide toolbar.
	* src/sendmsg-window.h: add toolbar member.

2010-01-02  Pawel Salek

	* libbalsa/imap/pop3.c: Report errors occuring during downloading
	process earlier to avoid saving corrupted messages.
	* libbalsa/mailbox_pop3.c: do not leak file descriptors on some errors.

2010-01-01  Peter Bloomfield

	* src/sendmsg-window.c: Do not crash in touch-ui version.

2010-01-01  Peter Bloomfield

	* configure.in: Allow configure --enable-touch-ui=no and
	--disable-touch-ui.

2010-01-01  Pawel Salek

	* libbalsa/send.c: Fix bug 605807.

2009-12-30  Pawel Salek

	* configure.in: gtkspell build requires enchant now as well.\
	* src/main-window.c:
	* src/sendmsg-window.c: compile with --enable-touch-ui

2009-12-30  Peter Bloomfield

	* src/sendmsg-window.c (create_lang_menu): use
	enchant_broker_dict_exists() to check languages.

2009-12-29  Pawel Salek

	* libbalsa/rfc3156.c:
	* src/main-window.c: add comments to aid translations...
	* src/sendmsg-window.c: ... to fix bug 605435.

2009-12-29  Peter Bloomfield

	* libbalsa/html.c (lbh_resource_request_starting_cb),
	(lbh_new_window_policy_decision_requested_cb),
	(libbalsa_html_new): use "notify::progress" signal instead of
	deprecated "load-progress-changed"; use
	"new-window-policy-decision-requested" signal to more carefully
	control new windows.

2009-12-29  Peter Bloomfield

	* configure.in: require webkitgtk version 1.1.14 or newer.
	* libbalsa/html.c (lbh_resource_request_starting_cb),
	(libbalsa_html_new): use WebKitwebView's
	"resource-request-starting" signal to handle cid: requests and
	disable all others.
	* libbalsa/body.c (libbalsa_message_body_save_temporary): use
	body->filename in preference to content_id.
	* libbalsa/body.h: remove now redundant functions.
	* libbalsa/message.c: ditto.
	* libbalsa/message.h: ditto.

2009-12-26  Peter Bloomfield

	* libbalsa/html.c (lbh_filter_src), (libbalsa_html_new),
	(libbalsa_html_url_requested): implement two ways of handling
	cid: URLs in WebKitwebView.

2009-12-26  Peter Bloomfield

	* libbalsa/message.h: add tempdir member and new methods.
	* libbalsa/message.c (libbalsa_message_finalize),
	(libbalsa_message_get_part_by_id),
	(libbalsa_message_save_parts_by_id),
	(libbalsa_message_has_cid_part), (libbalsa_message_get_tempdir):
	implement and use them.

2009-12-26  Peter Bloomfield

	* libbalsa/libbalsa.h: new error code.

2009-12-20  Peter Bloomfield

	* libbalsa/body.h: new member LibBalsaMessageBody::own_dir, TRUE
	if the temporary file for the body is in its own temporary
	directory/
	* libbalsa/body.c (libbalsa_message_body_new),
	(libbalsa_message_body_free),
	(libbalsa_message_body_save_temporary): if the body has a
	filename, save the temporary file in its own temporary
	directory.

2009-12-20  Peter Bloomfield

	* libbalsa/filter-funcs.c (lbcond_new): save negated as 0 or 1,
	to simplify later comparison.
	(libbalsa_condition_compare): return FALSE if negate differs;
	drop now-redundant test for flag conditions.

2009-12-19  Peter Bloomfield

	* libbalsa/filter-funcs.c (libbalsa_condition_compare):
	simplify, and fix string and boolean filter comparisons.

2009-12-16  Peter Bloomfield

	* libbalsa/send.c (libbalsa_message_create_mime_message): do not
	append NULL list in internet_address_list_append.

2009-12-16  Mario Mikocevic <mario mikocevic t-com hr>

	* balsa.spec.in: for 2.4.2 to successfuly compile a rpm, a small
	patch is needed.

2009-12-14  Peter Bloomfield

	* configure.in: put LIBNM_GLIB_CFLAGS in BALSA_CFLAGS instead of
	CFLAGS--required to build with
	CFLAGS+="-DG_DISABLE_SINGLE_INCLUDES
	-DGDK_PIXBUF_DISABLE_SINGLE_INCLUDES
	-DGTK_DISABLE_SINGLE_INCLUDES"

2009-12-10  Peter Bloomfield

	* src/balsa-app.c (check_new_messages_auto_cb): pass
	balsa_app.main_window instead of NULL to check_new_messages_real,
	so we can manage the sensitivity of the check action.

2009-12-08  Peter Bloomfield

	* src/sendmsg-window.c (guess_identity_from_list): do not pass
	NULL list to internet_address_list_to_string().

2009-12-07  Peter Bloomfield

	* libbalsa/filter.c (libbalsa_condition_matches): do not pass
	NULL list to internet_address_list_to_string().

2009-12-06  Pawel Salek

	* configure.in
	* NEWS: release balsa-2.4.2

2009-12-03  Peter Bloomfield

	* src/balsa-message.c (bm_find_set_status),
	(bm_find_scroll_to_rectangle), (bm_find_scroll_to_selection),
	(bm_find_entry_changed_cb), (bm_find_again): implement
	search-text for HTML parts; desensitize find-next and
	find-previous when find-entry is empty.

2009-12-03  Peter Bloomfield

	* libbalsa/html.c (lbh_navigation_policy_decision_requested_cb),
	(libbalsa_html_new), (libbalsa_html_search_text),
	(libbalsa_html_get_selection_bounds),
	(libbalsa_html_can_search): implement search-text for webkit
	backend, but only if we can scroll to the text.
	* libbalsa/html.h: implement libbalsa_html_search_text.

2009-11-16  Peter Bloomfield

	* src/balsa-message.c (balsa_message_find_in_message): grab
	focus only if entry is realized.

2009-11-15  Peter Bloomfield

	* libbalsa/html.c (lbh_size_request_cb): remove debugging aid;
	(lbh_navigation_policy_decision_requested_cb): do not handle
	signal unless it is a real request;
	(libbalsa_html_new): remove debugging aids.
	* src/balsa-message.c (select_part): queue-resize is redundant.

2009-11-12  Pawel Salek

	* libbalsa/imap/imap-handle.c: fix a corner case locking problem.
	* src/main-window.c: remove a warning.
	* configure.in: work around lib rename.

2009-11-11  Pawel Salek

	* configure.in: add NetworkManager-glib support.
	* libbalsa/imap-server.c: Disconnect quickly if asked to.
	* libbalsa/imap/imap-commands.c: add private unlocked select command.
	* libbalsa/imap/imap-handle.c: locking changes.
	* libbalsa/imap/imap-handle.h: add ..force_disconnect() prototype.
	* libbalsa/imap/imap_private.h: add select_unlocked() prototype.
	* libbalsa/mailbox.c: stop-gap performance fix.
	* libbalsa/mailbox_imap.[hc]: Add force_disconnect(), reconnect(),
	is_connected().
	* src/main-window.c: listen to libnm events.

2009-11-08  Peter Bloomfield

	* libbalsa/imap/imap-tls.c (imap_check_server_identity): openssl
	has been constified--second try, should build with both latest
	and earlier openssl.

2009-11-08  Peter Bloomfield

	* libbalsa/imap/imap-tls.c (imap_check_server_identity):
	revert--it's going to take more work!

2009-11-08  Peter Bloomfield

	* libbalsa/imap/imap-tls.c (imap_check_server_identity): openssl
	has been constified.

2009-11-07  Peter Bloomfield

	* src/balsa-mime-widget-vcalendar.c (balsa_vevent_widget,
	vevent_reply): use macros to cast enum to or from gpointer.

2009-11-07  Peter Bloomfield

	* libbalsa/rfc2445.c (text_2445_unescape): "\N" encodes newline.

2009-11-01  Peter Bloomfield

	* libbalsa/html.c (lbh_size_request_cb): only increase the
	requisition;
	(lbh_navigation_policy_decision_requested_cb): be silent;
	(libbalsa_html_new): indentation.
	* src/balsa-message.c (add_part): give the content the surplus
	space.

2009-10-31  Peter Bloomfield

	* libbalsa/html.c (lbh_navigation_policy_decision_requested_cb):
	check reason for request.
	(libbalsa_html_new): do not leak GtkAdjustments.

2009-10-30  Peter Bloomfield

	* libbalsa/html.c (lbh_navigation_policy_decision_requested_cb,
	lbh_web_view_ready_idle, lbh_web_view_ready_cb,
	lbh_create_web_view_cb, libbalsa_html_new): handle a clicked
	link that requires a new window.

2009-10-28  Peter Bloomfield

	* src/balsa-mime-widget.c (balsa_mime_widget_destroy): unref
	widget instead of destroying.

2009-10-28  Peter Bloomfield

	* libbalsa/html.c (libbalsa_html_zoom, libbalsa_html_can_select,
	libbalsa_html_select_all, libbalsa_html_copy): add comments and
	indent;
	(libbalsa_html_search_text): build with all widgets.

2009-10-27  Peter Bloomfield

	* libbalsa/html.h: new methods for text search, to access
	WebKitWebView capability.
	* libbalsa/html.c (libbalsa_html_can_search,
	libbalsa_html_search_text): implement them.
	* src/balsa-message.c (bm_find_entry_changed_cb,
	bm_find_again, balsa_message_find_in_message): use them.
	* src/balsa-mime-widget.c (balsa_mime_widget_destroy): work-around
	weird WebKitWebView-GtkClipboard issue.

2009-10-27  Peter Bloomfield

	* src/toolbar-factory.c: show text for "compose" instead of
	"trash/delete".

2009-10-24  Peter Bloomfield

	* src/toolbar-factory.h: new member button_data::is_important.
	* src/toolbar-factory.c (tm_set_tool_item_label): use it.

2009-10-24  Peter Bloomfield

	* src/balsa-app.h: do not include toolbar-factory.h.

2009-10-15  Peter Bloomfield

	GSEAL cleanup

	* configure.in: enable GSEAL if gtk version >= 2.18.
	* libbalsa/address-view.c (lbav_entry_changed_cb):
	* libbalsa/address.c (addrlist_drag_received_cb):
	* libbalsa/html.c (lbh_size_request_cb):
	* libbalsa/identity.c (libbalsa_identity_select_dialog),
	(md_sig_path_changed_cb), (ident_dialog_get_path),
	(libbalsa_identity_config_dialog):
	* libbalsa/libbalsa.c (ask_cert_real):
	* libbalsa/misc.c (lb_create_size_group_func):
	* libbalsa/rfc3156.c (select_key_from_list), (get_passphrase_real):
	* libbalsa/send.c (ensure_send_progress_dialog):
	* libbalsa/smtp-server.c (libbalsa_smtp_server_dialog):
	* libbalsa/source-viewer.c (lsv_size_allocate_cb),
	(libbalsa_show_message_source):
	* libinit_balsa/assistant_helper.c (entry_changed_cb):
	* src/ab-main.c (edit_new_entry_cb), (addrlist_drag_get_cb):
	* src/ab-window.c (balsa_ab_window_init):
	* src/address-book-config.c (create_generic_dialog),
	(create_externq_dialog), (create_ldap_dialog), (create_gpe_dialog):
	* src/balsa-app.c (ask_password_real):
	* src/balsa-index.c (bndx_drag_cb), (bndx_mailbox_changed_cb),
	(bndx_popup_position_func), (bndx_expand_to_row),
	(balsa_index_pipe), (balsa_index_ensure_visible):
	* src/balsa-mblist.c (bmbl_drag_cb), (bmbl_mru_show_tree):
	* src/balsa-message.c (bm_on_set_style), (bm_find_scroll_to_iter),
	(bm_find_pass_to_entry), (gtk_tree_hide_func), (select_part),
	(scroll_set), (balsa_get_parent_window),
	(balsa_message_grab_focus):
	* src/balsa-mime-widget-callbacks.c (scroll_change),
	(balsa_mime_widget_key_press_event):
	* src/balsa-mime-widget-image.c (balsa_mime_widget_new_image),
	(img_check_size):
	* src/balsa-mime-widget-message.c (bm_header_widget_realized):
	* src/balsa-mime-widget-text.c (gtk_widget_destroy_insensitive),
	(draw_cite_bar_real):
	* src/balsa-mime-widget.c (vadj_change_cb):
	* src/filter-edit-callbacks.c (condition_validate),
	(fill_condition_widgets), (build_condition_dialog):
	* src/filter-edit-dialog.c (filters_edit_dialog):
	* src/filter-export-dialog.c (filters_export_dialog):
	* src/filter-run-dialog.c (balsa_filter_run_dialog_init):
	* src/folder-conf.c (folder_conf_imap_node), (browse_button_cb),
	(subfolder_conf_clicked_ok), (folder_conf_imap_sub_node):
	* src/information-dialog.c (balsa_information_list):
	* src/mailbox-conf.c (create_pop_mailbox_dialog),
	(create_imap_mailbox_dialog):
	* src/main-window.c (bw_quit_nicely):
	* src/message-window.c (size_alloc_cb):
	* src/pref-manager.c (open_preferences_manager), (apply_prefs),
	(set_prefs), (timer_modified_cb),
	(mailbox_close_timer_modified_cb), (imap_toggled_cb),
	(convert_8bit_cb):
	* src/print-gtk.c (check_margins), (message_prefs_apply):
	* src/sendmsg-window.c (sw_size_alloc_cb), (sw_get_user_codeset),
	(attachments_add), (sw_scroll_size_request), (drag_data_quote),
	(quote_parts_select_dlg), (subject_not_empty),
	(check_suggest_encryption):
	* src/spell-check.c (balsa_spell_check_init):
	* src/store-address.c (store_address_dialog):
	* src/toolbar-factory.c (tm_popup_position_func):
	* src/toolbar-prefs.c (customize_dialog_cb), (wrap_toggled_cb):

2009-10-15  Peter Bloomfield

	Re-implement BalsaCiteBar as a GTK_NO_WINDOW widget

	* src/balsa-cite-bar.h: make BalsaCiteBar opaque.
	* src/balsa-cite-bar.c (balsa_cite_bar_class_init),
	(balsa_cite_bar_init), (balsa_cite_bar_resize),
	(balsa_cite_bar_size_request), (balsa_cite_bar_expose):

2009-10-15  Peter Bloomfield

	Use gtk_window_present instead of gdk_window_raise

	* libbalsa/identity.c (libbalsa_identity_select_dialog):
	* libbalsa/smtp-server.c (libbalsa_smtp_server_dialog):
	* src/address-book-config.c (balsa_address_book_config_new):
	* src/balsa-index.c (balsa_index_pipe):
	* src/filter-edit-dialog.c (filters_edit_dialog):
	* src/filter-export-dialog.c (filters_export_dialog):
	* src/filter-run-dialog.c (filters_run_dialog):
	* src/folder-conf.c (folder_conf_imap_node):
	* src/mailbox-conf.c (mailbox_conf_new), (mailbox_conf_edit):
	* src/main-window.c:
	* src/pref-manager.c (open_preferences_manager):
	* src/sendmsg-window.c (address_book_cb), (spell_check_cb):
	* src/store-address.c (balsa_store_address_from_messages):
	* src/toolbar-prefs.c (customize_dialog_cb):

2009-10-09   Stanislav Brabec

	Fix #596309

	* configure.in: require gnome-icon-theme.
	* src/balsa-app.c (balsa_app_init): set gnome-icon-theme as
	fallback.

2009-10-08  Peter Bloomfield

	* src/address-book-config.c (create_local_dialog,
	create_vcard_dialog, create_ldif_dialog,
	create_generic_dialog, create_externq_dialog,
	create_ldap_dialog, create_gpe_dialog, create_rubrica_dialog):
	show address book type in dialog title.

2009-10-08  Peter Bloomfield

	* libbalsa/mailbox.c (lbm_changed, libbalsa_mailbox_changed): do
	not emit mailbox-changed signal in a sub-thread.

2009-10-08  Peter Bloomfield

	* libbalsa/mailbox_mbox.c (lbm_mbox_armored_object): use
	g_mime_object_encode when available.

2009-10-08  Peter Bloomfield

	* src/address-book-config.c (edit_book_response): check for NULL
	address-book.

2009-10-01  Peter Bloomfield

	* libbalsa/mailbox_mbox.c (lbm_mbox_prepare_object,
	lbm_mbox_armored_object): use GMimeMultipart api to traverse
	message ourselves instead of using g_mime_multipart_foreach.

2009-09-30  Peter Bloomfield

	* src/toolbar-factory.c (tm_do_popup_menu): do not crash when
	default is "text beside items"; fixes
	http://mail.gnome.org/archives/balsa-list/2009-September/msg00045.html

2009-09-28  Laurent Coudeur <laurentc iol ie>

	* src/spell-check.c (balsa_spell_check_init,
	balsa_spell_check_start, balsa_spell_check_learn,
	setup_suggestions, check_pspell_errors): mark strings for
	translation.

2009-09-26  Peter Bloomfield

	* libbalsa/mailbox_mbox.c (lbm_mbox_prepare_object): count
	GMimeMessagePart as well as GMimePart when skipping parts.

2009-09-25  Peter Bloomfield

	* libbalsa/mailbox_mbox.c (lbm_mbox_prepare_object),
	(lbm_mbox_armored_object): detect when g_mime_multipart_foreach
	will recursively descend into a signed or encrypted multipart,
	and set a counter to skip the parts that should not be changed.

2009-09-24  Peter Bloomfield

	* src/balsa-app.c (append_url_if_open): use a GPtrArray to
	collect URLs instead of a GString;
	(open_mailboxes_idle_cb): ditto; do not leak urls.

2009-09-24  Peter Bloomfield

	* src/balsa-app.c (open_mailboxes_idle_cb): do not open most
	recent mailbox if no mailboxes were open.

2009-09-24  Peter Bloomfield

	* src/balsa-app.c (open_mailbox_by_url),
	(open_mailboxes_idle_cb): respect current-mailbox-url when -o
	command line option is used.
	* src/main-window.c: do not clear current-mailbox-url when last
	mailbox is closed, as it may get saved that way.
	* src/main.c (initial_open_inbox): open inbox hidden.

2009-09-11  Peter Bloomfield

	Open most recent mailbox first on restart

	* libbalsa/libbalsa-marshal.list: new marshaller.
	* src/balsa-app.h: new member current_mailbox_url.
	* src/save-restore.c (config_global_load), (config_save): save
	and restore it.
	* src/main-window.h: new api for open-mbnode class method.
	* src/balsa-mblist.h: new method balsa_mblist_open_mailbox_hidden;
	* src/balsa-app.c (open_mailboxes_idle_cb): use them.
	* src/balsa-index.c (balsa_index_transfer): ditto.
	* src/balsa-mblist.c (bmbl_open_mailbox),
	(balsa_mblist_open_mailbox), (balsa_mblist_open_mailbox_hidden):
	ditto.
	* src/mailbox-node.c (load_mailbox_view): ditto.
	* src/main-window.c: ditto.

2009-09-11  Peter Bloomfield

	* src/mailbox-conf.c (mailbox_conf_set_values):
	initialize mailbox name for local mailbox;
	(local_mailbox_dialog_cb), (create_local_mailbox_dialog):
	catch file chooser events to check for a real change;
	(create_imap_mailbox_dialog), (mailbox_conf_view_new_full),
	(mailbox_conf_view_new): new api.

2009-09-10  Peter Bloomfield

	* src/mailbox-conf.c (mailbox_conf_view_cb),
	(mailbox_conf_view_new_with_size_group): set "Update" button
	sensitive when a control is changed.

2009-09-07  Peter Bloomfield

	* src/main.c (balsa_handle_automation_options): encode URI for
	UniqueMessageData.
	(mw_message_received_cb): decode URI received from
	UniqueMessageData.

2009-09-07  Peter Bloomfield

	* libbalsa/misc.c (libbalsa_urlencode): handle 8-bit characters.

2009-09-07  Peter Bloomfield

	* libbalsa/libbalsa-conf.c (lbc_init): do not read config file
	twice.

2009-09-07  Peter Bloomfield

	* libinit_balsa/assistant_init.c (balsa_init_begin): minimal
	init assistant.
	* libinit_balsa/assistant_page_user.c
	(balsa_druid_page_user_init): ditto.

2009-09-04  Peter Bloomfield

	* libbalsa/address-book-vcard.c
	(libbalsa_address_book_vcard_parse_address): accept
	"email:name@host" as well as "email;type=blah:name@host".

2009-09-03  Peter Bloomfield

	* configure.in: oops--revert.

2009-09-03  Peter Bloomfield

	* configure.in: do not allow configure with both webkit and
	gtkhtml.

2009-08-29  Albrecht Dreß

	Improve the Mac OS X integration for a native "Carbon" build

	* libbalsa/Makefile.am:
	* libbalsa/identity.c (libbalsa_identity_select_dialog),
	(delete_ident_cb), (libbalsa_identity_config_dialog):
	* libbalsa/rfc3156.c (check_gpg_child), (select_key_from_list),
	(accept_low_trust_key), (get_passphrase_real):
	* libbalsa/smtp-server.c (libbalsa_smtp_server_dialog):
	* libbalsa/source-viewer.c (libbalsa_show_message_source):
	* src/ab-main.c:
	* src/address-book-config.c (create_local_dialog),
	(create_generic_dialog), (bad_path):
	* src/balsa-app.c (ask_password_real):
	* src/balsa-icons.c (register_balsa_pixmaps):
	* src/balsa-index.c (balsa_index_pipe):
	* src/balsa-mblist.c (bmbl_mru_show_tree):
	* src/balsa-message.c (part_context_dump_all_cb),
	(create_mdn_dialog):
	* src/balsa-mime-widget-callbacks.c
	(balsa_mime_widget_ctx_menu_save):
	* src/filter-edit-callbacks.c (fe_edit_condition):
	* src/folder-conf.c (folder_conf_imap_node), (browse_button_cb),
	(subfolder_conf_clicked_ok), (folder_conf_imap_sub_node),
	(folder_conf_delete):
	* src/information-dialog.c (balsa_information_dialog),
	(balsa_information_list):
	* src/mailbox-conf.c (mailbox_conf_delete),
	(create_local_mailbox_dialog), (create_generic_dialog):
	* src/main-window.c:
	* src/message-window.c (message_window_new):
	* src/pref-manager.c (open_preferences_manager):
	* src/sendmsg-window.c (delete_handler), (change_attach_mode),
	(sw_get_user_codeset), (sw_attach_dialog),
	(quote_parts_select_dlg), (sendmsg_window_new),
	(sendmsg_window_set_field), (include_file_cb),
	(check_suggest_encryption), (send_message_handler),
	(bsmsg_check_format_compatibility):
	* src/store-address.c (store_address_dialog):
	* src/threads.h:
	* src/toolbar-prefs.c (customize_dialog_cb):

2006-08-27  Pawel Salek

	* libbalsa/imap/imap-handle.c: namespace queries need to encode
	the prefix.
	* libbalsa/imap/imap_tst.c: test mailbox name encoding.
	* libbalsa/imap/util.c: encode backslash and quote marks.
	
2009-08-26  Peter Bloomfield 

	set-statusbar is a BalsaWindow method.

	* src/balsa-index.c (balsa_index_transfer):
	* src/balsa-mblist.c (balsa_mblist_open_mailbox),
	(bmbl_update_mailbox):
	* src/balsa-mblist.h:
	* src/main-window.c:
	* src/main-window.h:

2009-08-20  Peter Bloomfield

	* src/main-window.c: build with --disable-threads.

2009-08-19  Peter Bloomfield

	* libbalsa/address-book-gpe.c
	(libbalsa_address_book_gpe_open_db): show file name in error
	message.

2009-08-19  Peter Bloomfield

	* src/main-window.c: Manage sensitivity of "Get New Mail"
	action.
	* src/main.c (mw_message_received_cb, main): ditto.

2009-08-19  Peter Bloomfield

	Allow only one compose window per draft message.

	* src/balsa-index.c (bndx_row_activated): check for NULL return
	from sendmsg_window_continue.
	* src/sendmsg-window.c (balsa_sendmsg_destroy_handler,
	sw_save_draft): clear object data.
	(sendmsg_window_continue): present existing window if it exists
	and return NULL, and use object data to remember window.

2009-08-19  Peter Bloomfield

	* src/balsa-mime-widget-message.c (bm_header_widget_new): use
	GTK_WRAP_WORD_CHAR so that over-long words do not force
	over-wide window.
	* src/balsa-mime-widget-text.c (balsa_mime_widget_new_text):
	ditto.
	* src/balsa-mime-widget-vcalendar.c: ditto.

2009-08-11  Peter Bloomfield

	* src/balsa-print-object-header.c (header_add_list): do not
	print header line with NULL address string.

2006-08-09  Pawel Salek

	* NEWS, configure.in: release balsa-2.4.1

2009-08-04  Peter Bloomfield

	* configure.in: new option --with-canberra=no.
	* libbalsa/filter.c (libbalsa_filter_mailbox_messages): use
	libcanberra-gtk in preference to libgnome for filter sounds.

2009-08-02  Peter Bloomfield

	* src/sendmsg-window.c (bsmsg_set_subject_from_body): use
	existing subject for continued draft message; new name and api;
	(update_bsmsg_identity), (bsm_finish_setup),
	(sendmsg_window_forward): use new name and api.

2009-08-01  Peter Bloomfield

	* libbalsa/body.c (libbalsa_message_body_get_pixbuf): workaround
	for IE's use of non-IANA registered mime-type "image/pjpeg" for
	progressive JPEG image.

2009-08-01  Peter Bloomfield

	* src/sendmsg-window.c (set_entry_to_subject): do not drop
	subject when continuing a new message.

2006-07-30  Pawel Salek

	* libbalsa/imap/imap-commands.c: lock LIST fixed.

2009-07-28  Peter Bloomfield

	* libbalsa/address-view.c (lbav_add_from_list),
	(lbav_add_from_string): streamline code.

2006-07-28  Pawel Salek

	* libbalsa/address-view.c: protect against empty InternetAddressLists.
	* libbalsa/imap/imap-commands.c: lock LIST, LSUB, STATUS as well.

2009-07-26  Peter Bloomfield

	* src/balsa-mblist.c: do not include gdk/gdkfont.h.

2009-07-26  Peter Bloomfield

	Partial fixes for bug #589764, André Klapper.

	* libbalsa/imap/pop3.c (pop_authenticate): use
	g_ascii_strncasecmp.
	* src/quote-color.c (allocate_quote_colors): remove
	"gdk_color_black" from comment.

2009-07-26  Peter Bloomfield

	* src/sendmsg-window.c: do not include gnome.h.

2009-07-26  Peter Bloomfield

	* src/main-window.c: remove redundant gtk version checks and
	dead code.

2009-07-25  Peter Bloomfield

	* libinit_balsa/assistant_helper.c
	(balsa_init_create_to_directory): show specific error message.

2009-07-23  Peter Bloomfield

	Check for NULL InternetAddressList

	* libbalsa/send.c (do_multipart_crypto):
	* src/sendmsg-window.c (sw_cc_add_list):
	* src/store-address.c (store_address_add_list):

2009-07-21  Peter Bloomfield

	Save send type in draft message

	* src/sendmsg-window.h: new member is_continue.
	* src/sendmsg-window.c (delete_handler), (guess_identity),
	(sendmsg_window_new), (sendmsg_window_continue),
	(message_postpone): use it instead of SEND_CONTINUE.
	(sendmsg_window_set_title), (set_entry_to_subject),
	(replace_identity_signature): we no longer use SEND_CONTINUE.

2009-07-20  Peter Bloomfield

	* configure.in: make silent rules by default.

2006-07-12  Pawel Salek

	* src/sendmsg-window.c: do insert new signatures on identity
	switch (reported on balsa-list).

2009-07-09  Peter Bloomfield

	* src/message-window.c (mw_expunged_cb): check for NULL message.

2009-07-09  Peter Bloomfield

	* libbalsa/mailbox_mbox.c (libbalsa_mailbox_mbox_sync): check
	for error in GMimeParser.

2009-06-30  Peter Bloomfield

	* configure.in: test for res_init.
	* libbalsa/imap/imap-handle.c (imap_socket_open): use it to
	recover faster after reconnecting to the internet.

2009-06-27  Peter Bloomfield

	* src/spell-check.h: build --without-gtkspell.

2006-06-24  Pawel Salek

	* libbalsa/imap/imap-{commands,handle}.c: catch errors early on
	for more accurate error messages.
	* libbalsa/imap/imap_search.c: ditto.
	* libbalsa/imap/imap-handle.h: warn if idle_disable's result is ignored.
	* libbalsa/mailbox_imap.c: correct tranformation of rfc822 groups
	from ImapAddress to InternetAddress (together with Peter B).
	* src/sendmsg-window.c: check that string is not-null before
	setting window title.

2006-06-11  Pawel Salek

	* libbalsa/mailbox_imap.c: do not create empty address lists.
	This makes the message compose code believe that reply-to is set.

2009-06-07  Peter Bloomfield

	Build with threads disabled

	* libbalsa/mailbox.c (lbm_msgno_changed): fix conditional code.

2009-06-07  Peter Bloomfield

	Update display in an idle callback.

	* libbalsa/mailbox.h: new array of msgnos that have changed.
	* libbalsa/mailbox.c (libbalsa_mailbox_finalize),
	(lbm_msgno_changed_expunged_cb), (lbm_msgnos_changed_idle_cb),
	(lbm_msgno_changed), (libbalsa_mailbox_msgno_changed),
	(lbm_get_index_entry_real): use it to update display in an idle
	callback, instead of in the sub-thread in which the message info
	was set up.

2009-06-07  Peter Bloomfield

	* src/sendmsg-window.c (repl_identity_signature),
	(insert_initial_sig): remember cursor position when adding or
	changing signature.

2009-06-03  Peter Bloomfield

	Build with threads disabled

	* configure.in: must enable threads to use WebKit.
	* libbalsa/imap-server.c (libbalsa_imap_server_set_username),
	(libbalsa_imap_server_set_host), (libbalsa_imap_server_init),
	(libbalsa_imap_server_finalize), (lb_imap_server_cleanup),
	(get_or_create), (libbalsa_imap_server_get_handle),
	(libbalsa_imap_server_get_handle_with_user),
	(libbalsa_imap_server_release_handle),
	(libbalsa_imap_server_force_disconnect),
	(libbalsa_imap_server_close_all_connections),
	(libbalsa_imap_server_has_free_handles): use macros to manage
	locks.
	* libbalsa/imap/imap_private.h: add TRYLOCK macro.

2009-05-27  Peter Bloomfield

	* src/balsa-mime-widget-callbacks.c
	(balsa_mime_widget_key_press_event): emitting "popup-menu"
	requires the address of the return value.

2006-05-23  Pawel Salek

	* src/balsa-index.[ch]: switch between full and narrow index views.
	* src/main-window.[ch]: switch between ordinary and wide-screen layouts.
	* src/save-restore.c: save the layout as an enum.
	* src/balsa-app.[ch]: set default layout.
	* src/pref-manager.c: main window layout type is a drop-down list now.
	
2009-05-13  Peter Bloomfield

	* src/mailbox-node.c (find_dir), (balsa_mailbox_local_append):
	parent of a top-level mailbox should be the root node.

2009-05-13  Peter Bloomfield

	* src/mailbox-node.c (balsa_mailbox_node_rescan): clear
	mn->scanned, so that we append the subtree.

2009-05-07  Peter Bloomfield

	Implement select thread

	* src/balsa-index.c (balsa_index_select_thread): new method to
	select all messages in thread containing current message.
	* src/balsa-index.h: ditto.
	* src/main-window.c: use it.

2009-05-04  Peter Bloomfield

	Add filter for colorizing messages

	* libbalsa/filter.h: add FILTER_COLOR to FilterActionType enum,
	and FILTER_N_TYPES sentinel.
	* libbalsa/filter.c (libbalsa_filter_mailbox_messages): act on
	it.
	* libbalsa/libbalsa_private.h: add color members to
	LibBalsaMailboxIndexEntry.
	* libbalsa/mailbox.h: new methods to set color; expand
	LibBalsaMailboxColumn enum.
	* libbalsa/mailbox.c (lbm_index_entry_populate_from_msg),
	(mbox_model_init), (mbox_model_get_value), (lbm_set_color),
	(libbalsa_mailbox_set_foreground),
	(libbalsa_mailbox_set_background): implement them.
	* src/balsa-index.c (bndx_instance_init): set color in all
	columns.
	* src/filter-edit-callbacks.c (fe_action_selected),
	(fe_apply_pressed), (fe_filters_list_selection_changed),
	(fe_color_check_toggled), (fe_color_set):
	* src/filter-edit-dialog.c (fe_make_color_buttons),
	(build_action_page): add option to choose colors.
	* src/filter-edit.h: new callbacks.
	* src/filter-run-callbacks.c (fr_apply_selected_pressed_func),
	(fr_add_pressed_func): ditto.
	* src/save-restore.c (config_filter_load),
	(config_filters_load): scrap broken pre-2.1 compatibility code.

2009-04-29  Ildar Mulyukov

	* balsa.desktop.in: respect
	http://standards.freedesktop.org/menu-spec/latest/apa.html

2009-04-29  Peter Bloomfield

	* libbalsa/mailbox.h: new member sort_field_prev in
	LibBalsaMailboxView.
	* libbalsa/mailbox.c (libbalsa_mailbox_set_sort_field,
	mbox_compare_func, mbox_set_sort_column_id): use it to save
	previous sort_field, and to resolve ties wrt current
	sort_field--work around for lack of a stable mailbox sort.

2009-04-23  Peter Bloomfield

	bump version to 2.4.0, and require GMime-2.4, GLib-2.16, and
	Gtk-2.14.

2009-04-21  Peter Bloomfield

	port to GMime-2.4

2009-04-21  Peter Bloomfield

	create balsa-2-3 branch for updates to the pre-GMime-2.4 tree.

2009-04-21  Peter Bloomfield

	* balsa.doap: new description-of-a-project file.

2009-04-15  Peter Bloomfield

	* src/balsa-mime-widget.c: (balsa_mime_widget_new_unknown):
	ellipsize message label.

2009-04-06  Albrecht Dreß

	* src/balsa-print-object.c: (balsa_print_object_emb_message,
	balsa_print_object_mp_crypto,
	balsa_print_objects_append_from_body): fix mem leak, select
	print handlers from a list which needs two helpers due to
	different prototypes;
	* src/balsa-print-object-header.c:
	(balsa_print_object_header_new_real): fix mem leak;
	* src/print-gtk.c: (begin_print): simplify code.

2009-04-02  Peter Bloomfield

	Make sure that config.h is included before any header that
	refers to a symbol defined there.

	* libbalsa/address-book-gpe.h:
	* libbalsa/body.h:
	* libbalsa/filter-private.h:
	* libbalsa/gmime-stream-gio.h:
	* libbalsa/gmime-stream-gnome-vfs.h:
	* libbalsa/html.h:
	* libbalsa/identity.h:
	* libbalsa/libbalsa.h:
	* libbalsa/libbalsa_private.h:
	* libbalsa/mailbox.h:
	* libbalsa/message.h:
	* libbalsa/mime-stream-shared.h:
	* libbalsa/misc.h:
	* libbalsa/missing.h:
	* libbalsa/rfc3156.h:
	* libbalsa/send.h:
	* libbalsa/server.h:
	* libinit_balsa/Makefile.am:
	* libinit_balsa/assistant_page_defclient.h:
	* src/balsa-app.h:
	* src/balsa-bonobo.h:
	* src/balsa-icons.h:
	* src/balsa-message.h:
	* src/balsa-mime-widget-crypto.h:
	* src/balsa-print-object-header.h:
	* src/main-window.h:
	* src/print.h:
	* src/quote-color.h:
	* src/save-restore.h:
	* src/sendmsg-window.h:
	* libbalsa/libbalsa-conf.c: include config.h.
	* libinit_balsa/assistant_page_defclient.c: ditto.
	* libinit_balsa/assistant_init.c: ditto.

2009-04-02  Peter Bloomfield

	* src/balsa-print-object-decor.c: include config.h.
	* src/balsa-print-object-image.c: ditto.

2009-03-31  Albrecht Dreß

	* libbalsa/rfc2445.c: (libbalsa_vcal_new_from_body,
	date_time_2445_to_time_t): fix "critical" warnings due to
	comparison of wrong variable, and if a line is empty.
	* src/balsa-print-object-default.c:
	(balsa_print_object_default_draw): print the icon top-aligned.
	* src/balsa-print-object-text.c:
	(balsa_print_object_text_calendar): break huge iCal parts over
	multiple pages if necessary.

2009-03-26  Peter Bloomfield

	* libbalsa/missing_time.c: build with enable-threads.

2009-03-19  Peter Bloomfield

	* Makefile.am: install BonoboActivation files only if
	!BUILD_WITH_UNIQUE.
	* src/Makefile.am: ditto.

2009-03-19  Peter Bloomfield

	Build --without-esmtp

	* libbalsa/libbalsa.h: typedef LibBalsaSmtpServer only if
	ENABLE_ESMTP.
	* libbalsa/identity.h: include "libbalsa.h" instead of
	"smtp-server.h".

2006-03-19  Pawel Salek

	* libbalsa/imap/imap-handle.c: make IDLE startup asynchronous.
	* libbalsa/imap/imap_private.h: provide EAT_LINE macro.
	* libbalsa/imap/imap-commands.c: use it.

2009-03-13  Peter Bloomfield

	Offer libUnique as an alternative to BonoboActivation to ensure
	single instance.

	* configure.in: new option --with-unique=no.
	* src/Makefile.am: Bonobo files are conditional.
	* src/main.c: (main, balsa_main_check_new_messages,
	mw_message_received_cb, balsa_handle_automation_options):
	implement it.
	(balsa_init): Initialize Gtk only once, and check for error.

2009-03-11  Albrecht Dreß

	* libbalsa/rfc2445.c: (libbalsa_vcal_new_from_body): ignore
	nested description.
	* src/balsa-mime-widget-vcalendar.c: (balsa_vevent_widget): use
	GtkTextView to show wrapped description.

2009-03-11  Peter Bloomfield

	* libbalsa/address-book-ldap.c: (rfc_2254_escape): do not
	include gnome.h; use g_{new,free} instead of {malloc,free}.

2009-03-03  Peter Bloomfield

	Consistently initialize Gerror, and use g_clear_error when it
	helps.

	* libbalsa/gmime-stream-gio.c:
	* libbalsa/libbalsa-conf.c: (lbc_init), (lbc_sync):
	* libbalsa/mailbox_local.c: (lbm_local_save_tree):
	* libbalsa/source-viewer.c: (lbsv_app_set_menus):
	* src/ab-main.c: (get_main_menu), (main):
	* src/balsa-icons.c: (load_balsa_pixmap):
	* src/filter-edit-callbacks.c: (condition_dialog_response),
	(fe_dialog_response):
	* src/filter-run-callbacks.c: (fr_dialog_response):
	* src/main-window.c:
	* src/main.c: (main):
	* src/message-window.c: (message_window_new):
	* src/sendmsg-window.c: (sendmsg_window_new):

2009-03-03  Peter Bloomfield

	* libbalsa/identity.c: free force-key-id.
	* src/balsa-icons.c: (load_balsa_pixmap): unref icon-set.
	* src/balsa-mime-widget-text.c: (balsa_mime_widget_new_text,
	bm_widget_new_vcard): free ptr in balsa_mime_widget_new_text
	instead of in bm_widget_new_vcard.

2009-03-01  Peter Bloomfield

	* libbalsa/mailbox_imap.c: (libbalsa_mailbox_imap_open): do not
	leak ImapCacheManager.

2009-02-28  Peter Bloomfield

	* libbalsa/body.c: (libbalsa_message_body_get_pixbuf): tell
	GdkPixbufLoader the mime type; some types, apparently including
	compressed SVG, cannot be reliably identified by looking at
	the data.

2009-02-28  Peter Bloomfield

	* src/main-window.c: tighten some old code.

2009-02-28  Peter Bloomfield

	* src/main.c: (initial_open_unread_mailboxes,
	initial_open_inbox, main): really check new mail after building
	the tree.

2009-02-27  Peter Bloomfield

	* src/main-window.c: 
	* src/main.c: (balsa_main_check_new_messages, main): on startup,
	check new mail in an idle handler, after the mailbox tree has
	been built.

2009-02-27  Peter Bloomfield

	* src/balsa-message.c: libbalsa_can_display is needed only if
	HAVE_GTKHTML.

2009-02-26  Paweł Sałek

	* libbalsa/imap/imap-commands.c: do not deadlock when opening imap
	mailbox with new messages, sorted on the client side.

2009-02-25  Peter Bloomfield

	make sure -DHAVE_CONFIG_H is passed as a compiler flag.
	* configure.in:
	* libbalsa/Makefile.am:
	* src/Makefile.am:

	Test HAVE_CONFIG_H before including config.h.
	* libbalsa/abook-completion.c:
	* libbalsa/address-book-extern.c:
	* libbalsa/address-book-gpe.c:
	* libbalsa/address-book-ldap.c:
	* libbalsa/address-book-ldif.c:
	* libbalsa/address-book-rubrica.c:
	* libbalsa/address-book-text.c:
	* libbalsa/address-book-vcard.c:
	* libbalsa/address-book.c:
	* libbalsa/address-view.c:
	* libbalsa/address.c:
	* libbalsa/body.c:
	* libbalsa/body.h:
	* libbalsa/cell-renderer-button.c:
	* libbalsa/files.c:
	* libbalsa/files.h:
	* libbalsa/filter-error.c:
	* libbalsa/filter-file.c:
	* libbalsa/filter-funcs.c:
	* libbalsa/filter.c:
	* libbalsa/folder-scanners.c:
	* libbalsa/folder-scanners.h:
	* libbalsa/gmime-gpgme-context.c:
	* libbalsa/gmime-part-rfc2440.c:
	* libbalsa/gmime-stream-gio.c:
	* libbalsa/gmime-stream-gio.h:
	* libbalsa/gmime-stream-gnome-vfs.c:
	* libbalsa/gmime-stream-gnome-vfs.h:
	* libbalsa/html.c:
	* libbalsa/html.h:
	* libbalsa/identity.c:
	* libbalsa/identity.h:
	* libbalsa/imap-server.c:
	* libbalsa/imap-server.h:
	* libbalsa/information.c:
	* libbalsa/libbalsa-conf.h:
	* libbalsa/libbalsa-vfs.c:
	* libbalsa/libbalsa-vfs.h:
	* libbalsa/libbalsa.c:
	* libbalsa/libbalsa.h:
	* libbalsa/mailbox-filter.c:
	* libbalsa/mailbox.c:
	* libbalsa/mailbox.h:
	* libbalsa/mailbox_imap.c:
	* libbalsa/mailbox_local.c:
	* libbalsa/mailbox_local.h:
	* libbalsa/mailbox_maildir.c:
	* libbalsa/mailbox_mbox.c:
	* libbalsa/mailbox_mh.c:
	* libbalsa/mailbox_pop3.c:
	* libbalsa/mailbox_remote.c:
	* libbalsa/message.c:
	* libbalsa/message.h:
	* libbalsa/mime-stream-shared.c:
	* libbalsa/mime-stream-shared.h:
	* libbalsa/mime.c:
	* libbalsa/misc.c:
	* libbalsa/missing_time.c:
	* libbalsa/rfc2445.c:
	* libbalsa/rfc3156.c:
	* libbalsa/rfc3156.h:
	* libbalsa/send.c:
	* libbalsa/send.h:
	* libbalsa/server.c:
	* libbalsa/smtp-server.c:
	* libbalsa/smtp-server.h:
	* libbalsa/source-viewer.c:
	* libinit_balsa/assistant_helper.c:
	* libinit_balsa/assistant_helper.h:
	* libinit_balsa/assistant_init.h:
	* libinit_balsa/assistant_page_defclient.h:
	* libinit_balsa/assistant_page_directory.c:
	* libinit_balsa/assistant_page_directory.h:
	* libinit_balsa/assistant_page_finish.c:
	* libinit_balsa/assistant_page_finish.h:
	* libinit_balsa/assistant_page_user.c:
	* libinit_balsa/assistant_page_user.h:
	* libinit_balsa/assistant_page_welcome.h:
	* libinit_balsa/balsa-druid-page-defclient.h:
	* libinit_balsa/balsa-druid-page-directory.h:
	* libinit_balsa/balsa-druid-page-finish.c:
	* libinit_balsa/balsa-druid-page-finish.h:
	* libinit_balsa/balsa-druid-page-user.c:
	* libinit_balsa/balsa-druid-page-user.h:
	* libinit_balsa/balsa-druid-page-welcome.h:
	* libinit_balsa/balsa-initdruid.h:
	* libinit_balsa/helper.c:
	* libinit_balsa/helper.h:
	* libinit_balsa/init_balsa.c:
	* src/ab-main.c:
	* src/ab-window.c:
	* src/ab-window.h:
	* src/address-book-config.c:
	* src/balsa-app.c:
	* src/balsa-bonobo.c:
	* src/balsa-bonobo.h:
	* src/balsa-icons.c:
	* src/balsa-icons.h:
	* src/balsa-index.c:
	* src/balsa-mblist.c:
	* src/balsa-message.c:
	* src/balsa-message.h:
	* src/balsa-mime-widget-callbacks.c:
	* src/balsa-mime-widget-callbacks.h:
	* src/balsa-mime-widget-crypto.c:
	* src/balsa-mime-widget-crypto.h:
	* src/balsa-mime-widget-image.c:
	* src/balsa-mime-widget-message.c:
	* src/balsa-mime-widget-multipart.c:
	* src/balsa-mime-widget-text.c:
	* src/balsa-mime-widget-vcalendar.c:
	* src/balsa-mime-widget.c:
	* src/balsa-print-object-default.c:
	* src/balsa-print-object-header.c:
	* src/balsa-print-object-header.h:
	* src/balsa-print-object-text.c:
	* src/balsa-print-object.c:
	* src/balsa-print-object.h:
	* src/filter-edit-callbacks.c:
	* src/filter-edit-dialog.c:
	* src/filter-export-callbacks.c:
	* src/filter-export-dialog.c:
	* src/filter-run-callbacks.c:
	* src/filter-run-dialog.c:
	* src/folder-conf.c:
	* src/information-dialog.c:
	* src/information-dialog.h:
	* src/mailbox-conf.c:
	* src/mailbox-node.c:
	* src/main-window.c:
	* src/main.c:
	* src/message-window.c:
	* src/pref-manager.c:
	* src/pref-manager.h:
	* src/print-gtk.c:
	* src/print.c:
	* src/print.h:
	* src/quote-color.c:
	* src/quote-color.h:
	* src/save-restore.c:
	* src/save-restore.h:
	* src/sendmsg-window.c:
	* src/sendmsg-window.h:
	* src/spell-check.c:
	* src/spell-check.h:
	* src/store-address.c:
	* src/store-address.h:
	* src/toolbar-factory.c:
	* src/toolbar-factory.h:
	* src/toolbar-prefs.c:
	* src/toolbar-prefs.h:

2009-02-25  Peter Bloomfield

	* src/main-window.h: add new_mail_tray and new_mail_note to
	BalsaWindow.
	* src/main-window.c: use gtk_window_set_urgency_hint to show new
	mail; consolidate notify::is-active handling.

2009-02-21  Paweł Sałek

	* libbalsa/files.c:
	* src/balsa-index.c: build against oldish gtk/gnome.
	* libbalsa/rfc2445.c: with gcc-3.x
	* libbalsa/imap/imap-commands.c: lock the handle when issuing
	asynchronous EXPUNGE.

2009-02-18  Paweł Sałek

	* src/sendmsg-window.c:, src/{ab-,}main.c:
	* libbalsa/rfc2445.c: we include stdlib.h unconditionally.
	
2009-02-16  Albrecht Dreß and Peter Bloomfield

	* src/balsa-message.c: (handle_mdn_request, create_mdn_reply,
	create_mdn_dialog, mdn_dialog_response): check all identities.
	* src/balsa-mime-widget-vcalendar.c: (vevent_reply): use
	smtp-server for attendee's identity.

2009-02-16  Albrecht Dreß

	* configure.in: detect the *time_r function declarations.
	* libbalsa/missing.h: HAVE_DECL_*TIME_R is always defined to a value.

2009-02-16  Albrecht Dreß and Paweł Sałek

	* src/main-window.c:
	  use g_(malloc|free) instead of malloc and free
	* src/sendmsg-window.c, src/ab-main.c, src/main.c:
	  add missing include of stdlib.h if it is available
	* configure.in: always define _XOPEN_SOURCE
	* libbalsa/missing.h: declare (local|gm|c)time_r if necessary
	* libbalsa/rfc2445.c: add proper casting macros, catch and convert
	\r\n line endings (iCal compatibility), work around iCal method
	parameter bug, fix crash on NULL pointers passed to conversion
	funcs.
	* libbalsa/filter-funcs.c: use glib for time conversion if available.
	* libbalsa/mailbox_imap.c: sync the cache when closing mbox.

2009-02-15  Peter Bloomfield

	* src/balsa-mime-widget-vcalendar.c: (balsa_vevent_widget,
	vevent_reply): check all identities.

2009-02-12  Peter Bloomfield

	* src/balsa-message.h: new member gint BalsaMessage::tab_position,
	the position of the tab for header values.
	* src/balsa-mime-widget.h: new member GtkWidget *
	BalsaMimeWidget::header_widget, pointer to the header widget for
	the message.
	* src/balsa-mime-widget-message.c: (balsa_mime_widget_new_message,
	balsa_mime_widget_new_message_tl, bm_header_widget_new,
	bmwm_set_tabs, add_header_gchar,
	balsa_mime_widget_message_set_headers, bmwm_buffer_set_prefs,
	balsa_mime_widget_message_set_headers_d): set the tab position 6
	pixels beyond the length of the longest header label; set user
	prefs for fonts and colors each time we render a message, in
	case prefs have changed.

2009-02-12  Inaki Larranaga Murgoitio  <dooteo@euskalgnu.org>

	* configure.in: Added 'eu' (Basque) to ALL_LINGUAS

2009-02-08  Albrecht Dreß

	* libbalsa/rfc2445.[hc]: Implement VCALENDAR and VEVENT objects.
	* src/balsa-mime-widget-vcalendar.[hc]:
	display vevent's, and the stuff for sending a text/calendar reply;
	* src/balsa-mime-widget.c: call functions to display text/calendar
	* src/balsa-print-object-text.[hc]:  support print these parts
	* src/balsa-print-object.c:: call functions to print text/calendar
	* src/balsa-message.c: make text/calendar the preferred part.
	* src/balsa-print-object-default.c: catch missing pixbuf
	* src/Makefile.am, libbalsa/Makefile.am: add new source files

2009-02-07  Albrecht Dreß

	* INSTALL: minimum gtk version upgraded, link cleanup (Incomplete!).
	* configure.in: Check min versions, new option for Mac OS X desktop,
	check for *time_r funcs, remove unnecessary check for iconv
	* src/filter-edit.h, src/balsa-index.c, src/balsa-mblist.c
	* src/mailbox-conf.c, src/filter-edit-dialog.c, src/pref-manager.c
	* src/address-book-config.c, libbalsa/misc.[hc]
	* libbalsa/libbalsa-conf.[hc], libbalsa/address.c, libbalsa/identity.c
	* src/filter-edit-callbacks.c:
	Assume we have Gtk+/glib >= 2.6.0
	* libbalsa/imap/imap_search.c:
	use GDate instead of localtime_r (avoid dependency to libbalsa)
	* libbalsa/rfc3156.c: use glib random func
	* libbalsa/Makefile.am, libbalsa/missing{_time.c,.h}:
	add system-dependent time_r funcs
	* src/main-window.c:
	Add basic Mac OS X menu integration, assume we have Gtk+/glib >= 2.6.0
	* src/sendmsg-window.c:
	Add basic Mac OS X menu integration, use g_strdup.
	* src/save-restore.[hc], libinit_balsa/assistant_page_defclient.[hc],
	* libinit_balsa/assistant_init.c:
	No Gnome default client without Gnome
	* src/toolbar-factory.c, src/main.c, src/Makefile.am
	Build without Gnome support
	* src/print-gtk.c: Mac OS X doesn't define _NL_MEASUREMENT_MEASUREMENT
	* src/balsa-icons.c:  Remove unnecessary include.
	* src/balsa-bonobo.[hc]: Only compiled if building with Gnome support
	* src/balsa-app.c:
	Gdk on Mac OS X cannot create a new colour map, fall back to system
	* src/ab-main.c:
	Build Gnome stuff only when available, assume we have Gtk+/glib >=
	2.6.0, add basic Mac OS X menu integration.

2009-02-07  Paweł Sałek

	* src/main-window.c: get rid of spurious new-mail notifications.

2009-01-25  Peter Bloomfield

	* libbalsa/mailbox_local.c: (lbm_local_restore_tree): check for
	stale cache file.
	* libbalsa/mailbox_mbox.c: (lbm_mbox_restore): ditto.

2009-01-24  Albrecht Dreß

	Small compatibility fixes

	* src/sendmsg-window.c: search for toplevel window, not for
	Gnome application;
	* libbalsa/send.c, libbalsa/imap/imap-handle.c: do not use
	strcasecmp which OS X apparently doesn't define;
	* libbalsa/rfc3156.c: use utf8-clean time conversion helper.

2009-01-23  Peter Bloomfield

	* src/main-window.c: use unique names in GtkActionGroup.
	* src/sendmsg-window.c: (sendmsg_window_ui_manager_new): ditto.

2009-01-23  Peter Bloomfield

	* src/main-window.c: Gtk-2.16 deprecation cleanup.

2009-01-21  Peter Bloomfield

	* libbalsa/body.c: (libbalsa_message_body_get_part_stream,
	libbalsa_message_body_get_message_part_stream): new helpers;
	(libbalsa_message_body_get_stream): use them;
	(libbalsa_message_body_get_content,
	libbalsa_message_body_save_stream): set GError when returning
	error.
	* libbalsa/files.c: (libbalsa_default_attachment_pixbuf,
	libbalsa_icon_finder): remove unused GError.
	* src/balsa-mime-widget-callbacks.c:
	(balsa_mime_widget_ctx_menu_save): clear GError.

2009-01-20  Peter Bloomfield

	* libbalsa/body.c: (libbalsa_message_body_get_stream): check
	that we have a GMimePart;
	(libbalsa_message_body_save_stream): use
	libbalsa_message_body_stream_add_filter;
	* libbalsa/mailbox_imap.c: (libbalsa_mailbox_imap_get_msg_part):
	check for GMimeMultipart and GMimeMessagePart, as well as
	GMimePart.

2009-01-20  Peter Bloomfield

	* libbalsa/gmime-stream-gio.c: (stream_read, stream_write,
	stream_seek, stream_substream,
	g_mime_stream_gio_new_with_bounds): build on 32-bit box with
	GMime-2.2.
	* libbalsa/gmime-stream-gio.h: ditto.

2009-01-20  Peter Bloomfield

	Fix BUG - threading view and selecting, reported by Mario
	Mikocevic <mario.mikocevic t-com hr>
	(http://mail.gnome.org/archives/balsa-list/2009-January/msg00015.html)

	* src/balsa-index.h: new boolean BalsaIndex::collapsing.
	* src/balsa-index.c:
	(bndx_test_collapse_row_cb) new callback to set it;
	(bndx_tree_collapse_cb): clear it;
	(bndx_selection_changed): use it to manage preview;
	(bndx_instance_init) connect to "test-collapse-row" signal to
	set it;

2009-01-18  Paweł Sałek

	* NEWS, configure.in: release 2.3.28

2009-01-16  Peter Bloomfield

	* libbalsa/misc.c: (libbalsa_set_fallback_codeset): do not
	allocate and leak strings, now that bug #509434 has been fixed.
	* src/balsa-icons.c: (load_balsa_pixmap): free the icon_source.
	* src/save-restore.c: include stdlib.h.
	* src/sendmsg-window.c: (delete_handler, sendmsg_window_set_title):
	do not leak address list.

2009-01-16  Paweł Sałek

	* libbalsa/files.c: simplify conditional code.
	* libbalsa/mailbox_imap.c: the only way to make sure that the
	exist handler does not trigger imap operations and a related
	deadlock is to process it entirely in an idle handler. Fetch
	message data using seqnos, otherwise we can get surprising EXPUNGE
	notifications. 
	* libbalsa/imap/imap-handle.c: some imap servers send data in the
	same packet as the IDLE prompt. Process it immediately.

2009-01-15  Peter Bloomfield

	* src/print-gtk.c: (add_margin_spinbtn): do not leak string.

2009-01-10  Peter Bloomfield

	* src/main-window.c: fix string--marcel telka sk (fixes bug
	#567323).

2009-01-03  Peter Bloomfield

	* src/sendmsg-window.c: (send_message_handler): fix
	string--leonardof gnome org (fixes bug #566426).

2009-01-03  Peter Bloomfield

	* libbalsa/imap/imap-commands.c: (imap_mbox_thread): do not
	shadow-declare rc.

2009-01-03  Albrecht Dreß

	* libbalsa/html.c: (libbalsa_html_new): tell WebKit the charset.

2009-01-03  Peter Bloomfield

	* libbalsa/send.c: (libbalsa_create_rfc2440_buffer): use
	ngettext to handle plural--leonardof gnome org (fixes bug
	#566420).

2009-01-03  Peter Bloomfield

	* libbalsa/gmime-gpgme-context.c: (g_mime_gpgme_encrypt):
	clarify string--leonardof gnome org (fixes bug #566415).

2009-01-02  Albrecht Dreß

	* configure.in: prefer gio >= 2.16.0, fallback to gnome-vfs.
	* libbalsa/gmime-stream-gnome-vfs.[hc]: build only if using gnome-vfs 
	* libbalsa/files.[hc]: implement icon lookup for gio
	* libbalsa/libbalsa-vfs.[hc]:  add support for GIO
	* libbalsa/gmime-stream-gio.[hc]: gmime gio stream wrapper.
	* libbalsa/misc.c: remove unnecessary #include of gnome-vfs.h
	* libbalsa/Makefile.am: add gmime-stream-gio.[hc]

	* src/balsa-print-object-default.c: use libbalsa-vfs instead of
	gnome-vfs, enabling in this way a clean GIO usage.
	
	* src/sendmsg-window.c: call external editor through gio or gnome-vfs;
	use libbalsa-vfs helper to open attachment with external app;
	show description in attachment list
	* src/balsa-mime-widget-callbacks.[ch]: use libbalsa-vfs to open parts
	* src/balsa-mime-widget-text.c: use changed balsa-mime-widget-callbacks API.
	* src/ab-window.c: launch app using glib
	* src/balsa-message.c: use description instead of plain MIME type.
	* src/balsa-mime-widget.c: create a mime button via libbalsa-vfs.
	
2009-01-02  Paweł Sałek

	* src/main-window.c: report number of deleted message duplicates.
	* libbalsa/mailbox.[ch]: provide it.
	* libbalsa/imap-server.c: using binary fetches breaks integrity checks.

2008-12-30  Paweł Sałek

	* NEWS, configure.in: release 2.3.27

2008-12-30  Paweł Sałek

	* libbalsa/imap/imap_search.c: keep ImapHandle locked when searching.
	* libbalsa/imap/imap-handle.c: .. and when switching to IDLE mode.
	* libbalsa/imap/imap-commands.c: and when threading and sorting.

2008-12-27  Paweł Sałek and Peter Bloomfield

	* src/balsa-mime-widget-message.c: call balsa_message_save_part()
	from header context menu.
	* src/balsa-message.[ch]: implement balsa_message_save_part().
	Call it from the "Message parts" tab.
	* libbalsa/mailbox_imap.c: mark GMimeMessagePart as saveable as well.
	* libbalsa/mailbox_local.c: ditto.
	* libbalsa/body.c: GMime streams for MessageParts have to be
	created in a particular way.

2008-12-24  Paweł Sałek

	* src/balsa-mblist.c: there are no unread mailboxes at destroy time.
	* src/balsa-message.c: display an interesting case of
	multipart/related embedded in a multipart/alternative.

2008-12-24  Peter Bloomfield

	* src/mailbox-node.c: (balsa_mailbox_node_rescan): handle rescan
	of whole tree (mn == NULL).

2008-12-24  Peter Bloomfield

	* src/balsa-app.c: (balsa_app_destroy): do not empty trash--it's
	too late.
	* src/main-window.c: in notebook-switch-page callback, check if
	Balsa is quitting.
	* src/save-restore.c: (sr_special_notify, config_mailbox_init):
	weak-ref special mailboxes, and at notify time, if Balsa is
	quitting, empty the trash.

2008-12-21  Paweł Sałek

	* configure.in: we require gnome-keyring >= 1.0
	Remove some of the race conditions as found with helgrind.
	* src/balsa-app.c: do not manually destroy widgets.
	* src/main.c: cleanup explicitly before exit from main, no signals
	needed.
	* libbalsa/mailbox_{imap,local}.c: lock mailbox.
	* libbalsa/mailbox.c: keep the lock a bit longer.
	* libbalsa/libbalsa.c: preregister more object types.
	* libbalsa/imap/imap-{commands,handle}.c: lock the handle.

2008-12-20  Peter Bloomfield

	button for MDN in message composition toolbar (Jean-Luc Coulon)

	* src/balsa-icons.h: define new icon.
	* src/balsa-icons.c: (register_balsa_pixmaps): register it as
	"stock_mail-reply".
	* src/toolbar-factory.c: list it with short label.
	* src/sendmsg-window.c: use it with tooltip.

2008-12-14  Paweł Sałek

	* src/main-window.c: Add ability to display recent messages only.
	* libbalsa/imap-server.c: give more details in error messages.
	* libbalsa/imap/imap-handle.c: ditto.
	* libbalsa/imap/imap-commands.[ch]: Add "peek" argument to 
	imap_mbox_handle_fetch_rfc822().
	
2008-12-06  Peter Bloomfield

	rewrite of libbalsa_insert_with_url

	* libbalsa/mime.c: (libbalsa_unwrap_buffer, mark_urls,
	prescanner, libbalsa_html_encode_hyperlinks):
	pass string length to prescanner;
	(get_ml_url_reg): make sure the url ends with a real url
	character;
	(libbalsa_insert_with_url): avoid allocating and freeing
	strings.
	* libbalsa/misc.h: new signature for libbalsa_url_cb_t.
	* src/balsa-mime-widget-text.c: (balsa_mime_widget_new_text):
	avoid allocating and freeing strings;
	(url_found_cb): new signature for libbalsa_url_cb_t.
	* src/sendmsg-window.c: (edit_with_gnome_check,
	repl_identity_signature, insert_selected_messages,
	drag_data_quote, continue_body, fill_body_from_part,
	insert_signature_cb, sendmsg_window_set_field,
	do_insert_string_select_ch, insert_file_response,
	sw_wrap_body, sendmsg_window_new_from_list): use
	gtk_text_buffer_insert_at_cursor instead of
	libbalsa_insert_with_url.

2008-12-03  Peter Bloomfield

	* libbalsa/html.c: (lbh_size_request_cb, libbalsa_html_new): use
	gtk_widget_set_scroll_adjustments instead of a signal; dynamic
	cast once instead of many times.

2008-12-01  Peter Bloomfield

	Initial experimental support for WebKit.

	* configure.in: configure it.
	* libbalsa/html.c: (lbh_hovering_over_link_cb,
	lbh_size_request_cb, lbh_navigation_requested_cb,
	libbalsa_html_new, libbalsa_html_to_string,
	libbalsa_html_can_zoom, libbalsa_html_zoom,
	libbalsa_html_can_select, libbalsa_html_select_all,
	libbalsa_html_copy, lbh_new): new conditional section; new api
	needed, because WebKitWebView has different signals and is not a
	subclass of GtkLayout.
	* libbalsa/html.h: new api.
	* src/balsa-mime-widget-text.c: (pointer_over_url,
	bm_widget_on_url, bm_widget_link_clicked, bm_widget_new_html):
	adapt to new api.

2008-11-22  Albrecht Dreß

	Use only static format strings.

	* libbalsa/libbalsa-vfs.c: (libbalsa_vfs_create_stream),
	(libbalsa_vfs_file_unlink):
	* libbalsa/send.c: (libbalsa_message_create_mime_message):
	* src/ab-main.c: (ab_warning):
	* src/sendmsg-window.c: (check_suggest_encryption),
	(send_message_handler):
	* src/store-address.c: (store_address_from_entries):

2008-11-22  Peter Bloomfield

	* libinit_balsa/assistant_init.c: include stdlib.h.
	* libinit_balsa/assistant_page_directory.c: ditto.
	* src/balsa-app.c: ditto.
	* src/balsa-mime-widget-text.c: ditto.
	* src/spell-check.c: ditto.

2008-11-22  Peter Bloomfield

	* libbalsa/html.h: work around gtkhtml2's use of deprecated api.

2008-11-22  Peter Bloomfield

	disable deprecated apis only in svn tree (fixes bug #561875).

	* configure.in:
	* libbalsa/Makefile.am: 
	* libinit_balsa/Makefile.am:
	* src/Makefile.am:

2008-11-21  Paweł Sałek

	* src/save-restore.c: connect signal to ask interactively for SMTP
	passwords.
	* src/balsa-app.c: display the type of the password (imap/smtp).
	* libbalsa/smtp-server.c: ask for password when one needs one.

2008-11-19  Paweł Sałek

	* configure.in: detect gnome-keyring-2.24 to work around bug 556530.
	* libbalsa/{imap-,}server.c: store passwords asap to keyring (Peter B.).
	* libbalsa/server.h: use own schema only with buggy gnome-keyring.

2008-11-17  Peter Bloomfield

	* src/main-window.c: make "about" website clickable.

2008-11-17  Paweł Sałek

	* src/{folder,mailbox}-conf.c: capitalize according to HID.
	* src/{balsa-app,pref-manager}.c: ditto.
	* libbalsa/identity.c: ditto.
	* configure.in: gnome-keyring detection.
	* libbalsa/smtp-server.c: store server protocol.
	* libbalsa/imap-server.c: read password from keyring.
	* libbalsa/server.[ch]: ditto.

2008-11-16  Paweł Sałek

	* src/balsa-mime-widget-{message,text}.c: fall back to gnome_url_Show
	if gtk2 >= 2.14.0 is unavailable.
	* src/sendmsg-window.c: ditto.

2008-11-15  Peter Bloomfield

	Use gtk_show_uri instead of gnome_help_display and
	gnome_url_show, in various places; no longer need to include
	<gnome.h> in as many places.

	* libbalsa/identity.c: (help_ident_cb): replace
	gnome_help_display and gnome_url_show with gtk_show_uri.
	* libbalsa/smtp-server.c: (smtp_server_response): ditto.
	* src/address-book-config.c: (help_button_cb): ditto.
	* src/balsa-message.c: ditto.
	* src/balsa-mime-widget-callbacks.c: ditto.
	* src/balsa-mime-widget-message.c: (extbody_call_url): ditto.
	* src/balsa-mime-widget-text.c: (handle_url),
	(balsa_gtk_html_link_clicked): ditto.
	* src/filter-edit-callbacks.c: (condition_dialog_response),
	(fe_dialog_response): ditto.
	* src/filter-run-callbacks.c: (fr_dialog_response): ditto.
	* src/folder-conf.c: (folder_conf_response): ditto.
	* src/main-window.c: ditto.
	* src/message-window.c: ditto.
	* src/pref-manager.c: (balsa_help_pbox_display): ditto.
	* src/sendmsg-window.c: (on_open_url_cb): ditto.
	* src/toolbar-prefs.c: (tp_dialog_response_cb): ditto.
	* src/balsa-app.h: do not include <gnome.h>
	* src/balsa-index.h: ditto.
	* src/balsa-message.h: ditto.
	* src/spell-check.c: ditto.
	* src/spell-check.h: ditto.
	* src/balsa-mime-widget.h: ditto.
	* libbalsa/body.h: include <sys/stat.h>.

2008-11-14  Peter Bloomfield

	* libbalsa/address-book.c: include only top level <gtk/gtk.h>.
	* libbalsa/address-view.h: ditto.
	* libbalsa/cell-renderer-button.h: ditto.
	* libbalsa/information.c: ditto.
	* src/balsa-cite-bar.h: ditto.

2008-11-08  Paweł Sałek

	* configure.in: replace --without-gnome with --with-gnome to reduce 
	confusion described on the web site.
	* doc/balsa.omf.in: fix #559825.

2008-10-14  Peter Bloomfield & Pawel Salek

	* bootstrap.sh: run gnome-doc-prepare.
	* src/Makefile.am: clean generated IDL files.
	* doc/C/balsa.xml: follow DTD.
	* doc/Makefile.am: use new gnome-doc format.
	* sounds/Makefile.am: clean up generated files.
	* configure.in: detect gnome-doc
	* Makefile.am: adapt to gnome-doc.

2008-10-12  Petr Kovar  <pknbe@volny.cz>

	* configure.in: Added "be" and "mk" to ALL_LINGUAS.

2008-10-09  Peter Bloomfield

	* src/main-window.c: smaller notebook tab button.

2008-10-08  Peter Bloomfield

	* src/main-window.c: update the magic number.

2008-10-03  Mario Blättermann <mariobl@svn.gnome.org>

	* doc/de/*: Added partial German translation
	* doc/Makefile.am: Added de to the translation subdirs

2008-09-28  Peter Bloomfield

	* libbalsa/mailbox_mbox.c: turn off debugging.

2008-09-22  Peter Bloomfield

	* src/pref-manager.c: (checking_group, misc_group,
	deleting_messages_group): GtkAdjustment::page_size must be zero
	when the GtkAdjustment is used in a GtkSpinButton.

2008-09-15  Peter Bloomfield

	* libbalsa/mailbox_mbox.c: (lbm_mbox_stream_seek_to_message):
	fix stupid comparison.

2008-09-15  Peter Bloomfield

	* libbalsa/mailbox_mbox.c: (lbm_mbox_stream_seek_to_message):
	do not trash stack.

2008-09-15  Peter Bloomfield

	* libbalsa/mailbox_mbox.c: (lbm_mbox_stream_seek_to_message,
	libbalsa_mailbox_mbox_check): cast off_t and ssize_t to long in
	calls to g_print.

2008-09-14  Peter Bloomfield

	* libbalsa/mailbox_mbox.c: (lbm_mbox_stream_seek_to_message):
	better debugging.

2008-09-14  Paweł Sałek

	* src/balsa-index.c: process messages with external program -
	asynchronously.

2008-09-14  Peter Bloomfield

	* libbalsa/body.c:
	(libbalsa_message_body_get_stream): fail if message has no mailbox.
	* libbalsa/mailbox_mbox.c:
	(free_message_info, free_messages_info): plug memory leak;
	(lbm_mbox_stream_seek_to_message, libbalsa_mailbox_mbox_open,
	libbalsa_mailbox_mbox_sync): debugging output;
	(libbalsa_mailbox_mbox_check): ditto; more careful check for
	new mail.
	* src/balsa-mime-widget-text.c:
	(balsa_mime_widget_new_text): check for NULL part.
	* src/balsa-print-object-text.c:
	(balsa_print_object_text_vcard): ditto
	* src/sendmsg-window.c:
	(fill_body_from_part, bsm_finish_setup): ditto.

2008-09-13  Peter Bloomfield

	* src/balsa-icons.c: (load_balsa_pixmap): add more fallbacks to
	cope with woeful gnome-icon-theme-2.23+; use
	GTK_STOCK_MISSING_IMAGE when all else fails, to avoid Gtk
	warnings.

2008-09-09  Peter Bloomfield

	Gtk 2.14 deprecation cleanup

	* libbalsa/mailbox.c: (mbox_set_sort_func),
	(mbox_set_default_sort_func):
	* libbalsa/source-viewer.c: (libbalsa_show_message_source):
	* libinit_balsa/assistant_page_user.c:
	(balsa_druid_page_user_init):
	* libinit_balsa/balsa-druid-page-user.c:
	(balsa_druid_page_user_init):
	* src/ab-window.c: (balsa_ab_window_get_type):
	* src/ab-window.h:
	* src/balsa-cite-bar.c: (balsa_cite_bar_class_init):
	* src/balsa-index.c: (balsa_index_get_type), (bndx_class_init),
	(bndx_popup_menu_create), (create_stock_menu_item):
	* src/balsa-index.h:
	* src/balsa-mblist.c: (balsa_mblist_get_type):
	* src/balsa-mblist.h:
	* src/balsa-message.c: (balsa_message_get_type),
	(tree_mult_selection_popup), (add_to_attachments_popup),
	(add_toggle_inline_menu_item):
	* src/balsa-message.h:
	* src/balsa-mime-widget.h:
	* src/filter-edit-callbacks.c: (build_type_notebook):
	* src/mailbox-conf.c: (run_mailbox_conf), (mailbox_conf_new),
	(create_local_mailbox_dialog), (create_pop_mailbox_dialog),
	(create_imap_mailbox_dialog):
	* src/mailbox-conf.h:
	* src/mailbox-node.c: (add_menu_entry),
	(balsa_mailbox_node_get_context_menu):
	* src/main-window.c:
	* src/main-window.h:
	* src/sendmsg-window.c: (add_attachment), (add_urlref_attachment),
	(bsmsg_check_format_compatibility):
	* src/spell-check.c: (balsa_spell_check_get_type),
	(balsa_spell_check_class_init):
	* src/spell-check.h:

2006-09-07  Paweł Sałek

	* libbalsa/imap/imap-handle.c: don't g_source_remove() twice.
	* NEWS, configure.in: release 2.3.26.

2006-09-06  Paweł Sałek

	* src/balsa-bonobo.c: raise main window after receiving Bonobo cmds.
	* src/balsa-app.c: add some HIG padding in the password dialog.
	* src/balsa-message.c: specify parent for the MDN dialog.
	* balsa.spec.in: merge minor fixes from Fedora's spec.
	* libbalsa/imap/imap-handle.c: process HUPs on idle IMAP connections.

2008-08-28  Albrecht Dreß

	specify a key id for an identity

	* doc/C/balsa.xml: document it.
	* libbalsa/gmime-gpgme-context.c: (get_key_from_name):
	check whether it's a name or an id.
	* libbalsa/identity.c: (libbalsa_identity_init,
	libbalsa_identity_finalize, setup_ident_frame,
	ident_dialog_update, display_frame_update,
	libbalsa_identity_new_config, libbalsa_identity_save): new entry
	for forced key id.
	* libbalsa/identity.h: new member for forced key id.
	* libbalsa/message.c: (libbalsa_message_init,
	libbalsa_message_finalize): ditto.
	* libbalsa/message.h: ditto.
	* libbalsa/send.c: (lb_send_from): use it.
	* src/sendmsg-window.c: (bsmsg2message): set it.

2008-08-24  Peter Bloomfield

	* src/main-window.c: simplify get-toolbar and ui-manager.
	* src/main-window.h: ditto.
	* src/message-window.c: (message_window_ui_manager_new,
	message_window_get_toolbar_model, message_window_new): ditto.
	* src/message-window.h: ditto.
	* src/pref-manager.c: (apply_prefs): ditto.
	* src/sendmsg-window.c: (sendmsg_window_ui_manager_new,
	sendmsg_window_get_toolbar_model, sendmsg_window_new): ditto.
	* src/sendmsg-window.h: ditto.
	* src/toolbar-prefs.c: (customize_dialog_cb): ditto.

2008-08-23  Peter Bloomfield

	* libbalsa/mime.c: (libbalsa_wrap_view, libbalsa_unwrap_buffer):
	no more soft newlines.
	* libbalsa/misc.h: remove libbalsa_prepare_delsp.
	* src/balsa-mime-widget-text.c: (balsa_mime_widget_new_text):
	no soft-newline tag.
	* src/sendmsg-window.c: (create_text_area): no soft-newline tag;
	(bsmsg2message): remove libbalsa_prepare_delsp.

2008-08-20  Peter Bloomfield

	* libbalsa/mime.c: (dowrap_rfc2646): do not append a space after
	a trailing tab when format=flowed.

2008-08-20  Peter Bloomfield

	* src/balsa-mime-widget-text.c: (balsa_mime_widget_new_text):
	plug memory leak.

2008-08-20  Peter Bloomfield

	* src/sendmsg-window.c: (bsmsg2message): pass the message to
	sw_wrap_body even if it is flowed, so that
	libbalsa_unwrap_buffer will remove whitespace preceding a hard
	newline.

2008-08-03  Peter Bloomfield

	* libbalsa/send.c: (lbs_list_n_addresses): count the addresses
	in an InternetAddressList;
	(lbs_process_queue): handle a message with a single Bcc: holder
	and no other recipients.

2008-08-03  Peter Bloomfield

	* src/sendmsg-window.c: (find_locale_index_by_locale): return -1
	if locale is not found;
	(create_lang_menu): default spell-check language to first item
	in menu, when balsa_app.spell_check_lang is not found;
	(sendmsg_window_continue): find_locale_index_by_locale is
	now signed.

2008-08-03  Peter Bloomfield

	* libbalsa/body.c: (libbalsa_message_body_set_message_part):
	handle NULL value from g_mime_message_part_get_message.

2008-07-30  Paweł Sałek

	* libbalsa/gmime-part-rfc2440.c: wrapper is not guaranteed to exist.
	* libbalsa/gmime-application-pkcs7.c: ditto.
	* libbalsa/body.c: ditto.
	* libbalsa/mailbox_imap.c: remove cache file if download failed.

2008-07-02  Peter Bloomfield

	* libbalsa/address.c: (vcard_strsplit): skip empty fields;
	(libbalsa_address_new_from_vcard): return NULL if the we do not
	find a complete vCard with at least one address.
	* src/balsa-mime-widget-text.c: (balsa_mime_widget_new_text):
	check text/directory as well as text/x-vcard; check for NULL
	return value;
	(bm_widget_new_vcard): return NULL if
	libbalsa_address_new_from_vcard returns NULL.
	* src/balsa-print-object-text.c:
	(balsa_print_object_text_vcard): print broken text/x-vcard and
	non-vcard text/directory parts as text/plain instead of default.
	* src/balsa-print-object.c:
	(balsa_print_objects_append_from_body): check text/directory as
	well as text/x-vcard.

2008-06-17  Peter Bloomfield

	* libbalsa/mailbox.c: (lbm_cache_message,
	libbalsa_mailbox_get_message, lbm_get_index_entry_real,
	lbm_get_index_entry, libbalsa_mailbox_cache_message): cache
	message info for the display at get-message time.
	* libbalsa/mailbox_mbox.c: (parse_mailbox): remove redundant
	call to libbalsa_mailbox_cache_message.

2008-06-17  Peter Bloomfield

	* libbalsa/libbalsa_private.h: scrap unused cache-unseen-child
	code.
	* libbalsa/mailbox.c: (lbm_index_entry_populate_from_msg,
	lbm_node_has_unseen_child, lbm_msgno_changed,
	lbm_set_threading, mbox_model_get_value): ditto.

2008-06-14  Paweł Sałek

	* NEWS, configure.in: release 2.3.25.

2008-06-12  Peter Bloomfield

	* libbalsa/mailbox_mbox.c: (lbm_mbox_header_cb, parse_mailbox),
	libbalsa_mailbox_mbox_sync): declare GMimeParserHeaderRegexFunc
	callback properly, and do not cast references to it.

2008-06-11  Paweł Sałek

	* libbalsa/imap/imap-handle.c: detect disconnect on write.
	* src/ab-main.c: add "Delete Entry" menu entry.

2008-06-05  Peter Bloomfield

	New method libbalsa_mailbox_index_entry_clear to avoid using
	libbalsa_mailbox_cache_message with a NULL message to clear the
	index entry.

	* libbalsa/mailbox.h: remove
	libbalsa_mailbox_index_entry_free--no need to export;
	new method libbalsa_mailbox_index_entry_clear.
	* libbalsa/mailbox.c: (lbm_index_entry_free,
	libbalsa_mailbox_index_entry_clear,
	libbalsa_mailbox_free_mindex, libbalsa_mailbox_msgno_removed):
	replace public
	libbalsa_mailbox_index_entry_free with static
	lbm_index_entry_free; new public method
	libbalsa_mailbox_index_entry_clear;
	(libbalsa_mailbox_cache_message): require a non-NULL message.
	* libbalsa/mailbox_imap.c: (imap_exists_cb): use
	libbalsa_mailbox_index_entry_clear.

2008-06-04  Peter Bloomfield

	* libbalsa/mime.c: (process_mime_part): quote a flowed message
	as flowed.

2008-06-04  Peter Bloomfield

	* src/balsa-mime-widget-message.c: (add_header_gchar): look
	further into the value, to make sure we detect a long header
	field.

2008-06-02  Peter Bloomfield

	* src/balsa-mime-widget-message.c: (bm_header_widget_new,
	add_header_gchar): let GtkTextView wrap headers.

2008-06-01  Peter Bloomfield

	* src/main-window.c: tighten code.
	* src/message-window.c: (mw_header_activate): do not change
	balsa-app.shown_headers.
	(show_all_headers_tool_cb): tighten code.

2008-06-02  Pawel Salek

	* libbalsa/imap/imap-handle.c: be more robust to servers returning
	resposes in a changed order. Handle GMail's wrong BODYSTRUCTURE
	response.
	* libbalsa/imap/imap_private.h: define ImapFetchBodyType to detect
	changed response order.
	* libbalsa/imap/imap-commands.c: detect changed response order.

2008-06-01  Peter Bloomfield

	* src/balsa-message.h: remove unused member show_all_headers.
	* src/balsa-message.c: (balsa_message_init): do not init it.
	* src/balsa-mime-widget-message.c: (add_header_gchar,
	add_header_address_list,
	balsa_mime_widget_message_set_headers_d): do not test it.

2008-06-01  Peter Bloomfield

	Make the new mail tray icon optional.

	* src/balsa-app.h: new member notify_new_mail_icon.
	* src/balsa-app.c: (balsa_app_init): initialize it to 1.
	* src/main-window.c: test it.
	* src/pref-manager.c: (open_preferences_manager, apply_prefs,
	set_prefs, checking_group): manage it.
	* src/save-restore.c: (config_global_load, config_save): load
	and save it.

2008-06-01  Peter Bloomfield

	* src/main-window.c: reassign icons to get "Expunge" as a
	toolbar option.
	* src/toolbar-factory.c: change labels accordingly.

2008-06-01  Pawel Salek

	* src/balsa-mime-widget-message.c: truncate long headers when
	"view selected" is chosen.

2008-05-31  Pawel Salek

	* configure.in, NEWS: release 2.3.24

2008-05-25  Albrecht Dreß

	Offer the option of sending a new message with both text/plain
	and text/html versions, specifically to avoid right-to-left text
	being mangled by text-to-html converters. The option is
	per-identity.

	* libbalsa/body.h: new member for html version.
	* libbalsa/body.c: (libbalsa_message_body_new,
	libbalsa_message_body_free): manage it.
	* libbalsa/identity.h: new member for option.
	* libbalsa/identity.c: (libbalsa_identity_init,
	libbalsa_identity_set_send_mp_alternative, setup_ident_frame,
	ident_dialog_update, display_frame_update,
	libbalsa_identity_new_config, libbalsa_identity_save): manage
	the option.
	* libbalsa/misc.h: new methods for html version.
	* libbalsa/mime.c: (libbalsa_html_encode_hyperlinks,
	libbalsa_text_to_html): implement them.
	* libbalsa/send.c: (add_mime_body_plain,
	libbalsa_message_create_mime_message,
	libbalsa_create_rfc2440_buffer): create multipart/alternative
	message with text/plain and text/html parts.
	* src/sendmsg-window.h: new member for html option.
	* src/sendmsg-window.c: (update_bsmsg_identity,
	sendmsg_window_new, sendmsg_window_continue, bsmsg2message,
	send_message_handler, message_postpone, toggle_mp_alt_cb):
	manage and act on the option.

2008-05-17  Peter Bloomfield

	* libbalsa/message.c:
	(libbalsa_message_load_envelope_from_stream): crlf-filter the
	stream; detect end-of-file by failed read instead of
	g_mime_stream_eos.

2008-04-29  Peter Bloomfield

	* src/sendmsg-window.c: (create_lang_menu): fix whining from
	Enchant via GtkSpell.

2008-04-28  Peter Bloomfield

	* src/sendmsg-window.c: use GTK_STOCK_EDIT for "Edit with Gnome".
	* src/toolbar-factory.c: add it to the legal toolbar buttons.

2008-04-28  Peter Bloomfield

	* src/balsa-index.c: (balsa_index_select_all): emit changed
	signal; (balsa_index_count_selected_messages): new method.
	* src/balsa-index.h: new method
	balsa_index_count_selected_messages.
	* src/main-window.c: use it to manage menu item sensitivity.
	* src/main-window.h: subdivide GtkActionGroups.

2008-04-25  Pawel Salek

	* libbalsa/mailbox_imap.c: create header even for empty parts.

2008-04-25  Albrecht Dreß

	* src/balsa-mime-widget-message.c: use URIs instead of paths.
	* src/sendmsg-window.[ch]: use gnome-vfs for attachment reading.
	* src/balsa-mime-widget-callbacks.c: ditto.
	* src/balsa-message.c: allow saving to URIs.
	* src/main.c: -o flag accepts an URI now.
	* src/information-dialog.h: add argument checking.
	* libbalsa/misc.[hc]: return more detailed error information.
	* libbalsa/body.h: store attachment URIs.
	* libbalsa/send.[ch]: handle errors when reading from URIs.
	* libbalsa/files.[ch]: file access operations use URIs now.
	* libbalsa/misc.c: move some functions to libbalsa-vfs.c
	* libbalsa/body.c: part operations accept URIs now.

2008-04-22  Pawel Salek

	* src/balsa-app.c: format=flowed by default.
	* libinit_balsa/assistant_page_user.[ch]: guess more stuff.
	* libinit_balsa/assistant_init.c: we have new code already, keep
	it silent.

2008-04-21  Peter Bloomfield

	* libbalsa/misc.h: if !USE_REGEX is enough.

2008-04-21  Peter Bloomfield

	* configure.in: implement --enable-gregex (default=no); change
	default for --enable-pcre to no.
	* libbalsa/filter-funcs.c: (libbalsa_condition_regex_free):
	condition on USE_REGEX.
	* libbalsa/filter-private.h: ditto.
	* libbalsa/mime.c: (mark_urls, libbalsa_insert_with_url,
	libbalsa_unwrap_selection): ditto.
	* libbalsa/misc.h: ditto.
	* src/balsa-app.c: ditto.
	* src/balsa-app.h: ditto.
	* src/balsa-mime-widget-text.c: (balsa_mime_widget_new_text):
	ditto.
	* src/balsa-print-object-text.c:
	(balsa_print_object_text_plain): ditto.
	* src/print.c: (print_wrap_body): ditto.
	* src/quote-color.c: (is_a_quote): ditto.
	* src/quote-color.h: ditto.
	* src/sendmsg-window.c: (reflow_selected_cb): ditto.
	* src/spell-check.c: (balsa_spell_check_start,
	balsa_spell_check_destroy, next_word): ditto.

2008-04-19  Peter Bloomfield

	* libbalsa/message.c: (lbmsg_set_header): scrap remaining
	warnings.

2008-04-12  Peter Bloomfield

	* libbalsa/mailbox_maildir.c: (lbm_maildir_parse_subdirs,
	libbalsa_mailbox_maildir_sync): make sure the tree is saved
	after reparsing subdirs.

2008-04-09  Pawel Salek

	* src/sendmsg-window.c: make postpone button and menu entry work.
	* libbalsa/message.c: do not complain when setting headers->from again.
	* libbalsa/imap/imap-handle.[ch]: make set_timeout() return the
	old value.
	* libbalsa/imap/imap_private.h: add HANDLE_TRYLOCK macro.
	* libbalsa/imap/imap-commands.c: use it for noop().

2008-04-06  Pawel Salek

	* libbalsa/imap/imap-handle.h: fix that macro.

2008-04-06  Pawel Salek

	* libbalsa/mailbox_imap.c: initalise ImapSequence data.
	* libbalsa/imap/imap-handle.h: provide a macro for that purpose.

2008-04-03  Pawel Salek

	* libbalsa/mailbox_imap.c: don't print warnings on copy when
	UIDPLUS is unavailable. Better code reuse.
	* libbalsa/message.c: don't modify invariants.

2008-04-02  Ildar Mulyukov <ildar at altlinux dot ru>

	* src/sendmsg-window.c: Some RU/KZ locales fixes.

2008-04-01  Pawel Salek

	* libbalsa/mailbox_imap.c: use UIDPLUS information returned by server
	to improve caching.
	* libbalsa/imap/imap-handle.[ch]: parse returned UIDPLUS data.
	* libbalsa/imap/imap_private.h: add ImapMboxHandle::uidplus field.
	* libbalsa/imap/imap-commands.[ch]: add API for accessing UIDPLUS data.

2008-03-31  Pawel Salek

	* src/spell-check.h: remove lingering reference to pspell.h
	* balsa.spec.in: update to modern standards.

2008-03-30  Peter Bloomfield

	* src/filter-edit-callbacks.c: (fill_condition_widgets): fix a
	critical warning.

2008-03-29  Jean-Luc Coulon

	* doc/C/balsa.xml: fix typos.

2008-03-26  Peter Bloomfield

	* src/balsa-message.c: (add_toggle_inline_menu_item): clear
	force-inline when we create a new check-box.

2008-03-25  Pawel Salek

	* src/balsa-index.c: pass "peek" parameter to get_message_stream().
	* libbalsa/{message,source-viewer}.c: ditto.
	* libbalsa/mailbox.[ch]: get_message_stream() has "peek" parameter now.
	* libbalsa/mailbox_{mh,mbox,maildir}.c: make related trivial changes.
	* libbalsa/mailbox_imap.c: pass "peek" further to save one RTT.

2008-03-20  Peter Bloomfield

	* src/balsa-message.c: (bm_find_again): actually show "Wrapped".

2008-03-20  Pawel Salek

	* libbalsa/imap/imap_search.[ch]: make it easier to explicitly
	select message sets for searching.
	* libbalsa/imap/imap-handle.c: put coalesce routines back here.
	* libbalsa/imap/imap-handle.h: move search functions to imap_search.h
	* libbalsa/imap/imap_private.h: declare coalesce routines here.
	* libbalsa/imap/imap-commands.c: remove coalesce routines.

2008-03-20  Peter Bloomfield

	* libbalsa/misc.{c,h}: (libbalsa_path_is_below_dir): careful
	check for a file being below a directory.
	* src/mailbox-conf.c: (mailbox_conf_add): use it.
	* src/mailbox-node.c: (check_local_path): ditto.
	* src/save-restore.c: (config_mailbox_set_as_special): ditto.
	* src/sendmsg-window.c: (render_attach_size): use
	g_format_size_for_display.
	* libinit_balsa/assistant_page_directory.c:
	(balsa_druid_page_directory_prepare): use g_build_filename.

2008-03-20  Pawel Salek

	* src/main-window.c: Fix a runtime warning.
	* configure.in, NEWS: release 2.3.23
	* doc/C/balsa.xml: document Face and X-Face headers.

2008-03-19  Albrecht Dreß

	* doc/C/balsa.xml: document crypto in help file for composer and
	identities dialogs.

2008-03-16  Pawel Salek

	* src/balsa-mime-widget-text.c: plug a leak if gtkhtml disabled.
	* libbalsa/mailbox_mbox.c: release all resources before disposing
	the mailbox.
	* libbalsa/message.c (lbmsg_set_header): plug a leak.
	
2008-03-11  Peter Bloomfield

	* libbalsa/mime.c: (mark_urls, libbalsa_insert_with_url): plug
	leaks, and clean up conditional code.

2008-03-09  Pawel Salek

	* src/ab-main.c: trying out alternative address book layout.
	* libbalsa/{address,address-book-ldif}.c: plug some memory leaks.

2008-03-09  Albrecht Dreß

	* libbalsa/rfc3156.c: (gpg_keyserver_op, check_gpg_child): add
	"refresh" as an alternative action to "import".
	* libbalsa/rfc3156.h: add gpg_keyserver_action_t enum for
	actions.
	* src/balsa-mime-widget-crypto.c:
	(balsa_mime_widget_signature_widget, on_gpg_key_button):
	implement "refresh" button.

2008-03-03  Pawel Salek

	* libbalsa/mailbox_imap.c: peek only into mailboxes, do no trigger
	implicit \seen flag toggling.
	* libbalsa/imap/imap-handle.c: recognize BODY[TEXT].
	* libbalsa/imap/imap-commands.[ch]: add peek argument.

2008-03-03  Peter Bloomfield

	* libbalsa/mailbox.c: (libbalsa_mailbox_messages_change_flags):
	do not crash when mindex == NULL.

2008-03-02  Peter Bloomfield

	* src/balsa-index.c: (bndx_instance_init): remember
	selection-changed signal handler id.
	(balsa_index_select_all): select all messages without previewing
	any.
	* src/balsa-index.h: new member and method.
	* src/main-window.c: use balsa_index_select_all.

2008-02-27  Peter Bloomfield

	* libbalsa/mailbox.c: (libbalsa_mailbox_set_view_filter):
	remember if the view needs to be updated.
	* libbalsa/mailbox.h: new member.

2008-02-27  Peter Bloomfield

	* libbalsa/mailbox.c: (libbalsa_mailbox_changed): allow for
	default count (== -1).
	* libbalsa/mailbox_imap.c: (lbm_imap_check): get UNREAD count
	instead of RECENT.
	* src/balsa-mblist.c: (bmbl_sort_idle,
	balsa_mblist_mailbox_node_append): inhibit sorting while
	building the tree, to avoid quadratic cost; prepend to tree
	instead of appending, for the same reason.
	* src/balsa-mblist.h: new members for sorting.
	* src/mailbox-node.c: (add_local_mailbox): respect
	subscribe-for-new-mail setting.
	* src/sendmsg-window.c: (update_bsmsg_identity): hide reply-to
	widget if we showed it temporarily.

2008-02-24  Peter Bloomfield

	* src/balsa-index.c: (bndx_popup_position_func, bndx_do_popup):
	add a popup-position func.

2008-02-24  Peter Bloomfield

	* libbalsa/imap/imap-handle.c: (ir_fetch_seq): compile with
	gcc-4.3.
	* src/main.c: (balsa_handle_automation_options): ditto.

2008-02-22  Peter Bloomfield

	* src/filter-edit-callbacks.c: (fe_typesmenu_cb,
	condition_validate, clear_condition_widgets,
	fill_condition_widgets, build_type_notebook): do not offer regex
	filter.
	* src/save-restore.c: (view_by_url_prefix, save_view,
	config_view_remove): new public function to remove a
	mailbox-view.
	* src/save-restore.h: ditto.
	* src/mailbox-conf.c: (mailbox_conf_delete): remove filters and
	the view.

2008-02-18  Peter Bloomfield

	* libbalsa/filter-funcs.c: (libbalsa_condition_compare): check
	for equality.

2008-02-18  Peter Bloomfield

	* src/balsa-message.c: (bm_find_entry_changed_cb,
	bm_find_again): use GtkSourceIter's case-insensitive search
	capability, if available.

2008-02-17  Peter Bloomfield

	* libbalsa/filter-funcs.c: (libbalsa_condition_compare): allow
	NULL conditions.
	* libbalsa/mailbox.c: (libbalsa_mailbox_set_view_filter): update
	only if the new filter is a real change.

2008-02-17  Peter Bloomfield

	* src/message-window.c: (mw_find_in_message_cb): add UI for
	find-in-message.

2008-02-14  Peter Bloomfield

	* src/main-window.c: fix a comment.

2008-02-14  Peter Bloomfield

	* src/main-window.c: block the correct signal handler.

2008-02-10  Albrecht Dreß

	* libbalsa/rfc3156.[hc]: libbalsa_can_encrypt_for_all().
	* libbalsa/identity.[ch]: remind if encryption is possible.
	* src/sendmsg-window.c: encourage encryption if possible.
	* configure.in: stop if gpgme-enabled build requested but
	gpgme-config not found (PS).

2008-02-09  Peter Bloomfield

	* src/balsa-message.c: (bm_find_scroll_to_iter): scroll least
	amount to get text on screen.

2008-02-09  Peter Bloomfield

	* src/balsa-mblist.c: (bmbl_select_mailbox): check that
	button-press event was on the correct window.

2008-02-08  Peter Bloomfield

	* src/balsa-message.c: (bm_find_again): clean up.

2008-02-08  Peter Bloomfield

	* src/balsa-message.c: (bm_find_set_status): new function, hides
	the separator using gtk_separator_tool_item_set_draw instead of
	gtk_widget_hide;
	(bm_find_entry_changed_cb, bm_find_again,
	balsa_message_find_in_message): use bm_find_set_status;
	(bm_disable_find_entry): boolean => void.

2008-02-08  Peter Bloomfield

	* libbalsa/libbalsa.c: (libbalsa_threads_leave): restore
	warning.
	* src/balsa-message.c: (bm_find_entry_changed_cb, bm_find_again,
	bm_pass_to_find_entry): do not hide separator, that triggers
	warnings;
	(balsa_message_find_in_message): find again only if found.

2008-02-08  Peter Bloomfield

	* src/balsa-message.c: (bm_find_entry_changed_cb,
	bm_find_again): do not mess with thread lock.

2008-02-08  Peter Bloomfield

	* src/balsa-message.c: (bm_pass_to_find_entry): test only SHIFT
	and CONTROL bits.

2008-02-07  Peter Bloomfield

	* libbalsa/libbalsa.c: (libbalsa_threads_leave): disable
	warning about dropping lock when not holding it--GtkTextView
	seems to trigger it.
	* src/balsa-message.c: (bm_scroll_to_iter,
	bm_find_entry_changed_cb, bm_find_again, bm_find_prev_cb,
	bm_find_next_cb, bm_find_bar_new, bm_pass_to_find_entry,
	bm_disable_find_entry, balsa_message_init, balsa_message_set,
	balsa_message_find_in_message): implement find-in-message.
	* src/balsa-message.h: api for find-in-message.
	* src/main-window.c: use it.

2008-01-09  Peter Bloomfield

	* libbalsa/libbalsa.h: add width and height to api for
	libbalsa_show_message_source.
	* libbalsa/source-viewer.c: (lsv_size_allocate_cb): save width
	and height.
	(libbalsa_show_message_source): add width and height to api;
	change horizontal scroll policy to GTK_POLICY_AUTOMATIC.
	* src/balsa-app.h: add source viewer width and height.
	* src/balsa-index.c: (bndx_view_source): use new api.
	* src/main-window.c: ditto.
	* src/message-window.c: (view_msg_source_cb): ditto.
	* src/save-restore.c: (config_global_load, config_save): load
	and save source viewer width and height.

2008-01-02  Peter Bloomfield

	* src/spell-check.c: (balsa_spell_check_start): compile without
	GtkSpell.

2008-01-01  Peter Bloomfield

	* configure.in: if glib is 2.14+, we use GRegex, so do not
	configure PCRE.
	* libbalsa/filter-funcs.c: (libbalsa_condition_regex_free): use
	GRegex if available.
	* libbalsa/filter-private.h: ditto.
	* libbalsa/filter.c: ditto.
	* libbalsa/mime.c: (mark_urls, get_url_helper, get_url_reg,
	get_ml_url_reg, get_ml_flowed_url_reg): ditto.
	* libbalsa/misc.h: ditto.
	* src/balsa-app.c: (balsa_quote_regex_new): new function--if
	GRegex is available, compile the quote regex once, and return
	a ref.
	* src/balsa-app.h: balsa_quote_regex_new is new.
	* src/balsa-message.c: use balsa_quote_regex_new.
	* src/balsa-mime-widget-text.c: (balsa_mime_widget_new_text):
	ditto.
	* src/balsa-print-object-text.c:
	(balsa_print_object_text_plain): ditto.
	* src/print.c: (print_wrap_body): ditto.
	* src/quote-color.c: (is_a_quote): use GRegex if available.
	* src/quote-color.h: ditto.
	* src/sendmsg-window.c: (reflow_selected_cb): use
	balsa_quote_regex_new.
	* src/spell-check.c: (balsa_spell_check_start): use
	balsa_quote_regex_new.
	(balsa_spell_check_destroy, next_word): use GRegex if available.

2008-01-01  Peter Bloomfield

	* configure.in: configuring GtkSourceView when version is not
	specified, try GtkSourceView2 then GtkSourceView1.

2008-01-01  Albrecht Dreß

	* Makefile.am: support GtkSourceView2.
	* configure.in: ditto.
	* libbalsa/libbalsa.c: (libbalsa_source_view_new): ditto.
	* src/balsa-mime-widget-text.c: (create_text_widget): ditto.
	* src/sendmsg-window.c: (sw_can_redo_cb, sw_can_undo_cb,
	create_text_area): ditto.
	* balsa-mail-style.xml: new file for GtkSourceView2.
	* balsa-mail.lang: ditto.

