2012-04-21  Pawel Salek

	* NEWS, configure.in: release balsa-2.4.12

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

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

2011-12-11  Peter Bloomfield

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

2011-12-11  Peter Bloomfield

	Define G_CONST_RETURN as const and use g_format_size(),
	to avoid deprecation breakage

	* libbalsa/libbalsa.c: define G_CONST_RETURN as const.
	* src/balsa-mime-widget-text.c: ditto.
	* src/main.c: ditto.
	* src/sendmsg-window.c (render_attach_size): use
	g_format_size().

2011-12-11  Albrecht Dreß

	New files needed for previous commit (Peter's oops)

	* libbalsa/gmime-multipart-crypt.c
	* libbalsa/gmime-multipart-crypt.h
	* libbalsa/libbalsa-gpgme-cb.c
	* libbalsa/libbalsa-gpgme-cb.h
	* libbalsa/libbalsa-gpgme.c
	* libbalsa/libbalsa-gpgme.h

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-11-27  Peter Bloomfield

	Build with GMime 2.6.0

	* configure.in: check for GMime >= 2.5.7
	* 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 >= 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):
	ditto.
	* 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-11-22  Pawel Salek

	* NEWS, configure.in: release balsa-2.4.11

2011-10-24  Peter Bloomfield  <peter@t43.bellsouth.net>

	* 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-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  <peter@t43.bellsouth.net>

	* 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-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-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-06-15  Peter Bloomfield

	* src/main-window.c: use GDK_1 instead of new GDK_KEY_1 in alt-n
	code.

2011-06-13  Pawel Salek

	* configure.in: gtkhtml-4.0 does not work with gtk-2.0
	* NEWS: release balsa-2.4.10

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

	* 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.
	* src/spell-check.c (balsa_spell_check_class_init): silence
	gcc-4.6.

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  Pawel Salek

	* libbalsa/mime.c: Correct the conditional compilation regression
	* configure.in: add gtkhtml-4.0 support.

2011-05-27  Pawel Salek

	* libbalsa/mime.c:
	* libbalsa/send.c: get rid of compilation warnings.

2011-04-16  Peter Bloomfield

	Deprecation cleanup and fix gcc issues

	* libbalsa/files.c (libbalsa_icon_finder):
	* libbalsa/filter-funcs.c (libbalsa_filter_export_sieve):
	* libbalsa/identity.c (libbalsa_identity_get_signature),
	(ident_dialog_add_gpg_menu), (add_show_menu),
	(ident_dialog_add_smtp_menu):
	* libbalsa/imap-server.c (libbalsa_imap_server_finalize):
	* 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/misc.c (libbalsa_charset_button_new):
	* 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), (smtp_server_tls_widget):
	* libinit_balsa/assistant_helper.c (balsa_init_add_table_option):
	* src/ab-window.c (balsa_ab_window_load_books),
	(balsa_ab_window_init):
	* src/address-book-config.c (create_generic_dialog):
	* src/balsa-index.c (bndx_pipe_response), (balsa_index_pipe):
	* src/balsa-mime-widget-text.c (text_view_populate_popup):
	* src/filter-edit-callbacks.c (fe_user_header_add),
	(get_field_frame):
	* src/filter-edit-dialog.c (fe_build_option_menu):
	* src/mailbox-conf.c (mailbox_conf_combo_box_make),
	(balsa_server_conf_get_advanced_widget),
	(mailbox_conf_view_new_full):
	* src/main-window.c:
	* src/pref-manager.c (add_show_menu), (pm_combo_box_new):
	* src/save-restore.c (config_filter_load), (config_filters_save):
	* src/sendmsg-window.c (edit_with_gnome_check),
	(sw_get_user_codeset):
	* src/store-address.c (store_address_book_frame):

2011-04-15  Pawel Salek

	* src/balsa-message.c:
	* src/message-window.c: fix bug 647695.
	* libbalsa/imap/imap-handle.c: remove unused variable.

2011-03-29  Peter Bloomfield

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

2011-03-21  Pawel Salek

	* src/balsa-index.c: revert last change, it was wrong.
	* Makefile.am: merge patch from bug 645444.
	* configure.in: ditto.
	* balsa.desktop.in: ditto.
	* po/POTFILES.{skip,in}: add balsa-mailto-handler.desktop file.
	* src/Makefile.am: fix dist target when configured without gnome
	or unique.

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).

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  <peter@t43.bellsouth.net>

	reviewed by: <delete if not using a buddy>

	* 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.

