2013-04-27  Pawel Salek

	* NEWS: release balsa-2.5.1

2013-04-27  Peter Bloomfield

	Port to new documentation infrastructure

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

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

	Improve path checking in the first-time assistant

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

2013-04-25  Peter Bloomfield

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

2013-04-23  Peter Bloomfield

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

2013-04-23  Peter Bloomfield

	Clean up LibESMTP header includes

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

2013-04-23  Peter Bloomfield

	* configure.ac: fix URI for finding libesmtp.

2013-04-23  Peter Bloomfield

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

2013-04-22  Peter Bloomfield

	More efficient use of space in header widget

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

2013-04-22  Peter Bloomfield

	Port to GNetworkMonitor from NetworkManager

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

2013-04-22  Peter Bloomfield

	New message header widget, based on GtkInfoBar

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

2013-04-22  Peter Bloomfield

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

2013-04-16  Peter Bloomfield

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

2013-04-15  Peter Bloomfield

	Fix miscounting of unread messages

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

2013-04-12  Peter Bloomfield

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

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

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

2013-04-11  Peter Bloomfield

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

2013-04-11  Peter Bloomfield

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

2013-04-11  Peter Bloomfield

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

2013-04-11  Peter Bloomfield

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

2013-04-10  Peter Bloomfield

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

2013-04-09  Peter Bloomfield

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

2013-04-08  Peter Bloomfield

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

2013-04-08  Peter Bloomfield

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

2013-04-08  Peter Bloomfield

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

2013-04-08  Peter Bloomfield

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

2013-04-07  Peter Bloomfield

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

2013-04-06  Peter Bloomfield

	* configure.ac: simplify WebKit2 configuration.

2013-04-06  Peter Bloomfield

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

2013-04-06  Peter Bloomfield

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

2013-04-05  Peter Bloomfield

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

2013-04-04  Peter Bloomfield

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

2013-04-04  Peter Bloomfield

	Handle "cid:" protocol for images

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

2013-04-03  Peter Bloomfield

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

2013-04-02  Peter Bloomfield

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

2013-03-31  Peter Bloomfield

	Do not leak search-text

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

2013-03-30  Peter Bloomfield

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

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

2013-03-28  Peter Bloomfield

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

2013-03-27  Peter Bloomfield

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

2013-03-27  Peter Bloomfield

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

2013-03-24  Peter Bloomfield

	Initial check in support for WebKitGtk2

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

2013-03-21  Peter Bloomfield

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

2013-03-21  Peter Bloomfield

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

2013-03-19  Peter Bloomfield

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

2013-03-19  Peter Bloomfield

	GdkThreads deprecation cleanup

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

2013-03-19  Peter Bloomfield

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

2013-03-17  Peter Bloomfield

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

2013-03-17  Peter Bloomfield

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

2013-03-17  Peter Bloomfield

	Reopen mailboxes after rescanning

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

2013-03-17  Peter Bloomfield

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

2013-03-16  Peter Bloomfield

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

2013-03-16  Peter Bloomfield

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

2013-03-16  Peter Bloomfield

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

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

2013-03-16  Peter Bloomfield

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

2013-03-16  Peter Bloomfield

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

2013-03-15  Peter Bloomfield

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

2013-03-14  Peter Bloomfield

	Streamline handling of LibBalsaMailboxView

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

2013-03-14  Peter Bloomfield

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

2013-03-11  Peter Bloomfield

	Lock mailbox to avoid race

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

2013-03-07  Peter Bloomfield

	Use --with-gnome more carefully

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

2013-03-06  Peter Bloomfield

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

2013-03-06  Peter Bloomfield

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

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

2013-03-06  Peter Bloomfield

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

2013-03-04  Peter Bloomfield

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

2013-03-03  Peter Bloomfield

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

2013-03-02  Peter Bloomfield

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

2013-03-02  Peter Bloomfield

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

2013-03-02  Peter Bloomfield

	Re-enable mailbox check in a subthread

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

2013-03-01  Peter Bloomfield

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

2013-03-01  Peter Bloomfield

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

2013-02-28  Peter Bloomfield

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

2013-02-28  Peter Bloomfield

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

2013-02-28  Peter Bloomfield

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

2013-02-28  Pawel Salek

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

2013-02-28  Peter Bloomfield

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

2013-02-27  Peter Bloomfield

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

2013-02-26  Peter Bloomfield

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

2013-02-26  Peter Bloomfield

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

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

2013-02-26  Peter Bloomfield

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

2013-02-26  Peter Bloomfield

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

2013-02-26  Peter Bloomfield

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

2013-02-26  Peter Bloomfield

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

2013-02-26  Peter Bloomfield

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

2013-02-25  Peter Bloomfield

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

2013-02-25  Peter Bloomfield

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

2013-02-25  Peter Bloomfield

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

2013-02-25  Peter Bloomfield

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

2013-02-24  Peter Bloomfield

	Port from GnomeKeyring to libsecret.

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

2013-02-23  Peter Bloomfield

	* update all copyrights to 2013.

2013-02-23  Peter Bloomfield

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

2013-02-23  Peter Bloomfield

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

2013-02-23  Peter Bloomfield

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

2013-02-21  Peter Bloomfield

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

2013-02-21  Peter Bloomfield

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

2013-02-21  Peter Bloomfield

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

2013-02-21  Peter Bloomfield

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

2013-02-21  Peter Bloomfield

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

2013-02-21  Peter Bloomfield

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

2013-02-20  Peter Bloomfield

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

2013-02-20  Peter Bloomfield

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

2013-02-20  Peter Bloomfield

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

2013-02-20  Peter Bloomfield

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

2013-02-20  Peter Bloomfield

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

2013-02-20  Peter Bloomfield

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

2013-02-20  Peter Bloomfield

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

2013-02-20  Peter Bloomfield

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

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

2013-02-16  Peter Bloomfield

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

2013-01-15  Peter Bloomfield

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

2013-01-08  Peter Bloomfield

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

2013-01-08  Peter Bloomfield

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

2012-12-08  Peter Bloomfield

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

2012-11-27  Peter Bloomfield

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

2012-11-21  Peter Bloomfield

	Build with gtk 3.6, at least without threads

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

2012-11-14  Peter Bloomfield

	Port to newly released Gtkspell 3.0

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

2012-10-29

	* configure.in, NEWS: release 2.4.91

2012-10-22  Pawel Salek

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

2012-09-30  Peter Bloomfield

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

2012-09-30  Peter Bloomfield

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

2012-09-17  Peter Bloomfield

	Fix bgo #684124

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

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

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

2012-09-17  Peter Bloomfield

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

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

2012-09-08  Peter Bloomfield

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

2012-08-10  Peter Bloomfield

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

2012-08-09  Peter Bloomfield

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

2012-07-22  Peter Bloomfield

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

2012-07-22  Peter Bloomfield

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

2012-07-22  Peter Bloomfield

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

2012-07-22  Peter Bloomfield

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

2012-07-22  Peter Bloomfield

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

2012-07-22  Peter Bloomfield

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

2012-07-22  Peter Bloomfield

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

2012-07-22  Peter Bloomfield

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

2012-07-22  Peter Bloomfield

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

2012-07-22  Peter Bloomfield

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

2012-07-22  Peter Bloomfield

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

2012-07-22  Peter Bloomfield

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

2012-07-22  Peter Bloomfield

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

2012-07-22  Peter Bloomfield

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

2012-07-22  Peter Bloomfield

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

2012-07-22  Peter Bloomfield

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

2012-07-22  Peter Bloomfield

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

2012-07-22  Peter Bloomfield

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

2012-07-22  Peter Bloomfield

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

2012-07-22  Peter Bloomfield

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

2012-07-22  Peter Bloomfield

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

2012-07-22  Peter Bloomfield

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

2012-07-22  Peter Bloomfield

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

2012-07-22  Peter Bloomfield

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

2012-07-22  Peter Bloomfield

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

2012-07-22  Peter Bloomfield

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

2012-07-22  Peter Bloomfield

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

2012-07-15  Peter Bloomfield

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

2012-07-15  Peter Bloomfield

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

2012-07-15  Peter Bloomfield

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

2012-07-15  Peter Bloomfield

	* libbalsa/identity.h: typo.

2012-07-15  Peter Bloomfield

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

2012-07-15  Peter Bloomfield

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

2012-07-15  Peter Bloomfield

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

2012-07-15  Peter Bloomfield

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

2012-07-15  Peter Bloomfield

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

2012-07-15  Peter Bloomfield

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

2012-07-15  Peter Bloomfield

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

2012-07-15  Albrecht Dreß

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

2012-07-15  Albrecht Dreß

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

2012-07-15  Albrecht Dreß

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

2012-07-15  Albrecht Dreß

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

2012-07-15  Albrecht Dreß

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

2012-07-15  Albrecht Dreß

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

2012-07-15  Albrecht Dreß

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

2012-07-15  Albrecht Dreß

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

2012-07-15  Albrecht Dreß

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

2012-07-15  Albrecht Dreß

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

2012-07-13  Peter Bloomfield

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

2012-07-04  Peter Bloomfield

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

2012-06-27  Peter Bloomfield

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

2012-06-25  Peter Bloomfield

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

2012-06-19  Peter Bloomfield

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

2012-06-13  Peter Bloomfield

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

2012-06-13  Peter Bloomfield

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

2012-06-12  Peter Bloomfield

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

2012-06-11  Peter Bloomfield

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

2012-06-11  Peter Bloomfield

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

2012-06-11  Peter Bloomfield

	Ref count LibBalsaMailboxSearchIter

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

2012-06-10  Peter Bloomfield

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

2012-06-10  Peter Bloomfield

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

2012-06-09  Peter Bloomfield

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

2012-06-09  Peter Bloomfield

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

2012-06-08  Peter Bloomfield

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

2012-06-08  Peter Bloomfield

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

2012-06-07  Peter Bloomfield

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

2012-06-07  Peter Bloomfield

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

2012-06-07  Peter Bloomfield

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

2012-06-07  Peter Bloomfield

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

2012-06-07  Peter Bloomfield

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

2012-06-07  Peter Bloomfield

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

2012-06-06  Peter Bloomfield

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

2012-06-06  Peter Bloomfield

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

2012-06-06  Peter Bloomfield

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

2012-06-05  Peter Bloomfield

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

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

2012-06-05  Peter Bloomfield

	Deprecation cleanup; fixes bgo #677381

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

2012-06-03  Peter Bloomfield

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

2012-06-03  Peter Bloomfield

	Call Gtk from only the main thread when opening a mailbox

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

2012-05-28  Peter Bloomfield

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

2012-05-28  Peter Bloomfield

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

2012-05-28  Peter Bloomfield

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

2012-05-27  Peter Bloomfield

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

2012-05-21  Peter Bloomfield

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

2012-04-22  Pawel Salek

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

2012-04-20  Peter Bloomfield

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

2012-04-19  Peter Bloomfield

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

2012-04-16  Peter Bloomfield

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

2012-04-16  Peter Bloomfield

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

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

2012-03-27  Peter Bloomfield

	Use a single MRU folder list

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

2012-03-27  Peter Bloomfield

	Remember geometry of MRU mailbox tree

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

2012-03-20  Peter Bloomfield

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

2012-03-06  Peter Bloomfield

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

2012-03-06  Peter Bloomfield

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

2012-03-06  Peter Bloomfield

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

2012-02-08  Albrecht Dreß

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

2012-02-03  Peter Bloomfield

	* configure.in: remove obsolete BUILD_WITH_GNOME.

2011-12-20  Peter Bloomfield

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

2011-12-20  Peter Bloomfield

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

2011-12-20  Peter Bloomfield

	* .gitignore: add .libs.

2011-12-20  Albrecht Dreß

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

2011-12-18  Peter Bloomfield

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

2011-12-18  Peter Bloomfield

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

2011-12-17  Peter Bloomfield

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

2011-12-17  Peter Bloomfield

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

2011-12-17  Peter Bloomfield

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

2011-12-17  Peter Bloomfield

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

2011-12-16  Peter Bloomfield

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

2011-12-16  Peter Bloomfield

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

2011-12-15  Peter Bloomfield

	Migrate to GApplication

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

2011-12-10  Peter Bloomfield

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

2011-12-10  Albrecht Dreß

	New crypto implementation

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

2011-12-03  Peter Bloomfield

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

2011-12-03  Peter Bloomfield

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

2011-12-02  Peter Bloomfield

	Add mailto-handler desktop file

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

2011-11-12  Peter Bloomfield

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

2011-11-10  Peter Bloomfield

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

2011-11-09  Peter Bloomfield

	Build with GMime version >= 2.5.7

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

2011-10-26  Peter Bloomfield

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

2011-10-26  Peter Bloomfield

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

2011-10-24  Peter Bloomfield

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

2011-10-22  Peter Bloomfield

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

2011-10-21  Peter Bloomfield

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

2011-10-14  Peter Bloomfield

	gtk_assistant_set_page_header_image and
	gtk_assistant_set_page_side_image are deprecated.

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

2011-10-14  Peter Bloomfield

	Gtk{HV}Paned is deprecated.

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

2011-10-14  Peter Bloomfield

	Gtk{HV}Separator is deprecated.

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

2011-10-14  Peter Bloomfield

	Gtk{HV}ButtonBox is deprecated.

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


2011-10-13  Peter Bloomfield

	Gtk{HV}Box is deprecated.

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

2011-10-13  Peter Bloomfield

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

2011-10-13  Peter Bloomfield

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

2011-10-13  Peter Bloomfield

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

2011-10-06  Peter Bloomfield

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

2011-10-06  Peter Bloomfield

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

2011-10-06  Peter Bloomfield

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

2011-10-06  Peter Bloomfield

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

2011-10-06  Peter Bloomfield

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

2011-10-06  Peter Bloomfield

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

2011-10-05  Peter Bloomfield

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

2011-10-05  Peter Bloomfield

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

2011-10-05  Peter Bloomfield

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

2011-10-04  Peter Bloomfield

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

2011-10-04  Peter Bloomfield

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

2011-10-04  Peter Bloomfield

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

2011-10-03  Peter Bloomfield

	Migrate from GtkTable to GtkGrid

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

2011-10-03  Peter Bloomfield

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

2011-10-03  Peter Bloomfield

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

2011-10-03  Peter Bloomfield

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

2011-10-03  Peter Bloomfield

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

2011-10-03  Peter Bloomfield

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

2011-10-02  Peter Bloomfield

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

2011-10-02  Peter Bloomfield

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

2011-09-28  Peter Bloomfield

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

2011-09-18  Peter Bloomfield

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

2011-09-09  Peter Bloomfield

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

2011-09-08  Peter Bloomfield

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

2011-09-06  Peter Bloomfield

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

2011-09-01  Peter Bloomfield

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

2011-08-31  Peter Bloomfield

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

2011-08-30  Peter Bloomfield

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

2011-08-30  Peter Bloomfield

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

2011-08-29  Pawel Salek

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

2011-08-28  Peter Bloomfield

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

2011-08-28  Peter Bloomfield

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

2011-08-26  Peter Bloomfield

	Make BalsaMimeWidgetImage a subclass of BalsaMimeWidget

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

2011-08-21  Peter Bloomfield

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

2011-08-21  Peter Bloomfield

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

2011-08-20  Peter Bloomfield

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

2011-08-20  Peter Bloomfield

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

2011-08-20  Peter Bloomfield

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

2011-08-19  Peter Bloomfield

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

2011-08-15  Peter Bloomfield

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

2011-08-09  Peter Bloomfield

	Migrate spell-checker from PSpell to Enchant

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

2011-07-21  Peter Bloomfield

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

2011-07-13  Peter Bloomfield

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

2011-06-22  Peter Bloomfield

	Drop bad-address-color

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

2011-06-22  Peter Bloomfield

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

2011-06-10  Peter Bloomfield

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

2011-06-05  Peter Bloomfield

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

2011-06-01  Peter Bloomfield

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

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

2011-05-31  Peter Bloomfield

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

2011-05-28  Peter Bloomfield

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

2011-04-16  Peter Bloomfield

	Use GDesktopAppInfo instead of GAppInfo

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

2011-04-15  Peter Bloomfield

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

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

2011-04-14  Peter Bloomfield

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

2011-04-13  Peter Bloomfield

	Migrate from GConf

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

2011-04-06  Peter Bloomfield

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

2011-04-06  Peter Bloomfield

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

2011-04-05  Peter Bloomfield

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

2011-02-05  Peter Bloomfield

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

2011-02-05  Peter Bloomfield

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

2011-02-05  Peter Bloomfield

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

2011-01-30  Peter Bloomfield

	Revert from GSettings to GConf for default client stuff

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

2011-01-30  Peter Bloomfield

	Silence whining from gcc-4.6

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

2011-01-30  Peter Bloomfield

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

2011-01-30  Peter Bloomfield

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

2011-01-30  Peter Bloomfield

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

2011-01-29  Peter Bloomfield

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

2011-01-28  Peter Bloomfield

	Migrate from GConf to GSettings

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

2011-01-28  Peter Bloomfield

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

2011-01-24  Peter Bloomfield

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

2011-01-23  Peter Bloomfield

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

2011-01-23  Peter Bloomfield

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

2011-01-23  Peter Bloomfield

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

2011-01-21  Peter Bloomfield

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

2011-01-21  Peter Bloomfield

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

2011-01-19  Peter Bloomfield

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

2011-01-19  Peter Bloomfield

	Pass default screen instead of NULL to gtk_show_uri

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

2011-01-17  Peter Bloomfield

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

2011-01-17  Peter Bloomfield

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

2011-01-17  Peter Bloomfield

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

2011-01-17  Peter Bloomfield

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

2011-01-17  Peter Bloomfield

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

2011-01-17  Peter Bloomfield

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

2011-01-17  Peter Bloomfield

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

2011-01-15  Pawel Salek

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

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

2011-01-11  Peter Bloomfield

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

2011-01-09  Peter Bloomfield

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

2011-01-08  Peter Bloomfield

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

2011-01-08  Peter Bloomfield

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

2010-12-29  Peter Bloomfield

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

2010-12-28  Peter Bloomfield

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

2010-12-28  Peter Bloomfield

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

2010-12-28  Peter Bloomfield

	Clean up dead code and trailing white space

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

2010-12-28  Peter Bloomfield

	Do not support BonoboActivation

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

2010-12-28  Peter Bloomfield

	Initial commit for gtk3 development branch

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

2010-12-09  Peter Bloomfield

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

2010-12-09  Pawel Salek

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

2010-12-05  Peter Bloomfield

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

2010-11-19  Pawel Salek

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

2010-11-19  Pawel Salek

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

2010-11-16  Peter Bloomfield

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

2010-11-16  Peter Bloomfield

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

2010-11-12  Peter Bloomfield

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

2010-11-07  Peter Bloomfield

	Implement LibBalsaCompletion as a copy of (deprecated)
	GCompletion

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

2010-11-07  Albrecht Dreß

	Gtk3 deprecation cleanup

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

2010-10-14  Peter Bloomfield

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

2010-09-26  Peter Bloomfield

	Use separate mutexes for mailbox locking and checking mail

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

2010-09-01  Peter Bloomfield

	* src/main-window.c: hold gdk lock while updating UI.

2010-08-31  Peter Bloomfield

	* src/main-window.c: remove unintended debug spew.

2010-08-30  Peter Bloomfield

	* src/balsa-mblist.c (balsa_mblist_mailbox_node_redraw): update
	notebook tab when redrawing.
	* src/mailbox-conf.c (mailbox_conf_update): ...so we do not need
	to here.
	* src/save-restore.c (sr_special_notify,
	config_mailbox_set_as_special): use weak refs consistently; set
	names of new special mailboxes to the standard names, and names
	of previously special mailboxes to what they will be in the
	next session.

2010-08-21  Pawel Salek

	* configure.in, NEWS: release 2.4.8

2010-08-13  Pawel Salek

	* libbalsa/imap/imap-commands.c: check state after locking the handle.
	* libbalsa/imap/imap-handle.c: ditto.
	* libbalsa/imap/imap-handle.h: modify state checking macros accordingly.
	* libbalsa/imap/siobuf.c: set sio->ssl to null after SSL_free().

2010-08-13  Peter Bloomfield

	* src/mailbox-conf.c (create_local_mailbox_dialog): use window
	title to show mailbox type; fixes bgo #625695 (Jack Ostroff).

2010-08-12  Peter Bloomfield

	* src/balsa-message.c (balsa_message_set): do not crash when
	message == NULL.

2010-08-05  Peter Bloomfield

	* libbalsa/mailbox_imap.c
	(message_info_from_msgno): return NULL if msgno out of range;
	(imap_flags_cb), (imap_exists_idle), (imap_expunge_cb),
	(libbalsa_mailbox_imap_message_match),
	(libbalsa_mailbox_imap_get_message), (lbm_imap_change_user_flags),
	(libbalsa_mailbox_imap_msgno_has_flags): test for NULL return
	from message_info_from_msgno.

2010-07-28  Peter Bloomfield

	* libbalsa/identity.c (libbalsa_identity_init),
	(libbalsa_identity_finalize), (ident_dialog_update),
	(display_frame_update), (libbalsa_identity_new_config),
	(libbalsa_identity_save), (display_frame_set_gpg_mode),
	(ident_dialog_get_value): do not forget gpgme-related settings
	when running --without-gpgme.
	* libbalsa/identity.h: ditto.
	* libbalsa/rfc3156.h: ditto.

2010-07-28  Peter Bloomfield

	* src/mailbox-conf.c (balsa_server_conf_get_advanced_widget):
	disable SSL and TLS widgets when building --without-ssl.

2010-07-25  Pawel Salek

	* libbalsa/imap/imap-handle.c: work around buggy Gmail.
	* libbalsa/imap/imap-tls.c: change openssl api used for cert checks.
	* src/balsa-mime-widget-message.c: warn the user when no embedded
	message info available.

2010-07-14  Peter Bloomfield

	Install dialog to ask the user before selecting a different
	mailbox, and an option to not use it; fixes bug #620221
	(ghisha email it).

	* src/balsa-app.h: new member ask_before_select.
	* src/balsa-app.c (balsa_app_init): initialize it FALSE.
	* src/main-window.c: uncomment dialog and make it conditional on
	balsa_app.ask_before_select.
	* src/pref-manager.c (open_preferences_manager), (apply_prefs),
	(set_prefs), (main_window_group): manage it.
	* src/save-restore.c (config_global_load), (config_save): save
	and restore it, default FALSE.

2010-07-10  Peter Bloomfield

	Support IMAP server that complies with RFC 2086 but not with
	RFC 4013; fixes bug #623910 (Helmut Jarausch).

	* libbalsa/imap/imap-handle.c
	(ir_capability_data): check for "RIGHTS=" capability to
	distinguish RFC-4013-compliant server;
	(extract_acl): check for "cd" rights when server does not comply with
	RFC 4013.
	* libbalsa/imap/imap-handle.h: add IMCAP_RIGHTS to ImapCapability
	enum.
	* libbalsa/imap/libimap.h: add IMAP_ACL_OBS_CREATE and
	IMAP_ACL_OBS_DELETE to ImapAclType enum, and define
	IMAP_RIGHTS_CAN_WRITE(rights) macro.
	* libbalsa/mailbox_imap.c
	(imap_acl_to_str): show "cd" rights when server does not comply with
	RFC 4013;
	(libbalsa_mailbox_imap_get_selected_handle): use
	IMAP_RIGHTS_CAN_WRITE(rights) macro.

2010-07-07  Peter Bloomfield

	* libbalsa/libbalsa.c (libbalsa_date_to_utf8): return NULL when
	date is zero; fixes bug #623740 (Helmut Jarausch).

2010-06-04  Peter Bloomfield

	Drop legacy icon names.

	* images/16x16/Makefile.am: rename stock_inbox and stock_outbox.
	* images/16x16/mail-inbox.png: new name.
	* images/16x16/mail-outbox.png: ditto.
	* images/16x16/stock_inbox.png: old name.
	* images/16x16/stock_outbox.png: ditto.
	* src/balsa-icons.c (load_balsa_pixmap),
	(balsa_register_pixmaps): use new names.
	* src/balsa-print-object-text.c
	(balsa_print_object_text_calendar): ditto.
	* src/main-window.c: ditto.

2010-06-01  Peter Bloomfield

	Copy icons removed from gnome-icon-theme-2.30 from an earlier
	version.

	* images/16x16/Makefile.am:
	* images/16x16/stock_book_open.png:
	* images/16x16/stock_book_red.png:
	* images/16x16/stock_contact.png:
	* images/16x16/stock_inbox.png:
	* images/16x16/stock_mail-receive.png:
	* images/16x16/stock_mail.png:
	* images/16x16/stock_outbox.png:
	* images/24x24/Makefile.am:
	* images/24x24/stock_book_blue.png:
	* images/24x24/stock_book_green.png:
	* images/24x24/stock_book_open.png:
	* images/24x24/stock_book_red.png:
	* images/24x24/stock_book_yellow.png:
	* images/24x24/stock_contact.png:
	* images/24x24/stock_mail-receive.png:
	* images/24x24/stock_mail.png:
	* images/24x24/stock_view-fields.png:

2010-05-20  Peter Bloomfield

	* src/save-restore.c (config_global_load): do not wrap outgoing
	message by default, as it disables format=flowed.

2010-05-20  Peter Bloomfield

	* configure.in: add dependency on gthread-2.0; fixes bug
	#618979 (Kacper Kowalik); also add -lz to $LIBS, to build
	without openssl.

2010-05-06  Pawel Salek

	* libinit_balsa/assistant_page_defclient.c: free memory.
	* libinit_balsa/assistant_page_{directory,user}.c: ditto.
	* src/balsa-app.c: free memory on exit.
	* src/balsa-icons.[hc]: ditto by providing "unregister" functions.
	* src/main-window.c: unregister the pixmaps.
	* src/main.c: free configuration on exit.
	* src/save-restore.c: do not leak memory.

2010-05-01  Pawel Salek

	* src/balsa-message.c: handle expunge events arriving between
	fetch and flag set operations.

2010-04-27  Peter Bloomfield

	* libbalsa/send.h: allocate message with g_new instead of
	malloc, since we g_free it.

2010-04-26  Albrecht Dreß

	* libbalsa/rfc3156.c (libbalsa_check_crypto_engine): add hint
	about failed test for CMS protocol.

2010-04-11  Albrecht Dreß

	* libbalsa/filter.c (libbalsa_filter_mailbox_messages): build on
	Lucid β.
	* src/ab-main.c: ditto.
	* src/main.c (balsa_cleanup): ditto.

2010-04-07  Peter Bloomfield

	* src/balsa-index.c (bndx_string_width): use allocation width
	instead of pixbuf width.

2010-04-06  Peter Bloomfield

	* libbalsa/mailbox.c (msg_iterator): object-ref the stream if
	the caller will unref it.

2010-04-05  Peter Bloomfield

	* libbalsa/mailbox_imap.c (multi_append_cb): round size in
	kibibytes, for consistency with libbalsa_size_to_gchar.

2010-04-05  Peter Bloomfield

	* src/balsa-index.c (bndx_string_width), (bndx_instance_init),
	(balsa_index_set_column_widths): get column width as actual
	string width.

2010-04-05  Peter Bloomfield

	* libbalsa/misc.c (libbalsa_size_to_gchar): more compact string
	representation of a size.

2010-04-05  Pawel Salek

	* libbalsa/mailbox.c: Mailbox::add_messages would leak a file descriptor
	each time it was called.

2010-03-29  Peter Bloomfield

	* src/balsa-index.c (bndx_instance_init),
	(balsa_index_set_column_widths): set the renderer width for the
	"Size" column instead of the column width--works reliably; fixes
	bug #579479 (Jonathan North Washington).

2010-03-27  Peter Bloomfield

	* src/main-window.c: do not crash on early exit; fixes bug
	#613998 (Ildar).

2010-03-27  Peter Bloomfield

	* configure.in: build with gtkhtml2.

2010-03-27  Peter Bloomfield

	* src/main-window.c: use a single thread to open all mailboxes.

2010-03-27  Peter Bloomfield

	* src/balsa-app.c (open_mailbox_by_url),
	(open_mailboxes_idle_cb): open first mailbox not hidden, open
	the remainder hidden.

2010-03-27  Peter Bloomfield

	* src/balsa-index.c (bndx_destroy): recheck index->mailbox_node
	after dropping the gdk lock.

2010-03-27  Peter Bloomfield

	* libbalsa/mailbox.c (libbalsa_mailbox_close): increase mailbox
	ref count while closing it.

2010-03-23  Peter Bloomfield

	* src/main.c: missing include.

2010-03-23  Peter Bloomfield

	* configure.in: use single-includes.

2010-03-20  Peter Bloomfield

	* libbalsa/html.c (libbalsa_html_get_view_widget): new method to
	get the actual view widget.
	* libbalsa/html.h: ditto.
	* src/balsa-mime-widget-text.c (bm_widget_new_html): connect to
	key-press-event on the actual view widget.

2010-03-11  Peter Bloomfield

	* libbalsa/files.c (libbalsa_icon_finder): allocate string only
	if needed.

2010-03-07  Albrecht Dreß

	* src/balsa-mime-widget-text.c: do not mangle quotation characters
	when copying text.

2010-03-04  Pawel Salek

	* src/balsa-mime-widget-crypto.c: set the parent right.

2010-03-03  Albrecht Dreß

	* libbalsa/misc.[hc]:
	* libbalsa/mailbox.c: make libbalsa_size_to_gchar() a common function.
	* src/folder-conf.c: use it for displaying IMAP quota.

2010-03-03  Peter Bloomfield

	* libbalsa/message.c (libbalsa_message_change_flags): check
	argument validity.
	* libbalsa/send.c (handle_successful_send): check that the
	message still belongs to a mailbox.

2010-03-03  Peter Bloomfield

	* libbalsa/address-view.c (libbalsa_address_view_get_list): do
	not append NULL list in internet_address_list_append.

2010-02-28  Peter Bloomfield

	* src/folder-conf.c (folder_conf_imap_sub_node): remove mnemonic
	from subfolder-of label.

2010-02-20  Peter Bloomfield

	* src/folder-conf.c (set_ok_sensitive),
	(folder_conf_imap_sub_node): clean up folder properties dialog
	and manage Update button sensitivity.
	* src/mailbox-conf.c (create_local_mailbox_dialog),
	(create_imap_mailbox_dialog), (mailbox_conf_view_new_full),
	(mailbox_conf_view_new): use callback to manage Update button
	sensitivity.
	* src/mailbox-conf.h: new API.
	* src/main-window.c: change mailbox Edit to Properties.

2010-02-20  Albrecht Dreß

	* src/folder-conf.c (folder_conf_imap_sub_node): use Cyrus
	server's standard names for rights.

2010-02-20  Pawel Salek

	* libbalsa/gmime-gpgme-signature.c: add missing #include config.h
	that broke rawhide build.
	* libbalsa/imap/imap-commands.c: issue SELECT+MYRIGHTS together
	whenever necessary to save one RTT.
	* libbalsa/imap/imap-handle.c: add imap_cmd_exec_cmds() helper.
	* libbalsa/imap/imap_private.h: and its prototype.

2010-02-19  Peter Bloomfield

	* configure.in: option to configure GMime-2.4 or 2.6.
	* libbalsa/gmime-gpgme-context.c (g_mime_gpgme_context_finalize),
	(g_mime_session_passphrase), (g_mime_gpgme_context_new):
	* libbalsa/gmime-gpgme-context.h: use it.
	* libbalsa/gmime-stream-gio.c: ditto.
	* libbalsa/mailbox_mbox.c: ditto.
	* libbalsa/rfc3156.c (password_request_func),
	(libbalsa_sign_mime_object), (libbalsa_encrypt_mime_object),
	(libbalsa_body_check_signature), (libbalsa_body_decrypt),
	(libbalsa_rfc2440_sign_encrypt), (libbalsa_rfc2440_verify),
	(libbalsa_rfc2440_decrypt): ditto.

2010-02-17  Albrecht Dreß

	* libbalsa/imap/imap-commands.c: implement QUOTA, MYRIGHTS and GETACL
	commands.
	* libbalsa/imap/imap-handle.h: register QUOTA capability.
	* libbalsa/imap/imap_private.h: add private fields and enums
	related to these extensions.
	* libbalsa/mailbox_imap.[ch]: interface them.
	* src/folder-conf.c: use them.

2010-02-16  Albrecht Dreß

	* libbalsa/information.c: build when libnotify is not available.

2010-02-16  Peter Bloomfield

	* libbalsa/body.c (libbalsa_message_body_get_cid),
	(libbalsa_message_body_save_temporary),
	(libbalsa_message_body_get_by_id): strip "<>" from content-id.

2010-02-13  Pawel Salek

	* configure.in, NEWS: release 2.4.7

2010-02-12  Albrecht Dreß

	* src/balsa-message.c (bm_previous_part_info): do not return
	uninitialized BalsaPartInfo.

2010-02-09  Albrecht Dreß

	* configure.in: more understandable output from html-widget
	configuration.

2010-02-05  Peter Bloomfield

	* configure.in: use a case statement to configure html-widget.
	* libbalsa/html.c: test for HAVE_HTML_WIDGET.
	* libbalsa/html.h: ditto.
	* libbalsa/mime.c (process_mime_part): ditto.
	* src/balsa-message.c (bm_find_entry_changed_cb), (bm_find_again),
	(preferred_part), (balsa_message_can_select),
	(balsa_message_find_in_message): ditto.
	* src/balsa-message.h: ditto.
	* src/balsa-mime-widget-text.c (balsa_mime_widget_new_text):
	ditto.
	* src/main-window.c: ditto.
	* src/message-window.c (mw_select_part_cb): ditto.

2010-02-05  Peter Bloomfield

	* src/balsa-app.h: new boolean mark_quoted.
	* src/balsa-mime-widget-text.c (balsa_mime_widget_new_text):
	respect it.
	* src/pref-manager.c (open_preferences_manager), (apply_prefs),
	(set_prefs), (quoted_group), (mark_quoted_modified_cb): manage
	it.
	* src/save-restore.c (config_global_load), (config_save): save
	and restore it.

2010-02-05  Peter Bloomfield

	* libbalsa/mime.c (libbalsa_match_regex): do not loop
	indefinitely when regex matches zero characters.

2010-02-05  Pawel Salek

	* libbalsa/imap/imap_compress.c: reduce the compressed stream
	flushing frequency.
	* libbalsa/imap/siobuf.c: matching change on the buffering side.

2010-01-27  Pawel Salek

	* configure.in, NEWS: release 2.4.6.

2010-01-25  Pawel Salek

	* libbalsa/imap/siobuf.c: fix occassional sio_ungetc() failures
	for a compressed connection.

2010-01-25  Peter Bloomfield

	* libbalsa/filter-funcs.c (lbcond_compare_string_conditions),
	(libbalsa_condition_compare): compare string conditions
	correctly.
	* libbalsa/mailbox_local.c (message_match_real): do not pass
	NULL list to internet_address_list_to_string().

2010-01-24  Pawel Salek

	* configure.in, NEWS: release 2.4.5

2010-01-23  Peter Bloomfield

	* src/save-restore.c (config_identities_save): do not allocate
	unused array.

2010-01-23  Peter Bloomfield

	* src/message-window.c (destroy_message_window),
	(mw_select_part_cb): do not crash on "select-part" signal.

2010-01-23  Peter Bloomfield

	* src/balsa-message.c (balsa_message_set): clear tree before
	selecting part;
	(select_part): emit signal also for NULL part;
	(balsa_message_can_zoom): check for NULL widget.
	* src/main-window.c: rely on "select-part" signal for enabling
	menus.

2010-01-23  Peter Bloomfield

	* src/main-window.c: update menus only if they will not be
	updated when a message is shown.

2010-01-23  Pawel Salek

	* Makefile.am, src/Makefile.am: fix dist target when configured
	without gnome.
	* configure.in, NEWS: release balsa-2.4.4

2010-01-23  Pawel Salek

	* src/main-window.c: update copyright date.
	* configure.in, NEWS: release 2.4.3

2010-01-22  Peter Bloomfield

	* libbalsa/libbalsa-conf.c (lbc_sync): do not insert blank
	comments; save mtime when syncing.

2010-01-22  Peter Bloomfield

	* libbalsa/address-book-gpe.c (libbalsa_address_book_gpe_load):
	more sqlite3_free fixes.

2010-01-22  Pawel Salek

	* libbalsa/misc.c: allocate enough memory for config urls.

2010-01-19  Peter Bloomfield

	* libbalsa/imap-server.c (libbalsa_imap_server_init):
	use g_timeout_add_seconds, save the world.
	* src/balsa-mime-widget-text.c: ditto.
	* src/information-dialog.c (balsa_information_bar): ditto.
	* src/main-window.c: ditto.
	* src/main.c (main): ditto.
	* src/sendmsg-window.c (sendmsg_window_new): ditto.

2010-01-19  Peter Bloomfield

	* libbalsa/information.c (libbalsa_information_varg): show note
	before unreffing it(!).

2010-01-19  Peter Bloomfield

	* src/main-window.c (bw_quit_nicely): use
	libbalsa_information_parented, so that notification bubble can
	be closed when Balsa quits;
	(bw_real_open_mbnode): hold gdk lock while unreffing mbnode;
	(balsa_window_real_close_mbnode): more careful test for last
	notebook page;
	(empty_trash): check for NULL window.

2010-01-18  Peter Bloomfield

	* src/balsa-index.c (bndx_mbnode_weak_notify), (bndx_destroy),
	(balsa_index_load_mailbox_node): clear BalsaIndex::mailbox_node
	before destroying BalsaIndex.

2010-01-18  Peter Bloomfield

	* src/balsa-app.c (balsa_find_url): check for NULL
	mblist_tree_store.

2010-01-18  Peter Bloomfield

	* libbalsa/information.c (lbi_notification_parent_weak_notify),
	(lbi_notification_closed_cb), (libbalsa_information_varg): close
	notification bubble with parent.

2010-01-18  Peter Bloomfield

	* src/balsa-app.h: move nm_state and check_mail_skipped from
	BalsaApplication to BalsaWindow.
	* src/main-window.c: ditto.
	* src/main-window.h: ditto.

2010-01-17  Peter Bloomfield

	* src/balsa-app.h: new member mail_check_skipped.
	* src/main-window.c: use it to remember when we skipped a mail
	check while disconnected, and to check mail on reconnection.

2010-01-17  Peter Bloomfield

	* src/main-window.c: restart timer after user checks mail
	manually.

2010-01-17  Peter Bloomfield

	* src/balsa-app.c (update_timer): use g_timeout_add_seconds,
	save the world.

2010-01-17  Peter Bloomfield

	* src/main-window.c: report NetworkManager state on start-up;
	skip POP3 checks when disconnected; do not disconnect local IMAP
	server when NetworkManager is disconnected.

2010-01-17  Pawel Salek

	* libbalsa/imap/imap-tls.c: check also the length when matching
	the host name vs the one in the certificate.

2010-01-17  Peter Bloomfield

	* src/main-window.c: close the new-mail notification instead of
	showing it with a 1 millisecond time-out.

2010-01-16  Peter Bloomfield

	* src/balsa-app.h: new member NMState nm_state.
	* src/main-window.c: use it to save NetworkManager state;
	connect or disconnect IMAP on changes to/from
	NM_STATE_CONNECTED.

2010-01-16  Peter Bloomfield

	* libbalsa/body.c (libbalsa_message_body_save_temporary): make
	temporary file read-only.

2010-01-15  Pawel Salek

	* libbalsa/imap/imap_compress.c:
	* libbalsa/imap/siobuf.c: complete the compression error handling.

2010-01-14  Peter Bloomfield

	* libbalsa/html.h: new methods for printing.
	* libbalsa/html.c (libbalsa_html_can_print),
	(libbalsa_html_print): implement them.
	* src/balsa-mime-widget-text.c (bmwt_populate_popup_menu),
	(bmwt_populate_popup_cb): use them.

2010-01-14  Peter Bloomfield

	* libbalsa/html.h: new methods for printing.
	* libbalsa/html.c (libbalsa_html_can_print),
	(libbalsa_html_print): implement them.
	* src/balsa-mime-widget-text.c (bmwt_populate_popup_menu),
	(bmwt_populate_popup_cb): use them.

2010-01-14  Peter Bloomfield

	* configure.in: require NetworkManager version 0.7.
	* src/main-window.c: use GObject-based API instead of deprecated
	older API.

2010-01-12  Pawel Salek

	* libbalsa/html.c: fix libbalsa_html_popup_menu_widget() arg list.

2010-01-12  Peter Bloomfield

	* libbalsa/html.h: new public method to retrieve the real HTML
	widget.
	* libbalsa/html.c (libbalsa_html_popup_menu_widget): ditto.
	* src/balsa-mime-widget-text.c (bmwt_populate_popup_menu),
	(balsa_gtk_html_popup), (bmwt_populate_popup_cb),
	(bm_widget_new_html): use it to implement popup menu for
	WebKitWebView.

2010-01-11  Peter Bloomfield

	* libbalsa/address-book-gpe.c
	(libbalsa_address_book_gpe_alias_complete): free error with
	sqlite3_free() instead of free(); fixes bug #606676 (Stanislav
	Brabec).

2010-01-11  Peter Bloomfield

	* libbalsa/html.h: new API for libbalsa_html_new.
	* src/balsa-mime-widget-text.c (balsa_mime_widget_new_text),
	(bm_widget_new_html): use it.
	* libbalsa/html.c (lbh_get_body_content,
	lbh_get_web_view, libbalsa_html_can_zoom,
	libbalsa_html_zoom, libbalsa_html_can_select,
	libbalsa_html_select_all, libbalsa_html_copy,
	libbalsa_html_can_search, libbalsa_html_search_text,
	libbalsa_html_get_selection_bounds): implement new API;
	(lbh_info_bar_realize_cb, lbh_info_bar_widget,
	lbh_resource_request_starting_cb, lbh_info_bar_response_cb,
	libbalsa_html_new): prepend HTML message part with a GtkInfoBar
	offering the option to download images.

2010-01-11  Peter Bloomfield

	* src/balsa-message.c (add_part), (balsa_message_can_select):
	html widgets can select text.

2010-01-11  Peter Bloomfield

	* libbalsa/html.c (lbh_js_get_global_context), (lbh_js_run_script),
	(lbh_js_object_get_property), (libbalsa_html_search_text),
	(libbalsa_html_get_selection_bounds): use JavaScript to locate
	or clear selected text; enable text search.

2010-01-11  Pawel Salek

	* libbalsa/mailbox_imap.c: gmail anwers NO to FETCH, deal with it.

2010-01-10  Albrecht Dreß

	* src/pref-manager.c (word_wrap_group): increase maximum line
	length to 998, the RFC 2822 limit.

2010-01-09  Peter Bloomfield

	* src/balsa-message.c (add_body), (add_multipart_digest),
	(add_multipart_mixed), (add_multipart), (add_part),
	(select_part): cleaner recursion.

2010-01-09  Peter Bloomfield

	* src/balsa-mime-widget-text.c (url_open_cb), (check_call_url),
	(handle_url), (bm_widget_new_html): combine link-clicked
	handling for text/plain and text/html parts.

2010-01-08  Pawel Salek

	* libbalsa/imap/imap_compress.c: improve error handling.
	* libbalsa/mailbox_imap.c: catch error conditions early.

2010-01-06  Peter Bloomfield

	* src/balsa-mime-widget-text.c (balsa_mime_widget_new_text): do
	not leak HTML source.

2010-01-05  Pawel Salek

	* libbalsa/imap/siobuf.[ch]: change encode interface so that
	compression callback do not need to allocate too much memory.
	* libbalsa/imap/imap_compress.c: modify the callbacks accordingly.
	* libbalsa/imap/imap-handle.c: make sure we do not leave some
	unflushed compressed data around.
	* configure.in: zlib.h is unconditionally required.

2010-01-05  Peter Bloomfield

	* libbalsa/html.c (libbalsa_html_new): remove dead code.

2010-01-05  Peter Bloomfield

	* src/balsa-message.c (add_part), (select_part): remove dead or
	redundant code.

2010-01-05  Peter Bloomfield

	* libbalsa/html.c (libbalsa_html_new): put webkit in
	document-viewer mode instead of the default browser mode.

2010-01-05  Peter Bloomfield

	* src/balsa-app.h: omit point size from default font names.
	* src/pref-manager.c (open_preferences_manager),
	(check_font_button), (apply_prefs), (font_button_check_font_size),
	(attach_font_button), (preview_font_group), (font_modified_cb),
	(default_font_size_cb): add option to use default font sizes.

2010-01-05  Peter Bloomfield

	* src/balsa-mime-widget-text.c (balsa_mime_widget_new_text),
	(quote_tag): define constants for margins.

2010-01-04  Peter Bloomfield

	* libbalsa/misc.c (libbalsa_create_entry): use
	gtk_entry_set_text instead of gtk_editable_insert_text, to avoid
	a bogus warning.

2010-01-04  Peter Bloomfield

	* src/save-restore.c (config_global_load): default to no message
	wrap and prefer text/plain over text/html.

2010-01-04  Peter Bloomfield

	* src/balsa-message.c (bm_find_entry_changed_cb), (bm_find_again),
	(balsa_message_find_in_message): build --without-gtkhtml
	--without-webkit.

2010-01-04  Peter Bloomfield

	* libbalsa/imap/imap_compress.c: add missing includes of
	stdlib.h, string.h.

2010-01-03  Peter Bloomfield

	* src/main-window.c: better menu item label (Pawel).

2010-01-03  Pawel Salek

	* libbalsa/imap-server.c: enable compression by default.
	* libbalsa/imap/Makefile.am: add imap_compress.[hc]
	* libbalsa/imap/imap-commands.c: imap_cmd_exec returns ImapResponse.
	* libbalsa/imap/imap-handle.c: add COMPRESS=DEFLATE capability
	* libbalsa/imap/imap_compress.[ch]: support the extension.
	* libbalsa/imap/imap_tst.c: allow compression testing.

2010-01-02  Peter Bloomfield

	* src/balsa-mime-widget-text.c (balsa_mime_widget_new_text),
	(quote_tag): get font description from widget; scale size from
	points to pixels; use 60% of size for width.

2010-01-02  Peter Bloomfield

	* src/balsa-app.h: new members to save hidden toolbars.
	* src/save-restore.c (config_global_load), (config_save): save
	and restore them.
	* src/main-window.c: options to hide toolbar, SoSbar, and status
	bar.
	* src/main-window.h: add toolbar and sos_bar members.
	* src/message-window.c (message_window_new),
	(mw_show_toolbar_cb): option to hide toolbar.
	* src/sendmsg-window.c (sendmsg_window_new),
	(sw_show_toolbar_cb): option to hide toolbar.
	* src/sendmsg-window.h: add toolbar member.

2010-01-02  Pawel Salek

	* libbalsa/imap/pop3.c: Report errors occuring during downloading
	process earlier to avoid saving corrupted messages.
	* libbalsa/mailbox_pop3.c: do not leak file descriptors on some errors.

2010-01-01  Peter Bloomfield

	* src/sendmsg-window.c: Do not crash in touch-ui version.

2010-01-01  Peter Bloomfield

	* configure.in: Allow configure --enable-touch-ui=no and
	--disable-touch-ui.

2010-01-01  Pawel Salek

	* libbalsa/send.c: Fix bug 605807.

2009-12-30  Pawel Salek

	* configure.in: gtkspell build requires enchant now as well.\
	* src/main-window.c:
	* src/sendmsg-window.c: compile with --enable-touch-ui

2009-12-30  Peter Bloomfield

	* src/sendmsg-window.c (create_lang_menu): use
	enchant_broker_dict_exists() to check languages.

2009-12-29  Pawel Salek

	* libbalsa/rfc3156.c:
	* src/main-window.c: add comments to aid translations...
	* src/sendmsg-window.c: ... to fix bug 605435.

2009-12-29  Peter Bloomfield

	* libbalsa/html.c (lbh_resource_request_starting_cb),
	(lbh_new_window_policy_decision_requested_cb),
	(libbalsa_html_new): use "notify::progress" signal instead of
	deprecated "load-progress-changed"; use
	"new-window-policy-decision-requested" signal to more carefully
	control new windows.

2009-12-29  Peter Bloomfield

	* configure.in: require webkitgtk version 1.1.14 or newer.
	* libbalsa/html.c (lbh_resource_request_starting_cb),
	(libbalsa_html_new): use WebKitwebView's
	"resource-request-starting" signal to handle cid: requests and
	disable all others.
	* libbalsa/body.c (libbalsa_message_body_save_temporary): use
	body->filename in preference to content_id.
	* libbalsa/body.h: remove now redundant functions.
	* libbalsa/message.c: ditto.
	* libbalsa/message.h: ditto.

2009-12-26  Peter Bloomfield

	* libbalsa/html.c (lbh_filter_src), (libbalsa_html_new),
	(libbalsa_html_url_requested): implement two ways of handling
	cid: URLs in WebKitwebView.

2009-12-26  Peter Bloomfield

	* libbalsa/message.h: add tempdir member and new methods.
	* libbalsa/message.c (libbalsa_message_finalize),
	(libbalsa_message_get_part_by_id),
	(libbalsa_message_save_parts_by_id),
	(libbalsa_message_has_cid_part), (libbalsa_message_get_tempdir):
	implement and use them.

2009-12-26  Peter Bloomfield

	* libbalsa/libbalsa.h: new error code.

2009-12-20  Peter Bloomfield

	* libbalsa/body.h: new member LibBalsaMessageBody::own_dir, TRUE
	if the temporary file for the body is in its own temporary
	directory/
	* libbalsa/body.c (libbalsa_message_body_new),
	(libbalsa_message_body_free),
	(libbalsa_message_body_save_temporary): if the body has a
	filename, save the temporary file in its own temporary
	directory.

2009-12-20  Peter Bloomfield

	* libbalsa/filter-funcs.c (lbcond_new): save negated as 0 or 1,
	to simplify later comparison.
	(libbalsa_condition_compare): return FALSE if negate differs;
	drop now-redundant test for flag conditions.

2009-12-19  Peter Bloomfield

	* libbalsa/filter-funcs.c (libbalsa_condition_compare):
	simplify, and fix string and boolean filter comparisons.

2009-12-16  Peter Bloomfield

	* libbalsa/send.c (libbalsa_message_create_mime_message): do not
	append NULL list in internet_address_list_append.

2009-12-16  Mario Mikocevic <mario mikocevic t-com hr>

	* balsa.spec.in: for 2.4.2 to successfuly compile a rpm, a small
	patch is needed.

2009-12-14  Peter Bloomfield

	* configure.in: put LIBNM_GLIB_CFLAGS in BALSA_CFLAGS instead of
	CFLAGS--required to build with
	CFLAGS+="-DG_DISABLE_SINGLE_INCLUDES
	-DGDK_PIXBUF_DISABLE_SINGLE_INCLUDES
	-DGTK_DISABLE_SINGLE_INCLUDES"

2009-12-10  Peter Bloomfield

	* src/balsa-app.c (check_new_messages_auto_cb): pass
	balsa_app.main_window instead of NULL to check_new_messages_real,
	so we can manage the sensitivity of the check action.

2009-12-08  Peter Bloomfield

	* src/sendmsg-window.c (guess_identity_from_list): do not pass
	NULL list to internet_address_list_to_string().

2009-12-07  Peter Bloomfield

	* libbalsa/filter.c (libbalsa_condition_matches): do not pass
	NULL list to internet_address_list_to_string().

2009-12-06  Pawel Salek

	* configure.in
	* NEWS: release balsa-2.4.2

2009-12-03  Peter Bloomfield

	* src/balsa-message.c (bm_find_set_status),
	(bm_find_scroll_to_rectangle), (bm_find_scroll_to_selection),
	(bm_find_entry_changed_cb), (bm_find_again): implement
	search-text for HTML parts; desensitize find-next and
	find-previous when find-entry is empty.

2009-12-03  Peter Bloomfield

	* libbalsa/html.c (lbh_navigation_policy_decision_requested_cb),
	(libbalsa_html_new), (libbalsa_html_search_text),
	(libbalsa_html_get_selection_bounds),
	(libbalsa_html_can_search): implement search-text for webkit
	backend, but only if we can scroll to the text.
	* libbalsa/html.h: implement libbalsa_html_search_text.

2009-11-16  Peter Bloomfield

	* src/balsa-message.c (balsa_message_find_in_message): grab
	focus only if entry is realized.

2009-11-15  Peter Bloomfield

	* libbalsa/html.c (lbh_size_request_cb): remove debugging aid;
	(lbh_navigation_policy_decision_requested_cb): do not handle
	signal unless it is a real request;
	(libbalsa_html_new): remove debugging aids.
	* src/balsa-message.c (select_part): queue-resize is redundant.

2009-11-12  Pawel Salek

	* libbalsa/imap/imap-handle.c: fix a corner case locking problem.
	* src/main-window.c: remove a warning.
	* configure.in: work around lib rename.

2009-11-11  Pawel Salek

	* configure.in: add NetworkManager-glib support.
	* libbalsa/imap-server.c: Disconnect quickly if asked to.
	* libbalsa/imap/imap-commands.c: add private unlocked select command.
	* libbalsa/imap/imap-handle.c: locking changes.
	* libbalsa/imap/imap-handle.h: add ..force_disconnect() prototype.
	* libbalsa/imap/imap_private.h: add select_unlocked() prototype.
	* libbalsa/mailbox.c: stop-gap performance fix.
	* libbalsa/mailbox_imap.[hc]: Add force_disconnect(), reconnect(),
	is_connected().
	* src/main-window.c: listen to libnm events.

2009-11-08  Peter Bloomfield

	* libbalsa/imap/imap-tls.c (imap_check_server_identity): openssl
	has been constified--second try, should build with both latest
	and earlier openssl.

2009-11-08  Peter Bloomfield

	* libbalsa/imap/imap-tls.c (imap_check_server_identity):
	revert--it's going to take more work!

2009-11-08  Peter Bloomfield

	* libbalsa/imap/imap-tls.c (imap_check_server_identity): openssl
	has been constified.

2009-11-07  Peter Bloomfield

	* src/balsa-mime-widget-vcalendar.c (balsa_vevent_widget,
	vevent_reply): use macros to cast enum to or from gpointer.

2009-11-07  Peter Bloomfield

	* libbalsa/rfc2445.c (text_2445_unescape): "\N" encodes newline.

2009-11-01  Peter Bloomfield

	* libbalsa/html.c (lbh_size_request_cb): only increase the
	requisition;
	(lbh_navigation_policy_decision_requested_cb): be silent;
	(libbalsa_html_new): indentation.
	* src/balsa-message.c (add_part): give the content the surplus
	space.

2009-10-31  Peter Bloomfield

	* libbalsa/html.c (lbh_navigation_policy_decision_requested_cb):
	check reason for request.
	(libbalsa_html_new): do not leak GtkAdjustments.

2009-10-30  Peter Bloomfield

	* libbalsa/html.c (lbh_navigation_policy_decision_requested_cb,
	lbh_web_view_ready_idle, lbh_web_view_ready_cb,
	lbh_create_web_view_cb, libbalsa_html_new): handle a clicked
	link that requires a new window.

2009-10-28  Peter Bloomfield

	* src/balsa-mime-widget.c (balsa_mime_widget_destroy): unref
	widget instead of destroying.

2009-10-28  Peter Bloomfield

	* libbalsa/html.c (libbalsa_html_zoom, libbalsa_html_can_select,
	libbalsa_html_select_all, libbalsa_html_copy): add comments and
	indent;
	(libbalsa_html_search_text): build with all widgets.

2009-10-27  Peter Bloomfield

	* libbalsa/html.h: new methods for text search, to access
	WebKitWebView capability.
	* libbalsa/html.c (libbalsa_html_can_search,
	libbalsa_html_search_text): implement them.
	* src/balsa-message.c (bm_find_entry_changed_cb,
	bm_find_again, balsa_message_find_in_message): use them.
	* src/balsa-mime-widget.c (balsa_mime_widget_destroy): work-around
	weird WebKitWebView-GtkClipboard issue.

2009-10-27  Peter Bloomfield

	* src/toolbar-factory.c: show text for "compose" instead of
	"trash/delete".

2009-10-24  Peter Bloomfield

	* src/toolbar-factory.h: new member button_data::is_important.
	* src/toolbar-factory.c (tm_set_tool_item_label): use it.

2009-10-24  Peter Bloomfield

	* src/balsa-app.h: do not include toolbar-factory.h.

2009-10-15  Peter Bloomfield

	GSEAL cleanup

	* configure.in: enable GSEAL if gtk version >= 2.18.
	* libbalsa/address-view.c (lbav_entry_changed_cb):
	* libbalsa/address.c (addrlist_drag_received_cb):
	* libbalsa/html.c (lbh_size_request_cb):
	* libbalsa/identity.c (libbalsa_identity_select_dialog),
	(md_sig_path_changed_cb), (ident_dialog_get_path),
	(libbalsa_identity_config_dialog):
	* libbalsa/libbalsa.c (ask_cert_real):
	* libbalsa/misc.c (lb_create_size_group_func):
	* libbalsa/rfc3156.c (select_key_from_list), (get_passphrase_real):
	* libbalsa/send.c (ensure_send_progress_dialog):
	* libbalsa/smtp-server.c (libbalsa_smtp_server_dialog):
	* libbalsa/source-viewer.c (lsv_size_allocate_cb),
	(libbalsa_show_message_source):
	* libinit_balsa/assistant_helper.c (entry_changed_cb):
	* src/ab-main.c (edit_new_entry_cb), (addrlist_drag_get_cb):
	* src/ab-window.c (balsa_ab_window_init):
	* src/address-book-config.c (create_generic_dialog),
	(create_externq_dialog), (create_ldap_dialog), (create_gpe_dialog):
	* src/balsa-app.c (ask_password_real):
	* src/balsa-index.c (bndx_drag_cb), (bndx_mailbox_changed_cb),
	(bndx_popup_position_func), (bndx_expand_to_row),
	(balsa_index_pipe), (balsa_index_ensure_visible):
	* src/balsa-mblist.c (bmbl_drag_cb), (bmbl_mru_show_tree):
	* src/balsa-message.c (bm_on_set_style), (bm_find_scroll_to_iter),
	(bm_find_pass_to_entry), (gtk_tree_hide_func), (select_part),
	(scroll_set), (balsa_get_parent_window),
	(balsa_message_grab_focus):
	* src/balsa-mime-widget-callbacks.c (scroll_change),
	(balsa_mime_widget_key_press_event):
	* src/balsa-mime-widget-image.c (balsa_mime_widget_new_image),
	(img_check_size):
	* src/balsa-mime-widget-message.c (bm_header_widget_realized):
	* src/balsa-mime-widget-text.c (gtk_widget_destroy_insensitive),
	(draw_cite_bar_real):
	* src/balsa-mime-widget.c (vadj_change_cb):
	* src/filter-edit-callbacks.c (condition_validate),
	(fill_condition_widgets), (build_condition_dialog):
	* src/filter-edit-dialog.c (filters_edit_dialog):
	* src/filter-export-dialog.c (filters_export_dialog):
	* src/filter-run-dialog.c (balsa_filter_run_dialog_init):
	* src/folder-conf.c (folder_conf_imap_node), (browse_button_cb),
	(subfolder_conf_clicked_ok), (folder_conf_imap_sub_node):
	* src/information-dialog.c (balsa_information_list):
	* src/mailbox-conf.c (create_pop_mailbox_dialog),
	(create_imap_mailbox_dialog):
	* src/main-window.c (bw_quit_nicely):
	* src/message-window.c (size_alloc_cb):
	* src/pref-manager.c (open_preferences_manager), (apply_prefs),
	(set_prefs), (timer_modified_cb),
	(mailbox_close_timer_modified_cb), (imap_toggled_cb),
	(convert_8bit_cb):
	* src/print-gtk.c (check_margins), (message_prefs_apply):
	* src/sendmsg-window.c (sw_size_alloc_cb), (sw_get_user_codeset),
	(attachments_add), (sw_scroll_size_request), (drag_data_quote),
	(quote_parts_select_dlg), (subject_not_empty),
	(check_suggest_encryption):
	* src/spell-check.c (balsa_spell_check_init):
	* src/store-address.c (store_address_dialog):
	* src/toolbar-factory.c (tm_popup_position_func):
	* src/toolbar-prefs.c (customize_dialog_cb), (wrap_toggled_cb):

2009-10-15  Peter Bloomfield

	Re-implement BalsaCiteBar as a GTK_NO_WINDOW widget

	* src/balsa-cite-bar.h: make BalsaCiteBar opaque.
	* src/balsa-cite-bar.c (balsa_cite_bar_class_init),
	(balsa_cite_bar_init), (balsa_cite_bar_resize),
	(balsa_cite_bar_size_request), (balsa_cite_bar_expose):

2009-10-15  Peter Bloomfield

	Use gtk_window_present instead of gdk_window_raise

	* libbalsa/identity.c (libbalsa_identity_select_dialog):
	* libbalsa/smtp-server.c (libbalsa_smtp_server_dialog):
	* src/address-book-config.c (balsa_address_book_config_new):
	* src/balsa-index.c (balsa_index_pipe):
	* src/filter-edit-dialog.c (filters_edit_dialog):
	* src/filter-export-dialog.c (filters_export_dialog):
	* src/filter-run-dialog.c (filters_run_dialog):
	* src/folder-conf.c (folder_conf_imap_node):
	* src/mailbox-conf.c (mailbox_conf_new), (mailbox_conf_edit):
	* src/main-window.c:
	* src/pref-manager.c (open_preferences_manager):
	* src/sendmsg-window.c (address_book_cb), (spell_check_cb):
	* src/store-address.c (balsa_store_address_from_messages):
	* src/toolbar-prefs.c (customize_dialog_cb):

2009-10-09   Stanislav Brabec

	Fix #596309

	* configure.in: require gnome-icon-theme.
	* src/balsa-app.c (balsa_app_init): set gnome-icon-theme as
	fallback.

2009-10-08  Peter Bloomfield

	* src/address-book-config.c (create_local_dialog,
	create_vcard_dialog, create_ldif_dialog,
	create_generic_dialog, create_externq_dialog,
	create_ldap_dialog, create_gpe_dialog, create_rubrica_dialog):
	show address book type in dialog title.

2009-10-08  Peter Bloomfield

	* libbalsa/mailbox.c (lbm_changed, libbalsa_mailbox_changed): do
	not emit mailbox-changed signal in a sub-thread.

2009-10-08  Peter Bloomfield

	* libbalsa/mailbox_mbox.c (lbm_mbox_armored_object): use
	g_mime_object_encode when available.

2009-10-08  Peter Bloomfield

	* src/address-book-config.c (edit_book_response): check for NULL
	address-book.

2009-10-01  Peter Bloomfield

	* libbalsa/mailbox_mbox.c (lbm_mbox_prepare_object,
	lbm_mbox_armored_object): use GMimeMultipart api to traverse
	message ourselves instead of using g_mime_multipart_foreach.

2009-09-30  Peter Bloomfield

	* src/toolbar-factory.c (tm_do_popup_menu): do not crash when
	default is "text beside items"; fixes
	http://mail.gnome.org/archives/balsa-list/2009-September/msg00045.html

2009-09-28  Laurent Coudeur <laurentc iol ie>

	* src/spell-check.c (balsa_spell_check_init,
	balsa_spell_check_start, balsa_spell_check_learn,
	setup_suggestions, check_pspell_errors): mark strings for
	translation.

2009-09-26  Peter Bloomfield

	* libbalsa/mailbox_mbox.c (lbm_mbox_prepare_object): count
	GMimeMessagePart as well as GMimePart when skipping parts.

2009-09-25  Peter Bloomfield

	* libbalsa/mailbox_mbox.c (lbm_mbox_prepare_object),
	(lbm_mbox_armored_object): detect when g_mime_multipart_foreach
	will recursively descend into a signed or encrypted multipart,
	and set a counter to skip the parts that should not be changed.

2009-09-24  Peter Bloomfield

	* src/balsa-app.c (append_url_if_open): use a GPtrArray to
	collect URLs instead of a GString;
	(open_mailboxes_idle_cb): ditto; do not leak urls.

2009-09-24  Peter Bloomfield

	* src/balsa-app.c (open_mailboxes_idle_cb): do not open most
	recent mailbox if no mailboxes were open.

2009-09-24  Peter Bloomfield

	* src/balsa-app.c (open_mailbox_by_url),
	(open_mailboxes_idle_cb): respect current-mailbox-url when -o
	command line option is used.
	* src/main-window.c: do not clear current-mailbox-url when last
	mailbox is closed, as it may get saved that way.
	* src/main.c (initial_open_inbox): open inbox hidden.

2009-09-11  Peter Bloomfield

	Open most recent mailbox first on restart

	* libbalsa/libbalsa-marshal.list: new marshaller.
	* src/balsa-app.h: new member current_mailbox_url.
	* src/save-restore.c (config_global_load), (config_save): save
	and restore it.
	* src/main-window.h: new api for open-mbnode class method.
	* src/balsa-mblist.h: new method balsa_mblist_open_mailbox_hidden;
	* src/balsa-app.c (open_mailboxes_idle_cb): use them.
	* src/balsa-index.c (balsa_index_transfer): ditto.
	* src/balsa-mblist.c (bmbl_open_mailbox),
	(balsa_mblist_open_mailbox), (balsa_mblist_open_mailbox_hidden):
	ditto.
	* src/mailbox-node.c (load_mailbox_view): ditto.
	* src/main-window.c: ditto.

2009-09-11  Peter Bloomfield

	* src/mailbox-conf.c (mailbox_conf_set_values):
	initialize mailbox name for local mailbox;
	(local_mailbox_dialog_cb), (create_local_mailbox_dialog):
	catch file chooser events to check for a real change;
	(create_imap_mailbox_dialog), (mailbox_conf_view_new_full),
	(mailbox_conf_view_new): new api.

2009-09-10  Peter Bloomfield

	* src/mailbox-conf.c (mailbox_conf_view_cb),
	(mailbox_conf_view_new_with_size_group): set "Update" button
	sensitive when a control is changed.

2009-09-07  Peter Bloomfield

	* src/main.c (balsa_handle_automation_options): encode URI for
	UniqueMessageData.
	(mw_message_received_cb): decode URI received from
	UniqueMessageData.

2009-09-07  Peter Bloomfield

	* libbalsa/misc.c (libbalsa_urlencode): handle 8-bit characters.

2009-09-07  Peter Bloomfield

	* libbalsa/libbalsa-conf.c (lbc_init): do not read config file
	twice.

2009-09-07  Peter Bloomfield

	* libinit_balsa/assistant_init.c (balsa_init_begin): minimal
	init assistant.
	* libinit_balsa/assistant_page_user.c
	(balsa_druid_page_user_init): ditto.

2009-09-04  Peter Bloomfield

	* libbalsa/address-book-vcard.c
	(libbalsa_address_book_vcard_parse_address): accept
	"email:name@host" as well as "email;type=blah:name@host".

2009-09-03  Peter Bloomfield

	* configure.in: oops--revert.

2009-09-03  Peter Bloomfield

	* configure.in: do not allow configure with both webkit and
	gtkhtml.

2009-08-29  Albrecht Dreß

	Improve the Mac OS X integration for a native "Carbon" build

	* libbalsa/Makefile.am:
	* libbalsa/identity.c (libbalsa_identity_select_dialog),
	(delete_ident_cb), (libbalsa_identity_config_dialog):
	* libbalsa/rfc3156.c (check_gpg_child), (select_key_from_list),
	(accept_low_trust_key), (get_passphrase_real):
	* libbalsa/smtp-server.c (libbalsa_smtp_server_dialog):
	* libbalsa/source-viewer.c (libbalsa_show_message_source):
	* src/ab-main.c:
	* src/address-book-config.c (create_local_dialog),
	(create_generic_dialog), (bad_path):
	* src/balsa-app.c (ask_password_real):
	* src/balsa-icons.c (register_balsa_pixmaps):
	* src/balsa-index.c (balsa_index_pipe):
	* src/balsa-mblist.c (bmbl_mru_show_tree):
	* src/balsa-message.c (part_context_dump_all_cb),
	(create_mdn_dialog):
	* src/balsa-mime-widget-callbacks.c
	(balsa_mime_widget_ctx_menu_save):
	* src/filter-edit-callbacks.c (fe_edit_condition):
	* src/folder-conf.c (folder_conf_imap_node), (browse_button_cb),
	(subfolder_conf_clicked_ok), (folder_conf_imap_sub_node),
	(folder_conf_delete):
	* src/information-dialog.c (balsa_information_dialog),
	(balsa_information_list):
	* src/mailbox-conf.c (mailbox_conf_delete),
	(create_local_mailbox_dialog), (create_generic_dialog):
	* src/main-window.c:
	* src/message-window.c (message_window_new):
	* src/pref-manager.c (open_preferences_manager):
	* src/sendmsg-window.c (delete_handler), (change_attach_mode),
	(sw_get_user_codeset), (sw_attach_dialog),
	(quote_parts_select_dlg), (sendmsg_window_new),
	(sendmsg_window_set_field), (include_file_cb),
	(check_suggest_encryption), (send_message_handler),
	(bsmsg_check_format_compatibility):
	* src/store-address.c (store_address_dialog):
	* src/threads.h:
	* src/toolbar-prefs.c (customize_dialog_cb):

2006-08-27  Pawel Salek

	* libbalsa/imap/imap-handle.c: namespace queries need to encode
	the prefix.
	* libbalsa/imap/imap_tst.c: test mailbox name encoding.
	* libbalsa/imap/util.c: encode backslash and quote marks.
	
2009-08-26  Peter Bloomfield 

	set-statusbar is a BalsaWindow method.

	* src/balsa-index.c (balsa_index_transfer):
	* src/balsa-mblist.c (balsa_mblist_open_mailbox),
	(bmbl_update_mailbox):
	* src/balsa-mblist.h:
	* src/main-window.c:
	* src/main-window.h:

2009-08-20  Peter Bloomfield

	* src/main-window.c: build with --disable-threads.

2009-08-19  Peter Bloomfield

	* libbalsa/address-book-gpe.c
	(libbalsa_address_book_gpe_open_db): show file name in error
	message.

2009-08-19  Peter Bloomfield

	* src/main-window.c: Manage sensitivity of "Get New Mail"
	action.
	* src/main.c (mw_message_received_cb, main): ditto.

2009-08-19  Peter Bloomfield

	Allow only one compose window per draft message.

	* src/balsa-index.c (bndx_row_activated): check for NULL return
	from sendmsg_window_continue.
	* src/sendmsg-window.c (balsa_sendmsg_destroy_handler,
	sw_save_draft): clear object data.
	(sendmsg_window_continue): present existing window if it exists
	and return NULL, and use object data to remember window.

2009-08-19  Peter Bloomfield

	* src/balsa-mime-widget-message.c (bm_header_widget_new): use
	GTK_WRAP_WORD_CHAR so that over-long words do not force
	over-wide window.
	* src/balsa-mime-widget-text.c (balsa_mime_widget_new_text):
	ditto.
	* src/balsa-mime-widget-vcalendar.c: ditto.

2009-08-11  Peter Bloomfield

	* src/balsa-print-object-header.c (header_add_list): do not
	print header line with NULL address string.

2006-08-09  Pawel Salek

	* NEWS, configure.in: release balsa-2.4.1

2009-08-04  Peter Bloomfield

	* configure.in: new option --with-canberra=no.
	* libbalsa/filter.c (libbalsa_filter_mailbox_messages): use
	libcanberra-gtk in preference to libgnome for filter sounds.

2009-08-02  Peter Bloomfield

	* src/sendmsg-window.c (bsmsg_set_subject_from_body): use
	existing subject for continued draft message; new name and api;
	(update_bsmsg_identity), (bsm_finish_setup),
	(sendmsg_window_forward): use new name and api.

2009-08-01  Peter Bloomfield

	* libbalsa/body.c (libbalsa_message_body_get_pixbuf): workaround
	for IE's use of non-IANA registered mime-type "image/pjpeg" for
	progressive JPEG image.

2009-08-01  Peter Bloomfield

	* src/sendmsg-window.c (set_entry_to_subject): do not drop
	subject when continuing a new message.

2006-07-30  Pawel Salek

	* libbalsa/imap/imap-commands.c: lock LIST fixed.

2009-07-28  Peter Bloomfield

	* libbalsa/address-view.c (lbav_add_from_list),
	(lbav_add_from_string): streamline code.

2006-07-28  Pawel Salek

	* libbalsa/address-view.c: protect against empty InternetAddressLists.
	* libbalsa/imap/imap-commands.c: lock LIST, LSUB, STATUS as well.

2009-07-26  Peter Bloomfield

	* src/balsa-mblist.c: do not include gdk/gdkfont.h.

2009-07-26  Peter Bloomfield

	Partial fixes for bug #589764, André Klapper.

	* libbalsa/imap/pop3.c (pop_authenticate): use
	g_ascii_strncasecmp.
	* src/quote-color.c (allocate_quote_colors): remove
	"gdk_color_black" from comment.

2009-07-26  Peter Bloomfield

	* src/sendmsg-window.c: do not include gnome.h.

2009-07-26  Peter Bloomfield

	* src/main-window.c: remove redundant gtk version checks and
	dead code.

2009-07-25  Peter Bloomfield

	* libinit_balsa/assistant_helper.c
	(balsa_init_create_to_directory): show specific error message.

2009-07-23  Peter Bloomfield

	Check for NULL InternetAddressList

	* libbalsa/send.c (do_multipart_crypto):
	* src/sendmsg-window.c (sw_cc_add_list):
	* src/store-address.c (store_address_add_list):

2009-07-21  Peter Bloomfield

	Save send type in draft message

	* src/sendmsg-window.h: new member is_continue.
	* src/sendmsg-window.c (delete_handler), (guess_identity),
	(sendmsg_window_new), (sendmsg_window_continue),
	(message_postpone): use it instead of SEND_CONTINUE.
	(sendmsg_window_set_title), (set_entry_to_subject),
	(replace_identity_signature): we no longer use SEND_CONTINUE.

2009-07-20  Peter Bloomfield

	* configure.in: make silent rules by default.

2006-07-12  Pawel Salek

	* src/sendmsg-window.c: do insert new signatures on identity
	switch (reported on balsa-list).

2009-07-09  Peter Bloomfield

	* src/message-window.c (mw_expunged_cb): check for NULL message.

2009-07-09  Peter Bloomfield

	* libbalsa/mailbox_mbox.c (libbalsa_mailbox_mbox_sync): check
	for error in GMimeParser.

2009-06-30  Peter Bloomfield

	* configure.in: test for res_init.
	* libbalsa/imap/imap-handle.c (imap_socket_open): use it to
	recover faster after reconnecting to the internet.

2009-06-27  Peter Bloomfield

	* src/spell-check.h: build --without-gtkspell.

2006-06-24  Pawel Salek

	* libbalsa/imap/imap-{commands,handle}.c: catch errors early on
	for more accurate error messages.
	* libbalsa/imap/imap_search.c: ditto.
	* libbalsa/imap/imap-handle.h: warn if idle_disable's result is ignored.
	* libbalsa/mailbox_imap.c: correct tranformation of rfc822 groups
	from ImapAddress to InternetAddress (together with Peter B).
	* src/sendmsg-window.c: check that string is not-null before
	setting window title.

2006-06-11  Pawel Salek

	* libbalsa/mailbox_imap.c: do not create empty address lists.
	This makes the message compose code believe that reply-to is set.

2009-06-07  Peter Bloomfield

	Build with threads disabled

	* libbalsa/mailbox.c (lbm_msgno_changed): fix conditional code.

2009-06-07  Peter Bloomfield

	Update display in an idle callback.

	* libbalsa/mailbox.h: new array of msgnos that have changed.
	* libbalsa/mailbox.c (libbalsa_mailbox_finalize),
	(lbm_msgno_changed_expunged_cb), (lbm_msgnos_changed_idle_cb),
	(lbm_msgno_changed), (libbalsa_mailbox_msgno_changed),
	(lbm_get_index_entry_real): use it to update display in an idle
	callback, instead of in the sub-thread in which the message info
	was set up.

2009-06-07  Peter Bloomfield

	* src/sendmsg-window.c (repl_identity_signature),
	(insert_initial_sig): remember cursor position when adding or
	changing signature.

2009-06-03  Peter Bloomfield

	Build with threads disabled

	* configure.in: must enable threads to use WebKit.
	* libbalsa/imap-server.c (libbalsa_imap_server_set_username),
	(libbalsa_imap_server_set_host), (libbalsa_imap_server_init),
	(libbalsa_imap_server_finalize), (lb_imap_server_cleanup),
	(get_or_create), (libbalsa_imap_server_get_handle),
	(libbalsa_imap_server_get_handle_with_user),
	(libbalsa_imap_server_release_handle),
	(libbalsa_imap_server_force_disconnect),
	(libbalsa_imap_server_close_all_connections),
	(libbalsa_imap_server_has_free_handles): use macros to manage
	locks.
	* libbalsa/imap/imap_private.h: add TRYLOCK macro.

2009-05-27  Peter Bloomfield

	* src/balsa-mime-widget-callbacks.c
	(balsa_mime_widget_key_press_event): emitting "popup-menu"
	requires the address of the return value.

2006-05-23  Pawel Salek

	* src/balsa-index.[ch]: switch between full and narrow index views.
	* src/main-window.[ch]: switch between ordinary and wide-screen layouts.
	* src/save-restore.c: save the layout as an enum.
	* src/balsa-app.[ch]: set default layout.
	* src/pref-manager.c: main window layout type is a drop-down list now.
	
2009-05-13  Peter Bloomfield

	* src/mailbox-node.c (find_dir), (balsa_mailbox_local_append):
	parent of a top-level mailbox should be the root node.

2009-05-13  Peter Bloomfield

	* src/mailbox-node.c (balsa_mailbox_node_rescan): clear
	mn->scanned, so that we append the subtree.

2009-05-07  Peter Bloomfield

	Implement select thread

	* src/balsa-index.c (balsa_index_select_thread): new method to
	select all messages in thread containing current message.
	* src/balsa-index.h: ditto.
	* src/main-window.c: use it.

2009-05-04  Peter Bloomfield

	Add filter for colorizing messages

	* libbalsa/filter.h: add FILTER_COLOR to FilterActionType enum,
	and FILTER_N_TYPES sentinel.
	* libbalsa/filter.c (libbalsa_filter_mailbox_messages): act on
	it.
	* libbalsa/libbalsa_private.h: add color members to
	LibBalsaMailboxIndexEntry.
	* libbalsa/mailbox.h: new methods to set color; expand
	LibBalsaMailboxColumn enum.
	* libbalsa/mailbox.c (lbm_index_entry_populate_from_msg),
	(mbox_model_init), (mbox_model_get_value), (lbm_set_color),
	(libbalsa_mailbox_set_foreground),
	(libbalsa_mailbox_set_background): implement them.
	* src/balsa-index.c (bndx_instance_init): set color in all
	columns.
	* src/filter-edit-callbacks.c (fe_action_selected),
	(fe_apply_pressed), (fe_filters_list_selection_changed),
	(fe_color_check_toggled), (fe_color_set):
	* src/filter-edit-dialog.c (fe_make_color_buttons),
	(build_action_page): add option to choose colors.
	* src/filter-edit.h: new callbacks.
	* src/filter-run-callbacks.c (fr_apply_selected_pressed_func),
	(fr_add_pressed_func): ditto.
	* src/save-restore.c (config_filter_load),
	(config_filters_load): scrap broken pre-2.1 compatibility code.

2009-04-29  Ildar Mulyukov

	* balsa.desktop.in: respect
	http://standards.freedesktop.org/menu-spec/latest/apa.html

2009-04-29  Peter Bloomfield

	* libbalsa/mailbox.h: new member sort_field_prev in
	LibBalsaMailboxView.
	* libbalsa/mailbox.c (libbalsa_mailbox_set_sort_field,
	mbox_compare_func, mbox_set_sort_column_id): use it to save
	previous sort_field, and to resolve ties wrt current
	sort_field--work around for lack of a stable mailbox sort.

2009-04-23  Peter Bloomfield

	bump version to 2.4.0, and require GMime-2.4, GLib-2.16, and
	Gtk-2.14.

2009-04-21  Peter Bloomfield

	port to GMime-2.4

2009-04-21  Peter Bloomfield

	create balsa-2-3 branch for updates to the pre-GMime-2.4 tree.

2009-04-21  Peter Bloomfield

	* balsa.doap: new description-of-a-project file.

2009-04-15  Peter Bloomfield

	* src/balsa-mime-widget.c: (balsa_mime_widget_new_unknown):
	ellipsize message label.

2009-04-06  Albrecht Dreß

	* src/balsa-print-object.c: (balsa_print_object_emb_message,
	balsa_print_object_mp_crypto,
	balsa_print_objects_append_from_body): fix mem leak, select
	print handlers from a list which needs two helpers due to
	different prototypes;
	* src/balsa-print-object-header.c:
	(balsa_print_object_header_new_real): fix mem leak;
	* src/print-gtk.c: (begin_print): simplify code.

2009-04-02  Peter Bloomfield

	Make sure that config.h is included before any header that
	refers to a symbol defined there.

	* libbalsa/address-book-gpe.h:
	* libbalsa/body.h:
	* libbalsa/filter-private.h:
	* libbalsa/gmime-stream-gio.h:
	* libbalsa/gmime-stream-gnome-vfs.h:
	* libbalsa/html.h:
	* libbalsa/identity.h:
	* libbalsa/libbalsa.h:
	* libbalsa/libbalsa_private.h:
	* libbalsa/mailbox.h:
	* libbalsa/message.h:
	* libbalsa/mime-stream-shared.h:
	* libbalsa/misc.h:
	* libbalsa/missing.h:
	* libbalsa/rfc3156.h:
	* libbalsa/send.h:
	* libbalsa/server.h:
	* libinit_balsa/Makefile.am:
	* libinit_balsa/assistant_page_defclient.h:
	* src/balsa-app.h:
	* src/balsa-bonobo.h:
	* src/balsa-icons.h:
	* src/balsa-message.h:
	* src/balsa-mime-widget-crypto.h:
	* src/balsa-print-object-header.h:
	* src/main-window.h:
	* src/print.h:
	* src/quote-color.h:
	* src/save-restore.h:
	* src/sendmsg-window.h:
	* libbalsa/libbalsa-conf.c: include config.h.
	* libinit_balsa/assistant_page_defclient.c: ditto.
	* libinit_balsa/assistant_init.c: ditto.

2009-04-02  Peter Bloomfield

	* src/balsa-print-object-decor.c: include config.h.
	* src/balsa-print-object-image.c: ditto.

2009-03-31  Albrecht Dreß

	* libbalsa/rfc2445.c: (libbalsa_vcal_new_from_body,
	date_time_2445_to_time_t): fix "critical" warnings due to
	comparison of wrong variable, and if a line is empty.
	* src/balsa-print-object-default.c:
	(balsa_print_object_default_draw): print the icon top-aligned.
	* src/balsa-print-object-text.c:
	(balsa_print_object_text_calendar): break huge iCal parts over
	multiple pages if necessary.

2009-03-26  Peter Bloomfield

	* libbalsa/missing_time.c: build with enable-threads.

2009-03-19  Peter Bloomfield

	* Makefile.am: install BonoboActivation files only if
	!BUILD_WITH_UNIQUE.
	* src/Makefile.am: ditto.

2009-03-19  Peter Bloomfield

	Build --without-esmtp

	* libbalsa/libbalsa.h: typedef LibBalsaSmtpServer only if
	ENABLE_ESMTP.
	* libbalsa/identity.h: include "libbalsa.h" instead of
	"smtp-server.h".

2006-03-19  Pawel Salek

	* libbalsa/imap/imap-handle.c: make IDLE startup asynchronous.
	* libbalsa/imap/imap_private.h: provide EAT_LINE macro.
	* libbalsa/imap/imap-commands.c: use it.

2009-03-13  Peter Bloomfield

	Offer libUnique as an alternative to BonoboActivation to ensure
	single instance.

	* configure.in: new option --with-unique=no.
	* src/Makefile.am: Bonobo files are conditional.
	* src/main.c: (main, balsa_main_check_new_messages,
	mw_message_received_cb, balsa_handle_automation_options):
	implement it.
	(balsa_init): Initialize Gtk only once, and check for error.

2009-03-11  Albrecht Dreß

	* libbalsa/rfc2445.c: (libbalsa_vcal_new_from_body): ignore
	nested description.
	* src/balsa-mime-widget-vcalendar.c: (balsa_vevent_widget): use
	GtkTextView to show wrapped description.

2009-03-11  Peter Bloomfield

	* libbalsa/address-book-ldap.c: (rfc_2254_escape): do not
	include gnome.h; use g_{new,free} instead of {malloc,free}.

2009-03-03  Peter Bloomfield

	Consistently initialize Gerror, and use g_clear_error when it
	helps.

	* libbalsa/gmime-stream-gio.c:
	* libbalsa/libbalsa-conf.c: (lbc_init), (lbc_sync):
	* libbalsa/mailbox_local.c: (lbm_local_save_tree):
	* libbalsa/source-viewer.c: (lbsv_app_set_menus):
	* src/ab-main.c: (get_main_menu), (main):
	* src/balsa-icons.c: (load_balsa_pixmap):
	* src/filter-edit-callbacks.c: (condition_dialog_response),
	(fe_dialog_response):
	* src/filter-run-callbacks.c: (fr_dialog_response):
	* src/main-window.c:
	* src/main.c: (main):
	* src/message-window.c: (message_window_new):
	* src/sendmsg-window.c: (sendmsg_window_new):

2009-03-03  Peter Bloomfield

	* libbalsa/identity.c: free force-key-id.
	* src/balsa-icons.c: (load_balsa_pixmap): unref icon-set.
	* src/balsa-mime-widget-text.c: (balsa_mime_widget_new_text,
	bm_widget_new_vcard): free ptr in balsa_mime_widget_new_text
	instead of in bm_widget_new_vcard.

2009-03-01  Peter Bloomfield

	* libbalsa/mailbox_imap.c: (libbalsa_mailbox_imap_open): do not
	leak ImapCacheManager.

2009-02-28  Peter Bloomfield

	* libbalsa/body.c: (libbalsa_message_body_get_pixbuf): tell
	GdkPixbufLoader the mime type; some types, apparently including
	compressed SVG, cannot be reliably identified by looking at
	the data.

2009-02-28  Peter Bloomfield

	* src/main-window.c: tighten some old code.

2009-02-28  Peter Bloomfield

	* src/main.c: (initial_open_unread_mailboxes,
	initial_open_inbox, main): really check new mail after building
	the tree.

2009-02-27  Peter Bloomfield

	* src/main-window.c: 
	* src/main.c: (balsa_main_check_new_messages, main): on startup,
	check new mail in an idle handler, after the mailbox tree has
	been built.

2009-02-27  Peter Bloomfield

	* src/balsa-message.c: libbalsa_can_display is needed only if
	HAVE_GTKHTML.

2009-02-26  Paweł Sałek

	* libbalsa/imap/imap-commands.c: do not deadlock when opening imap
	mailbox with new messages, sorted on the client side.

2009-02-25  Peter Bloomfield

	make sure -DHAVE_CONFIG_H is passed as a compiler flag.
	* configure.in:
	* libbalsa/Makefile.am:
	* src/Makefile.am:

	Test HAVE_CONFIG_H before including config.h.
	* libbalsa/abook-completion.c:
	* libbalsa/address-book-extern.c:
	* libbalsa/address-book-gpe.c:
	* libbalsa/address-book-ldap.c:
	* libbalsa/address-book-ldif.c:
	* libbalsa/address-book-rubrica.c:
	* libbalsa/address-book-text.c:
	* libbalsa/address-book-vcard.c:
	* libbalsa/address-book.c:
	* libbalsa/address-view.c:
	* libbalsa/address.c:
	* libbalsa/body.c:
	* libbalsa/body.h:
	* libbalsa/cell-renderer-button.c:
	* libbalsa/files.c:
	* libbalsa/files.h:
	* libbalsa/filter-error.c:
	* libbalsa/filter-file.c:
	* libbalsa/filter-funcs.c:
	* libbalsa/filter.c:
	* libbalsa/folder-scanners.c:
	* libbalsa/folder-scanners.h:
	* libbalsa/gmime-gpgme-context.c:
	* libbalsa/gmime-part-rfc2440.c:
	* libbalsa/gmime-stream-gio.c:
	* libbalsa/gmime-stream-gio.h:
	* libbalsa/gmime-stream-gnome-vfs.c:
	* libbalsa/gmime-stream-gnome-vfs.h:
	* libbalsa/html.c:
	* libbalsa/html.h:
	* libbalsa/identity.c:
	* libbalsa/identity.h:
	* libbalsa/imap-server.c:
	* libbalsa/imap-server.h:
	* libbalsa/information.c:
	* libbalsa/libbalsa-conf.h:
	* libbalsa/libbalsa-vfs.c:
	* libbalsa/libbalsa-vfs.h:
	* libbalsa/libbalsa.c:
	* libbalsa/libbalsa.h:
	* libbalsa/mailbox-filter.c:
	* libbalsa/mailbox.c:
	* libbalsa/mailbox.h:
	* libbalsa/mailbox_imap.c:
	* libbalsa/mailbox_local.c:
	* libbalsa/mailbox_local.h:
	* libbalsa/mailbox_maildir.c:
	* libbalsa/mailbox_mbox.c:
	* libbalsa/mailbox_mh.c:
	* libbalsa/mailbox_pop3.c:
	* libbalsa/mailbox_remote.c:
	* libbalsa/message.c:
	* libbalsa/message.h:
	* libbalsa/mime-stream-shared.c:
	* libbalsa/mime-stream-shared.h:
	* libbalsa/mime.c:
	* libbalsa/misc.c:
	* libbalsa/missing_time.c:
	* libbalsa/rfc2445.c:
	* libbalsa/rfc3156.c:
	* libbalsa/rfc3156.h:
	* libbalsa/send.c:
	* libbalsa/send.h:
	* libbalsa/server.c:
	* libbalsa/smtp-server.c:
	* libbalsa/smtp-server.h:
	* libbalsa/source-viewer.c:
	* libinit_balsa/assistant_helper.c:
	* libinit_balsa/assistant_helper.h:
	* libinit_balsa/assistant_init.h:
	* libinit_balsa/assistant_page_defclient.h:
	* libinit_balsa/assistant_page_directory.c:
	* libinit_balsa/assistant_page_directory.h:
	* libinit_balsa/assistant_page_finish.c:
	* libinit_balsa/assistant_page_finish.h:
	* libinit_balsa/assistant_page_user.c:
	* libinit_balsa/assistant_page_user.h:
	* libinit_balsa/assistant_page_welcome.h:
	* libinit_balsa/balsa-druid-page-defclient.h:
	* libinit_balsa/balsa-druid-page-directory.h:
	* libinit_balsa/balsa-druid-page-finish.c:
	* libinit_balsa/balsa-druid-page-finish.h:
	* libinit_balsa/balsa-druid-page-user.c:
	* libinit_balsa/balsa-druid-page-user.h:
	* libinit_balsa/balsa-druid-page-welcome.h:
	* libinit_balsa/balsa-initdruid.h:
	* libinit_balsa/helper.c:
	* libinit_balsa/helper.h:
	* libinit_balsa/init_balsa.c:
	* src/ab-main.c:
	* src/ab-window.c:
	* src/ab-window.h:
	* src/address-book-config.c:
	* src/balsa-app.c:
	* src/balsa-bonobo.c:
	* src/balsa-bonobo.h:
	* src/balsa-icons.c:
	* src/balsa-icons.h:
	* src/balsa-index.c:
	* src/balsa-mblist.c:
	* src/balsa-message.c:
	* src/balsa-message.h:
	* src/balsa-mime-widget-callbacks.c:
	* src/balsa-mime-widget-callbacks.h:
	* src/balsa-mime-widget-crypto.c:
	* src/balsa-mime-widget-crypto.h:
	* src/balsa-mime-widget-image.c:
	* src/balsa-mime-widget-message.c:
	* src/balsa-mime-widget-multipart.c:
	* src/balsa-mime-widget-text.c:
	* src/balsa-mime-widget-vcalendar.c:
	* src/balsa-mime-widget.c:
	* src/balsa-print-object-default.c:
	* src/balsa-print-object-header.c:
	* src/balsa-print-object-header.h:
	* src/balsa-print-object-text.c:
	* src/balsa-print-object.c:
	* src/balsa-print-object.h:
	* src/filter-edit-callbacks.c:
	* src/filter-edit-dialog.c:
	* src/filter-export-callbacks.c:
	* src/filter-export-dialog.c:
	* src/filter-run-callbacks.c:
	* src/filter-run-dialog.c:
	* src/folder-conf.c:
	* src/information-dialog.c:
	* src/information-dialog.h:
	* src/mailbox-conf.c:
	* src/mailbox-node.c:
	* src/main-window.c:
	* src/main.c:
	* src/message-window.c:
	* src/pref-manager.c:
	* src/pref-manager.h:
	* src/print-gtk.c:
	* src/print.c:
	* src/print.h:
	* src/quote-color.c:
	* src/quote-color.h:
	* src/save-restore.c:
	* src/save-restore.h:
	* src/sendmsg-window.c:
	* src/sendmsg-window.h:
	* src/spell-check.c:
	* src/spell-check.h:
	* src/store-address.c:
	* src/store-address.h:
	* src/toolbar-factory.c:
	* src/toolbar-factory.h:
	* src/toolbar-prefs.c:
	* src/toolbar-prefs.h:

2009-02-25  Peter Bloomfield

	* src/main-window.h: add new_mail_tray and new_mail_note to
	BalsaWindow.
	* src/main-window.c: use gtk_window_set_urgency_hint to show new
	mail; consolidate notify::is-active handling.

2009-02-21  Paweł Sałek

	* libbalsa/files.c:
	* src/balsa-index.c: build against oldish gtk/gnome.
	* libbalsa/rfc2445.c: with gcc-3.x
	* libbalsa/imap/imap-commands.c: lock the handle when issuing
	asynchronous EXPUNGE.

2009-02-18  Paweł Sałek

	* src/sendmsg-window.c:, src/{ab-,}main.c:
	* libbalsa/rfc2445.c: we include stdlib.h unconditionally.
	
2009-02-16  Albrecht Dreß and Peter Bloomfield

	* src/balsa-message.c: (handle_mdn_request, create_mdn_reply,
	create_mdn_dialog, mdn_dialog_response): check all identities.
	* src/balsa-mime-widget-vcalendar.c: (vevent_reply): use
	smtp-server for attendee's identity.

2009-02-16  Albrecht Dreß

	* configure.in: detect the *time_r function declarations.
	* libbalsa/missing.h: HAVE_DECL_*TIME_R is always defined to a value.

2009-02-16  Albrecht Dreß and Paweł Sałek

	* src/main-window.c:
	  use g_(malloc|free) instead of malloc and free
	* src/sendmsg-window.c, src/ab-main.c, src/main.c:
	  add missing include of stdlib.h if it is available
	* configure.in: always define _XOPEN_SOURCE
	* libbalsa/missing.h: declare (local|gm|c)time_r if necessary
	* libbalsa/rfc2445.c: add proper casting macros, catch and convert
	\r\n line endings (iCal compatibility), work around iCal method
	parameter bug, fix crash on NULL pointers passed to conversion
	funcs.
	* libbalsa/filter-funcs.c: use glib for time conversion if available.
	* libbalsa/mailbox_imap.c: sync the cache when closing mbox.

2009-02-15  Peter Bloomfield

	* src/balsa-mime-widget-vcalendar.c: (balsa_vevent_widget,
	vevent_reply): check all identities.

2009-02-12  Peter Bloomfield

	* src/balsa-message.h: new member gint BalsaMessage::tab_position,
	the position of the tab for header values.
	* src/balsa-mime-widget.h: new member GtkWidget *
	BalsaMimeWidget::header_widget, pointer to the header widget for
	the message.
	* src/balsa-mime-widget-message.c: (balsa_mime_widget_new_message,
	balsa_mime_widget_new_message_tl, bm_header_widget_new,
	bmwm_set_tabs, add_header_gchar,
	balsa_mime_widget_message_set_headers, bmwm_buffer_set_prefs,
	balsa_mime_widget_message_set_headers_d): set the tab position 6
	pixels beyond the length of the longest header label; set user
	prefs for fonts and colors each time we render a message, in
	case prefs have changed.

2009-02-12  Inaki Larranaga Murgoitio  <dooteo@euskalgnu.org>

	* configure.in: Added 'eu' (Basque) to ALL_LINGUAS

2009-02-08  Albrecht Dreß

	* libbalsa/rfc2445.[hc]: Implement VCALENDAR and VEVENT objects.
	* src/balsa-mime-widget-vcalendar.[hc]:
	display vevent's, and the stuff for sending a text/calendar reply;
	* src/balsa-mime-widget.c: call functions to display text/calendar
	* src/balsa-print-object-text.[hc]:  support print these parts
	* src/balsa-print-object.c:: call functions to print text/calendar
	* src/balsa-message.c: make text/calendar the preferred part.
	* src/balsa-print-object-default.c: catch missing pixbuf
	* src/Makefile.am, libbalsa/Makefile.am: add new source files

2009-02-07  Albrecht Dreß

	* INSTALL: minimum gtk version upgraded, link cleanup (Incomplete!).
	* configure.in: Check min versions, new option for Mac OS X desktop,
	check for *time_r funcs, remove unnecessary check for iconv
	* src/filter-edit.h, src/balsa-index.c, src/balsa-mblist.c
	* src/mailbox-conf.c, src/filter-edit-dialog.c, src/pref-manager.c
	* src/address-book-config.c, libbalsa/misc.[hc]
	* libbalsa/libbalsa-conf.[hc], libbalsa/address.c, libbalsa/identity.c
	* src/filter-edit-callbacks.c:
	Assume we have Gtk+/glib >= 2.6.0
	* libbalsa/imap/imap_search.c:
	use GDate instead of localtime_r (avoid dependency to libbalsa)
	* libbalsa/rfc3156.c: use glib random func
	* libbalsa/Makefile.am, libbalsa/missing{_time.c,.h}:
	add system-dependent time_r funcs
	* src/main-window.c:
	Add basic Mac OS X menu integration, assume we have Gtk+/glib >= 2.6.0
	* src/sendmsg-window.c:
	Add basic Mac OS X menu integration, use g_strdup.
	* src/save-restore.[hc], libinit_balsa/assistant_page_defclient.[hc],
	* libinit_balsa/assistant_init.c:
	No Gnome default client without Gnome
	* src/toolbar-factory.c, src/main.c, src/Makefile.am
	Build without Gnome support
	* src/print-gtk.c: Mac OS X doesn't define _NL_MEASUREMENT_MEASUREMENT
	* src/balsa-icons.c:  Remove unnecessary include.
	* src/balsa-bonobo.[hc]: Only compiled if building with Gnome support
	* src/balsa-app.c:
	Gdk on Mac OS X cannot create a new colour map, fall back to system
	* src/ab-main.c:
	Build Gnome stuff only when available, assume we have Gtk+/glib >=
	2.6.0, add basic Mac OS X menu integration.

2009-02-07  Paweł Sałek

	* src/main-window.c: get rid of spurious new-mail notifications.

2009-01-25  Peter Bloomfield

	* libbalsa/mailbox_local.c: (lbm_local_restore_tree): check for
	stale cache file.
	* libbalsa/mailbox_mbox.c: (lbm_mbox_restore): ditto.

2009-01-24  Albrecht Dreß

	Small compatibility fixes

	* src/sendmsg-window.c: search for toplevel window, not for
	Gnome application;
	* libbalsa/send.c, libbalsa/imap/imap-handle.c: do not use
	strcasecmp which OS X apparently doesn't define;
	* libbalsa/rfc3156.c: use utf8-clean time conversion helper.

2009-01-23  Peter Bloomfield

	* src/main-window.c: use unique names in GtkActionGroup.
	* src/sendmsg-window.c: (sendmsg_window_ui_manager_new): ditto.

2009-01-23  Peter Bloomfield

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

2009-01-21  Peter Bloomfield

	* libbalsa/body.c: (libbalsa_message_body_get_part_stream,
	libbalsa_message_body_get_message_part_stream): new helpers;
	(libbalsa_message_body_get_stream): use them;
	(libbalsa_message_body_get_content,
	libbalsa_message_body_save_stream): set GError when returning
	error.
	* libbalsa/files.c: (libbalsa_default_attachment_pixbuf,
	libbalsa_icon_finder): remove unused GError.
	* src/balsa-mime-widget-callbacks.c:
	(balsa_mime_widget_ctx_menu_save): clear GError.

2009-01-20  Peter Bloomfield

	* libbalsa/body.c: (libbalsa_message_body_get_stream): check
	that we have a GMimePart;
	(libbalsa_message_body_save_stream): use
	libbalsa_message_body_stream_add_filter;
	* libbalsa/mailbox_imap.c: (libbalsa_mailbox_imap_get_msg_part):
	check for GMimeMultipart and GMimeMessagePart, as well as
	GMimePart.

2009-01-20  Peter Bloomfield

	* libbalsa/gmime-stream-gio.c: (stream_read, stream_write,
	stream_seek, stream_substream,
	g_mime_stream_gio_new_with_bounds): build on 32-bit box with
	GMime-2.2.
	* libbalsa/gmime-stream-gio.h: ditto.

2009-01-20  Peter Bloomfield

	Fix BUG - threading view and selecting, reported by Mario
	Mikocevic <mario.mikocevic t-com hr>
	(http://mail.gnome.org/archives/balsa-list/2009-January/msg00015.html)

	* src/balsa-index.h: new boolean BalsaIndex::collapsing.
	* src/balsa-index.c:
	(bndx_test_collapse_row_cb) new callback to set it;
	(bndx_tree_collapse_cb): clear it;
	(bndx_selection_changed): use it to manage preview;
	(bndx_instance_init) connect to "test-collapse-row" signal to
	set it;

2009-01-18  Paweł Sałek

	* NEWS, configure.in: release 2.3.28

2009-01-16  Peter Bloomfield

	* libbalsa/misc.c: (libbalsa_set_fallback_codeset): do not
	allocate and leak strings, now that bug #509434 has been fixed.
	* src/balsa-icons.c: (load_balsa_pixmap): free the icon_source.
	* src/save-restore.c: include stdlib.h.
	* src/sendmsg-window.c: (delete_handler, sendmsg_window_set_title):
	do not leak address list.

2009-01-16  Paweł Sałek

	* libbalsa/files.c: simplify conditional code.
	* libbalsa/mailbox_imap.c: the only way to make sure that the
	exist handler does not trigger imap operations and a related
	deadlock is to process it entirely in an idle handler. Fetch
	message data using seqnos, otherwise we can get surprising EXPUNGE
	notifications. 
	* libbalsa/imap/imap-handle.c: some imap servers send data in the
	same packet as the IDLE prompt. Process it immediately.

2009-01-15  Peter Bloomfield

	* src/print-gtk.c: (add_margin_spinbtn): do not leak string.

2009-01-10  Peter Bloomfield

	* src/main-window.c: fix string--marcel telka sk (fixes bug
	#567323).

2009-01-03  Peter Bloomfield

	* src/sendmsg-window.c: (send_message_handler): fix
	string--leonardof gnome org (fixes bug #566426).

2009-01-03  Peter Bloomfield

	* libbalsa/imap/imap-commands.c: (imap_mbox_thread): do not
	shadow-declare rc.

2009-01-03  Albrecht Dreß

	* libbalsa/html.c: (libbalsa_html_new): tell WebKit the charset.

2009-01-03  Peter Bloomfield

	* libbalsa/send.c: (libbalsa_create_rfc2440_buffer): use
	ngettext to handle plural--leonardof gnome org (fixes bug
	#566420).

2009-01-03  Peter Bloomfield

	* libbalsa/gmime-gpgme-context.c: (g_mime_gpgme_encrypt):
	clarify string--leonardof gnome org (fixes bug #566415).

2009-01-02  Albrecht Dreß

	* configure.in: prefer gio >= 2.16.0, fallback to gnome-vfs.
	* libbalsa/gmime-stream-gnome-vfs.[hc]: build only if using gnome-vfs 
	* libbalsa/files.[hc]: implement icon lookup for gio
	* libbalsa/libbalsa-vfs.[hc]:  add support for GIO
	* libbalsa/gmime-stream-gio.[hc]: gmime gio stream wrapper.
	* libbalsa/misc.c: remove unnecessary #include of gnome-vfs.h
	* libbalsa/Makefile.am: add gmime-stream-gio.[hc]

	* src/balsa-print-object-default.c: use libbalsa-vfs instead of
	gnome-vfs, enabling in this way a clean GIO usage.
	
	* src/sendmsg-window.c: call external editor through gio or gnome-vfs;
	use libbalsa-vfs helper to open attachment with external app;
	show description in attachment list
	* src/balsa-mime-widget-callbacks.[ch]: use libbalsa-vfs to open parts
	* src/balsa-mime-widget-text.c: use changed balsa-mime-widget-callbacks API.
	* src/ab-window.c: launch app using glib
	* src/balsa-message.c: use description instead of plain MIME type.
	* src/balsa-mime-widget.c: create a mime button via libbalsa-vfs.
	
2009-01-02  Paweł Sałek

	* src/main-window.c: report number of deleted message duplicates.
	* libbalsa/mailbox.[ch]: provide it.
	* libbalsa/imap-server.c: using binary fetches breaks integrity checks.

2008-12-30  Paweł Sałek

	* NEWS, configure.in: release 2.3.27

2008-12-30  Paweł Sałek

	* libbalsa/imap/imap_search.c: keep ImapHandle locked when searching.
	* libbalsa/imap/imap-handle.c: .. and when switching to IDLE mode.
	* libbalsa/imap/imap-commands.c: and when threading and sorting.

2008-12-27  Paweł Sałek and Peter Bloomfield

	* src/balsa-mime-widget-message.c: call balsa_message_save_part()
	from header context menu.
	* src/balsa-message.[ch]: implement balsa_message_save_part().
	Call it from the "Message parts" tab.
	* libbalsa/mailbox_imap.c: mark GMimeMessagePart as saveable as well.
	* libbalsa/mailbox_local.c: ditto.
	* libbalsa/body.c: GMime streams for MessageParts have to be
	created in a particular way.

2008-12-24  Paweł Sałek

	* src/balsa-mblist.c: there are no unread mailboxes at destroy time.
	* src/balsa-message.c: display an interesting case of
	multipart/related embedded in a multipart/alternative.

2008-12-24  Peter Bloomfield

	* src/mailbox-node.c: (balsa_mailbox_node_rescan): handle rescan
	of whole tree (mn == NULL).

2008-12-24  Peter Bloomfield

	* src/balsa-app.c: (balsa_app_destroy): do not empty trash--it's
	too late.
	* src/main-window.c: in notebook-switch-page callback, check if
	Balsa is quitting.
	* src/save-restore.c: (sr_special_notify, config_mailbox_init):
	weak-ref special mailboxes, and at notify time, if Balsa is
	quitting, empty the trash.

2008-12-21  Paweł Sałek

	* configure.in: we require gnome-keyring >= 1.0
	Remove some of the race conditions as found with helgrind.
	* src/balsa-app.c: do not manually destroy widgets.
	* src/main.c: cleanup explicitly before exit from main, no signals
	needed.
	* libbalsa/mailbox_{imap,local}.c: lock mailbox.
	* libbalsa/mailbox.c: keep the lock a bit longer.
	* libbalsa/libbalsa.c: preregister more object types.
	* libbalsa/imap/imap-{commands,handle}.c: lock the handle.

2008-12-20  Peter Bloomfield

	button for MDN in message composition toolbar (Jean-Luc Coulon)

	* src/balsa-icons.h: define new icon.
	* src/balsa-icons.c: (register_balsa_pixmaps): register it as
	"stock_mail-reply".
	* src/toolbar-factory.c: list it with short label.
	* src/sendmsg-window.c: use it with tooltip.

2008-12-14  Paweł Sałek

	* src/main-window.c: Add ability to display recent messages only.
	* libbalsa/imap-server.c: give more details in error messages.
	* libbalsa/imap/imap-handle.c: ditto.
	* libbalsa/imap/imap-commands.[ch]: Add "peek" argument to 
	imap_mbox_handle_fetch_rfc822().
	
2008-12-06  Peter Bloomfield

	rewrite of libbalsa_insert_with_url

	* libbalsa/mime.c: (libbalsa_unwrap_buffer, mark_urls,
	prescanner, libbalsa_html_encode_hyperlinks):
	pass string length to prescanner;
	(get_ml_url_reg): make sure the url ends with a real url
	character;
	(libbalsa_insert_with_url): avoid allocating and freeing
	strings.
	* libbalsa/misc.h: new signature for libbalsa_url_cb_t.
	* src/balsa-mime-widget-text.c: (balsa_mime_widget_new_text):
	avoid allocating and freeing strings;
	(url_found_cb): new signature for libbalsa_url_cb_t.
	* src/sendmsg-window.c: (edit_with_gnome_check,
	repl_identity_signature, insert_selected_messages,
	drag_data_quote, continue_body, fill_body_from_part,
	insert_signature_cb, sendmsg_window_set_field,
	do_insert_string_select_ch, insert_file_response,
	sw_wrap_body, sendmsg_window_new_from_list): use
	gtk_text_buffer_insert_at_cursor instead of
	libbalsa_insert_with_url.

2008-12-03  Peter Bloomfield

	* libbalsa/html.c: (lbh_size_request_cb, libbalsa_html_new): use
	gtk_widget_set_scroll_adjustments instead of a signal; dynamic
	cast once instead of many times.

2008-12-01  Peter Bloomfield

	Initial experimental support for WebKit.

	* configure.in: configure it.
	* libbalsa/html.c: (lbh_hovering_over_link_cb,
	lbh_size_request_cb, lbh_navigation_requested_cb,
	libbalsa_html_new, libbalsa_html_to_string,
	libbalsa_html_can_zoom, libbalsa_html_zoom,
	libbalsa_html_can_select, libbalsa_html_select_all,
	libbalsa_html_copy, lbh_new): new conditional section; new api
	needed, because WebKitWebView has different signals and is not a
	subclass of GtkLayout.
	* libbalsa/html.h: new api.
	* src/balsa-mime-widget-text.c: (pointer_over_url,
	bm_widget_on_url, bm_widget_link_clicked, bm_widget_new_html):
	adapt to new api.

2008-11-22  Albrecht Dreß

	Use only static format strings.

	* libbalsa/libbalsa-vfs.c: (libbalsa_vfs_create_stream),
	(libbalsa_vfs_file_unlink):
	* libbalsa/send.c: (libbalsa_message_create_mime_message):
	* src/ab-main.c: (ab_warning):
	* src/sendmsg-window.c: (check_suggest_encryption),
	(send_message_handler):
	* src/store-address.c: (store_address_from_entries):

2008-11-22  Peter Bloomfield

	* libinit_balsa/assistant_init.c: include stdlib.h.
	* libinit_balsa/assistant_page_directory.c: ditto.
	* src/balsa-app.c: ditto.
	* src/balsa-mime-widget-text.c: ditto.
	* src/spell-check.c: ditto.

2008-11-22  Peter Bloomfield

	* libbalsa/html.h: work around gtkhtml2's use of deprecated api.

2008-11-22  Peter Bloomfield

	disable deprecated apis only in svn tree (fixes bug #561875).

	* configure.in:
	* libbalsa/Makefile.am: 
	* libinit_balsa/Makefile.am:
	* src/Makefile.am:

2008-11-21  Paweł Sałek

	* src/save-restore.c: connect signal to ask interactively for SMTP
	passwords.
	* src/balsa-app.c: display the type of the password (imap/smtp).
	* libbalsa/smtp-server.c: ask for password when one needs one.

2008-11-19  Paweł Sałek

	* configure.in: detect gnome-keyring-2.24 to work around bug 556530.
	* libbalsa/{imap-,}server.c: store passwords asap to keyring (Peter B.).
	* libbalsa/server.h: use own schema only with buggy gnome-keyring.

2008-11-17  Peter Bloomfield

	* src/main-window.c: make "about" website clickable.

2008-11-17  Paweł Sałek

	* src/{folder,mailbox}-conf.c: capitalize according to HID.
	* src/{balsa-app,pref-manager}.c: ditto.
	* libbalsa/identity.c: ditto.
	* configure.in: gnome-keyring detection.
	* libbalsa/smtp-server.c: store server protocol.
	* libbalsa/imap-server.c: read password from keyring.
	* libbalsa/server.[ch]: ditto.

2008-11-16  Paweł Sałek

	* src/balsa-mime-widget-{message,text}.c: fall back to gnome_url_Show
	if gtk2 >= 2.14.0 is unavailable.
	* src/sendmsg-window.c: ditto.

2008-11-15  Peter Bloomfield

	Use gtk_show_uri instead of gnome_help_display and
	gnome_url_show, in various places; no longer need to include
	<gnome.h> in as many places.

	* libbalsa/identity.c: (help_ident_cb): replace
	gnome_help_display and gnome_url_show with gtk_show_uri.
	* libbalsa/smtp-server.c: (smtp_server_response): ditto.
	* src/address-book-config.c: (help_button_cb): ditto.
	* src/balsa-message.c: ditto.
	* src/balsa-mime-widget-callbacks.c: ditto.
	* src/balsa-mime-widget-message.c: (extbody_call_url): ditto.
	* src/balsa-mime-widget-text.c: (handle_url),
	(balsa_gtk_html_link_clicked): ditto.
	* src/filter-edit-callbacks.c: (condition_dialog_response),
	(fe_dialog_response): ditto.
	* src/filter-run-callbacks.c: (fr_dialog_response): ditto.
	* src/folder-conf.c: (folder_conf_response): ditto.
	* src/main-window.c: ditto.
	* src/message-window.c: ditto.
	* src/pref-manager.c: (balsa_help_pbox_display): ditto.
	* src/sendmsg-window.c: (on_open_url_cb): ditto.
	* src/toolbar-prefs.c: (tp_dialog_response_cb): ditto.
	* src/balsa-app.h: do not include <gnome.h>
	* src/balsa-index.h: ditto.
	* src/balsa-message.h: ditto.
	* src/spell-check.c: ditto.
	* src/spell-check.h: ditto.
	* src/balsa-mime-widget.h: ditto.
	* libbalsa/body.h: include <sys/stat.h>.

2008-11-14  Peter Bloomfield

	* libbalsa/address-book.c: include only top level <gtk/gtk.h>.
	* libbalsa/address-view.h: ditto.
	* libbalsa/cell-renderer-button.h: ditto.
	* libbalsa/information.c: ditto.
	* src/balsa-cite-bar.h: ditto.

2008-11-08  Paweł Sałek

	* configure.in: replace --without-gnome with --with-gnome to reduce 
	confusion described on the web site.
	* doc/balsa.omf.in: fix #559825.

2008-10-14  Peter Bloomfield & Pawel Salek

	* bootstrap.sh: run gnome-doc-prepare.
	* src/Makefile.am: clean generated IDL files.
	* doc/C/balsa.xml: follow DTD.
	* doc/Makefile.am: use new gnome-doc format.
	* sounds/Makefile.am: clean up generated files.
	* configure.in: detect gnome-doc
	* Makefile.am: adapt to gnome-doc.

2008-10-12  Petr Kovar  <pknbe@volny.cz>

	* configure.in: Added "be" and "mk" to ALL_LINGUAS.

2008-10-09  Peter Bloomfield

	* src/main-window.c: smaller notebook tab button.

2008-10-08  Peter Bloomfield

	* src/main-window.c: update the magic number.

2008-10-03  Mario Blättermann <mariobl@svn.gnome.org>

	* doc/de/*: Added partial German translation
	* doc/Makefile.am: Added de to the translation subdirs

2008-09-28  Peter Bloomfield

	* libbalsa/mailbox_mbox.c: turn off debugging.

2008-09-22  Peter Bloomfield

	* src/pref-manager.c: (checking_group, misc_group,
	deleting_messages_group): GtkAdjustment::page_size must be zero
	when the GtkAdjustment is used in a GtkSpinButton.

2008-09-15  Peter Bloomfield

	* libbalsa/mailbox_mbox.c: (lbm_mbox_stream_seek_to_message):
	fix stupid comparison.

2008-09-15  Peter Bloomfield

	* libbalsa/mailbox_mbox.c: (lbm_mbox_stream_seek_to_message):
	do not trash stack.

2008-09-15  Peter Bloomfield

	* libbalsa/mailbox_mbox.c: (lbm_mbox_stream_seek_to_message,
	libbalsa_mailbox_mbox_check): cast off_t and ssize_t to long in
	calls to g_print.

2008-09-14  Peter Bloomfield

	* libbalsa/mailbox_mbox.c: (lbm_mbox_stream_seek_to_message):
	better debugging.

2008-09-14  Paweł Sałek

	* src/balsa-index.c: process messages with external program -
	asynchronously.

2008-09-14  Peter Bloomfield

	* libbalsa/body.c:
	(libbalsa_message_body_get_stream): fail if message has no mailbox.
	* libbalsa/mailbox_mbox.c:
	(free_message_info, free_messages_info): plug memory leak;
	(lbm_mbox_stream_seek_to_message, libbalsa_mailbox_mbox_open,
	libbalsa_mailbox_mbox_sync): debugging output;
	(libbalsa_mailbox_mbox_check): ditto; more careful check for
	new mail.
	* src/balsa-mime-widget-text.c:
	(balsa_mime_widget_new_text): check for NULL part.
	* src/balsa-print-object-text.c:
	(balsa_print_object_text_vcard): ditto
	* src/sendmsg-window.c:
	(fill_body_from_part, bsm_finish_setup): ditto.

2008-09-13  Peter Bloomfield

	* src/balsa-icons.c: (load_balsa_pixmap): add more fallbacks to
	cope with woeful gnome-icon-theme-2.23+; use
	GTK_STOCK_MISSING_IMAGE when all else fails, to avoid Gtk
	warnings.

2008-09-09  Peter Bloomfield

	Gtk 2.14 deprecation cleanup

	* libbalsa/mailbox.c: (mbox_set_sort_func),
	(mbox_set_default_sort_func):
	* libbalsa/source-viewer.c: (libbalsa_show_message_source):
	* libinit_balsa/assistant_page_user.c:
	(balsa_druid_page_user_init):
	* libinit_balsa/balsa-druid-page-user.c:
	(balsa_druid_page_user_init):
	* src/ab-window.c: (balsa_ab_window_get_type):
	* src/ab-window.h:
	* src/balsa-cite-bar.c: (balsa_cite_bar_class_init):
	* src/balsa-index.c: (balsa_index_get_type), (bndx_class_init),
	(bndx_popup_menu_create), (create_stock_menu_item):
	* src/balsa-index.h:
	* src/balsa-mblist.c: (balsa_mblist_get_type):
	* src/balsa-mblist.h:
	* src/balsa-message.c: (balsa_message_get_type),
	(tree_mult_selection_popup), (add_to_attachments_popup),
	(add_toggle_inline_menu_item):
	* src/balsa-message.h:
	* src/balsa-mime-widget.h:
	* src/filter-edit-callbacks.c: (build_type_notebook):
	* src/mailbox-conf.c: (run_mailbox_conf), (mailbox_conf_new),
	(create_local_mailbox_dialog), (create_pop_mailbox_dialog),
	(create_imap_mailbox_dialog):
	* src/mailbox-conf.h:
	* src/mailbox-node.c: (add_menu_entry),
	(balsa_mailbox_node_get_context_menu):
	* src/main-window.c:
	* src/main-window.h:
	* src/sendmsg-window.c: (add_attachment), (add_urlref_attachment),
	(bsmsg_check_format_compatibility):
	* src/spell-check.c: (balsa_spell_check_get_type),
	(balsa_spell_check_class_init):
	* src/spell-check.h:

2006-09-07  Paweł Sałek

	* libbalsa/imap/imap-handle.c: don't g_source_remove() twice.
	* NEWS, configure.in: release 2.3.26.

2006-09-06  Paweł Sałek

	* src/balsa-bonobo.c: raise main window after receiving Bonobo cmds.
	* src/balsa-app.c: add some HIG padding in the password dialog.
	* src/balsa-message.c: specify parent for the MDN dialog.
	* balsa.spec.in: merge minor fixes from Fedora's spec.
	* libbalsa/imap/imap-handle.c: process HUPs on idle IMAP connections.

2008-08-28  Albrecht Dreß

	specify a key id for an identity

	* doc/C/balsa.xml: document it.
	* libbalsa/gmime-gpgme-context.c: (get_key_from_name):
	check whether it's a name or an id.
	* libbalsa/identity.c: (libbalsa_identity_init,
	libbalsa_identity_finalize, setup_ident_frame,
	ident_dialog_update, display_frame_update,
	libbalsa_identity_new_config, libbalsa_identity_save): new entry
	for forced key id.
	* libbalsa/identity.h: new member for forced key id.
	* libbalsa/message.c: (libbalsa_message_init,
	libbalsa_message_finalize): ditto.
	* libbalsa/message.h: ditto.
	* libbalsa/send.c: (lb_send_from): use it.
	* src/sendmsg-window.c: (bsmsg2message): set it.

2008-08-24  Peter Bloomfield

	* src/main-window.c: simplify get-toolbar and ui-manager.
	* src/main-window.h: ditto.
	* src/message-window.c: (message_window_ui_manager_new,
	message_window_get_toolbar_model, message_window_new): ditto.
	* src/message-window.h: ditto.
	* src/pref-manager.c: (apply_prefs): ditto.
	* src/sendmsg-window.c: (sendmsg_window_ui_manager_new,
	sendmsg_window_get_toolbar_model, sendmsg_window_new): ditto.
	* src/sendmsg-window.h: ditto.
	* src/toolbar-prefs.c: (customize_dialog_cb): ditto.

2008-08-23  Peter Bloomfield

	* libbalsa/mime.c: (libbalsa_wrap_view, libbalsa_unwrap_buffer):
	no more soft newlines.
	* libbalsa/misc.h: remove libbalsa_prepare_delsp.
	* src/balsa-mime-widget-text.c: (balsa_mime_widget_new_text):
	no soft-newline tag.
	* src/sendmsg-window.c: (create_text_area): no soft-newline tag;
	(bsmsg2message): remove libbalsa_prepare_delsp.

2008-08-20  Peter Bloomfield

	* libbalsa/mime.c: (dowrap_rfc2646): do not append a space after
	a trailing tab when format=flowed.

2008-08-20  Peter Bloomfield

	* src/balsa-mime-widget-text.c: (balsa_mime_widget_new_text):
	plug memory leak.

2008-08-20  Peter Bloomfield

	* src/sendmsg-window.c: (bsmsg2message): pass the message to
	sw_wrap_body even if it is flowed, so that
	libbalsa_unwrap_buffer will remove whitespace preceding a hard
	newline.

2008-08-03  Peter Bloomfield

	* libbalsa/send.c: (lbs_list_n_addresses): count the addresses
	in an InternetAddressList;
	(lbs_process_queue): handle a message with a single Bcc: holder
	and no other recipients.

2008-08-03  Peter Bloomfield

	* src/sendmsg-window.c: (find_locale_index_by_locale): return -1
	if locale is not found;
	(create_lang_menu): default spell-check language to first item
	in menu, when balsa_app.spell_check_lang is not found;
	(sendmsg_window_continue): find_locale_index_by_locale is
	now signed.

2008-08-03  Peter Bloomfield

	* libbalsa/body.c: (libbalsa_message_body_set_message_part):
	handle NULL value from g_mime_message_part_get_message.

2008-07-30  Paweł Sałek

	* libbalsa/gmime-part-rfc2440.c: wrapper is not guaranteed to exist.
	* libbalsa/gmime-application-pkcs7.c: ditto.
	* libbalsa/body.c: ditto.
	* libbalsa/mailbox_imap.c: remove cache file if download failed.

2008-07-02  Peter Bloomfield

	* libbalsa/address.c: (vcard_strsplit): skip empty fields;
	(libbalsa_address_new_from_vcard): return NULL if the we do not
	find a complete vCard with at least one address.
	* src/balsa-mime-widget-text.c: (balsa_mime_widget_new_text):
	check text/directory as well as text/x-vcard; check for NULL
	return value;
	(bm_widget_new_vcard): return NULL if
	libbalsa_address_new_from_vcard returns NULL.
	* src/balsa-print-object-text.c:
	(balsa_print_object_text_vcard): print broken text/x-vcard and
	non-vcard text/directory parts as text/plain instead of default.
	* src/balsa-print-object.c:
	(balsa_print_objects_append_from_body): check text/directory as
	well as text/x-vcard.

2008-06-17  Peter Bloomfield

	* libbalsa/mailbox.c: (lbm_cache_message,
	libbalsa_mailbox_get_message, lbm_get_index_entry_real,
	lbm_get_index_entry, libbalsa_mailbox_cache_message): cache
	message info for the display at get-message time.
	* libbalsa/mailbox_mbox.c: (parse_mailbox): remove redundant
	call to libbalsa_mailbox_cache_message.

2008-06-17  Peter Bloomfield

	* libbalsa/libbalsa_private.h: scrap unused cache-unseen-child
	code.
	* libbalsa/mailbox.c: (lbm_index_entry_populate_from_msg,
	lbm_node_has_unseen_child, lbm_msgno_changed,
	lbm_set_threading, mbox_model_get_value): ditto.

2008-06-14  Paweł Sałek

	* NEWS, configure.in: release 2.3.25.

2008-06-12  Peter Bloomfield

	* libbalsa/mailbox_mbox.c: (lbm_mbox_header_cb, parse_mailbox),
	libbalsa_mailbox_mbox_sync): declare GMimeParserHeaderRegexFunc
	callback properly, and do not cast references to it.

2008-06-11  Paweł Sałek

	* libbalsa/imap/imap-handle.c: detect disconnect on write.
	* src/ab-main.c: add "Delete Entry" menu entry.

2008-06-05  Peter Bloomfield

	New method libbalsa_mailbox_index_entry_clear to avoid using
	libbalsa_mailbox_cache_message with a NULL message to clear the
	index entry.

	* libbalsa/mailbox.h: remove
	libbalsa_mailbox_index_entry_free--no need to export;
	new method libbalsa_mailbox_index_entry_clear.
	* libbalsa/mailbox.c: (lbm_index_entry_free,
	libbalsa_mailbox_index_entry_clear,
	libbalsa_mailbox_free_mindex, libbalsa_mailbox_msgno_removed):
	replace public
	libbalsa_mailbox_index_entry_free with static
	lbm_index_entry_free; new public method
	libbalsa_mailbox_index_entry_clear;
	(libbalsa_mailbox_cache_message): require a non-NULL message.
	* libbalsa/mailbox_imap.c: (imap_exists_cb): use
	libbalsa_mailbox_index_entry_clear.

2008-06-04  Peter Bloomfield

	* libbalsa/mime.c: (process_mime_part): quote a flowed message
	as flowed.

2008-06-04  Peter Bloomfield

	* src/balsa-mime-widget-message.c: (add_header_gchar): look
	further into the value, to make sure we detect a long header
	field.

2008-06-02  Peter Bloomfield

	* src/balsa-mime-widget-message.c: (bm_header_widget_new,
	add_header_gchar): let GtkTextView wrap headers.

2008-06-01  Peter Bloomfield

	* src/main-window.c: tighten code.
	* src/message-window.c: (mw_header_activate): do not change
	balsa-app.shown_headers.
	(show_all_headers_tool_cb): tighten code.

2008-06-02  Pawel Salek

	* libbalsa/imap/imap-handle.c: be more robust to servers returning
	resposes in a changed order. Handle GMail's wrong BODYSTRUCTURE
	response.
	* libbalsa/imap/imap_private.h: define ImapFetchBodyType to detect
	changed response order.
	* libbalsa/imap/imap-commands.c: detect changed response order.

2008-06-01  Peter Bloomfield

	* src/balsa-message.h: remove unused member show_all_headers.
	* src/balsa-message.c: (balsa_message_init): do not init it.
	* src/balsa-mime-widget-message.c: (add_header_gchar,
	add_header_address_list,
	balsa_mime_widget_message_set_headers_d): do not test it.

2008-06-01  Peter Bloomfield

	Make the new mail tray icon optional.

	* src/balsa-app.h: new member notify_new_mail_icon.
	* src/balsa-app.c: (balsa_app_init): initialize it to 1.
	* src/main-window.c: test it.
	* src/pref-manager.c: (open_preferences_manager, apply_prefs,
	set_prefs, checking_group): manage it.
	* src/save-restore.c: (config_global_load, config_save): load
	and save it.

2008-06-01  Peter Bloomfield

	* src/main-window.c: reassign icons to get "Expunge" as a
	toolbar option.
	* src/toolbar-factory.c: change labels accordingly.

2008-06-01  Pawel Salek

	* src/balsa-mime-widget-message.c: truncate long headers when
	"view selected" is chosen.

2008-05-31  Pawel Salek

	* configure.in, NEWS: release 2.3.24

2008-05-25  Albrecht Dreß

	Offer the option of sending a new message with both text/plain
	and text/html versions, specifically to avoid right-to-left text
	being mangled by text-to-html converters. The option is
	per-identity.

	* libbalsa/body.h: new member for html version.
	* libbalsa/body.c: (libbalsa_message_body_new,
	libbalsa_message_body_free): manage it.
	* libbalsa/identity.h: new member for option.
	* libbalsa/identity.c: (libbalsa_identity_init,
	libbalsa_identity_set_send_mp_alternative, setup_ident_frame,
	ident_dialog_update, display_frame_update,
	libbalsa_identity_new_config, libbalsa_identity_save): manage
	the option.
	* libbalsa/misc.h: new methods for html version.
	* libbalsa/mime.c: (libbalsa_html_encode_hyperlinks,
	libbalsa_text_to_html): implement them.
	* libbalsa/send.c: (add_mime_body_plain,
	libbalsa_message_create_mime_message,
	libbalsa_create_rfc2440_buffer): create multipart/alternative
	message with text/plain and text/html parts.
	* src/sendmsg-window.h: new member for html option.
	* src/sendmsg-window.c: (update_bsmsg_identity,
	sendmsg_window_new, sendmsg_window_continue, bsmsg2message,
	send_message_handler, message_postpone, toggle_mp_alt_cb):
	manage and act on the option.

2008-05-17  Peter Bloomfield

	* libbalsa/message.c:
	(libbalsa_message_load_envelope_from_stream): crlf-filter the
	stream; detect end-of-file by failed read instead of
	g_mime_stream_eos.

2008-04-29  Peter Bloomfield

	* src/sendmsg-window.c: (create_lang_menu): fix whining from
	Enchant via GtkSpell.

2008-04-28  Peter Bloomfield

	* src/sendmsg-window.c: use GTK_STOCK_EDIT for "Edit with Gnome".
	* src/toolbar-factory.c: add it to the legal toolbar buttons.

2008-04-28  Peter Bloomfield

	* src/balsa-index.c: (balsa_index_select_all): emit changed
	signal; (balsa_index_count_selected_messages): new method.
	* src/balsa-index.h: new method
	balsa_index_count_selected_messages.
	* src/main-window.c: use it to manage menu item sensitivity.
	* src/main-window.h: subdivide GtkActionGroups.

2008-04-25  Pawel Salek

	* libbalsa/mailbox_imap.c: create header even for empty parts.

2008-04-25  Albrecht Dreß

	* src/balsa-mime-widget-message.c: use URIs instead of paths.
	* src/sendmsg-window.[ch]: use gnome-vfs for attachment reading.
	* src/balsa-mime-widget-callbacks.c: ditto.
	* src/balsa-message.c: allow saving to URIs.
	* src/main.c: -o flag accepts an URI now.
	* src/information-dialog.h: add argument checking.
	* libbalsa/misc.[hc]: return more detailed error information.
	* libbalsa/body.h: store attachment URIs.
	* libbalsa/send.[ch]: handle errors when reading from URIs.
	* libbalsa/files.[ch]: file access operations use URIs now.
	* libbalsa/misc.c: move some functions to libbalsa-vfs.c
	* libbalsa/body.c: part operations accept URIs now.

2008-04-22  Pawel Salek

	* src/balsa-app.c: format=flowed by default.
	* libinit_balsa/assistant_page_user.[ch]: guess more stuff.
	* libinit_balsa/assistant_init.c: we have new code already, keep
	it silent.

2008-04-21  Peter Bloomfield

	* libbalsa/misc.h: if !USE_REGEX is enough.

2008-04-21  Peter Bloomfield

	* configure.in: implement --enable-gregex (default=no); change
	default for --enable-pcre to no.
	* libbalsa/filter-funcs.c: (libbalsa_condition_regex_free):
	condition on USE_REGEX.
	* libbalsa/filter-private.h: ditto.
	* libbalsa/mime.c: (mark_urls, libbalsa_insert_with_url,
	libbalsa_unwrap_selection): ditto.
	* libbalsa/misc.h: ditto.
	* src/balsa-app.c: ditto.
	* src/balsa-app.h: ditto.
	* src/balsa-mime-widget-text.c: (balsa_mime_widget_new_text):
	ditto.
	* src/balsa-print-object-text.c:
	(balsa_print_object_text_plain): ditto.
	* src/print.c: (print_wrap_body): ditto.
	* src/quote-color.c: (is_a_quote): ditto.
	* src/quote-color.h: ditto.
	* src/sendmsg-window.c: (reflow_selected_cb): ditto.
	* src/spell-check.c: (balsa_spell_check_start,
	balsa_spell_check_destroy, next_word): ditto.

2008-04-19  Peter Bloomfield

	* libbalsa/message.c: (lbmsg_set_header): scrap remaining
	warnings.

2008-04-12  Peter Bloomfield

	* libbalsa/mailbox_maildir.c: (lbm_maildir_parse_subdirs,
	libbalsa_mailbox_maildir_sync): make sure the tree is saved
	after reparsing subdirs.

2008-04-09  Pawel Salek

	* src/sendmsg-window.c: make postpone button and menu entry work.
	* libbalsa/message.c: do not complain when setting headers->from again.
	* libbalsa/imap/imap-handle.[ch]: make set_timeout() return the
	old value.
	* libbalsa/imap/imap_private.h: add HANDLE_TRYLOCK macro.
	* libbalsa/imap/imap-commands.c: use it for noop().

2008-04-06  Pawel Salek

	* libbalsa/imap/imap-handle.h: fix that macro.

2008-04-06  Pawel Salek

	* libbalsa/mailbox_imap.c: initalise ImapSequence data.
	* libbalsa/imap/imap-handle.h: provide a macro for that purpose.

2008-04-03  Pawel Salek

	* libbalsa/mailbox_imap.c: don't print warnings on copy when
	UIDPLUS is unavailable. Better code reuse.
	* libbalsa/message.c: don't modify invariants.

2008-04-02  Ildar Mulyukov <ildar at altlinux dot ru>

	* src/sendmsg-window.c: Some RU/KZ locales fixes.

2008-04-01  Pawel Salek

	* libbalsa/mailbox_imap.c: use UIDPLUS information returned by server
	to improve caching.
	* libbalsa/imap/imap-handle.[ch]: parse returned UIDPLUS data.
	* libbalsa/imap/imap_private.h: add ImapMboxHandle::uidplus field.
	* libbalsa/imap/imap-commands.[ch]: add API for accessing UIDPLUS data.

2008-03-31  Pawel Salek

	* src/spell-check.h: remove lingering reference to pspell.h
	* balsa.spec.in: update to modern standards.

2008-03-30  Peter Bloomfield

	* src/filter-edit-callbacks.c: (fill_condition_widgets): fix a
	critical warning.

2008-03-29  Jean-Luc Coulon

	* doc/C/balsa.xml: fix typos.

2008-03-26  Peter Bloomfield

	* src/balsa-message.c: (add_toggle_inline_menu_item): clear
	force-inline when we create a new check-box.

2008-03-25  Pawel Salek

	* src/balsa-index.c: pass "peek" parameter to get_message_stream().
	* libbalsa/{message,source-viewer}.c: ditto.
	* libbalsa/mailbox.[ch]: get_message_stream() has "peek" parameter now.
	* libbalsa/mailbox_{mh,mbox,maildir}.c: make related trivial changes.
	* libbalsa/mailbox_imap.c: pass "peek" further to save one RTT.

2008-03-20  Peter Bloomfield

	* src/balsa-message.c: (bm_find_again): actually show "Wrapped".

2008-03-20  Pawel Salek

	* libbalsa/imap/imap_search.[ch]: make it easier to explicitly
	select message sets for searching.
	* libbalsa/imap/imap-handle.c: put coalesce routines back here.
	* libbalsa/imap/imap-handle.h: move search functions to imap_search.h
	* libbalsa/imap/imap_private.h: declare coalesce routines here.
	* libbalsa/imap/imap-commands.c: remove coalesce routines.

2008-03-20  Peter Bloomfield

	* libbalsa/misc.{c,h}: (libbalsa_path_is_below_dir): careful
	check for a file being below a directory.
	* src/mailbox-conf.c: (mailbox_conf_add): use it.
	* src/mailbox-node.c: (check_local_path): ditto.
	* src/save-restore.c: (config_mailbox_set_as_special): ditto.
	* src/sendmsg-window.c: (render_attach_size): use
	g_format_size_for_display.
	* libinit_balsa/assistant_page_directory.c:
	(balsa_druid_page_directory_prepare): use g_build_filename.

2008-03-20  Pawel Salek

	* src/main-window.c: Fix a runtime warning.
	* configure.in, NEWS: release 2.3.23
	* doc/C/balsa.xml: document Face and X-Face headers.

2008-03-19  Albrecht Dreß

	* doc/C/balsa.xml: document crypto in help file for composer and
	identities dialogs.

2008-03-16  Pawel Salek

	* src/balsa-mime-widget-text.c: plug a leak if gtkhtml disabled.
	* libbalsa/mailbox_mbox.c: release all resources before disposing
	the mailbox.
	* libbalsa/message.c (lbmsg_set_header): plug a leak.
	
2008-03-11  Peter Bloomfield

	* libbalsa/mime.c: (mark_urls, libbalsa_insert_with_url): plug
	leaks, and clean up conditional code.

2008-03-09  Pawel Salek

	* src/ab-main.c: trying out alternative address book layout.
	* libbalsa/{address,address-book-ldif}.c: plug some memory leaks.

2008-03-09  Albrecht Dreß

	* libbalsa/rfc3156.c: (gpg_keyserver_op, check_gpg_child): add
	"refresh" as an alternative action to "import".
	* libbalsa/rfc3156.h: add gpg_keyserver_action_t enum for
	actions.
	* src/balsa-mime-widget-crypto.c:
	(balsa_mime_widget_signature_widget, on_gpg_key_button):
	implement "refresh" button.

2008-03-03  Pawel Salek

	* libbalsa/mailbox_imap.c: peek only into mailboxes, do no trigger
	implicit \seen flag toggling.
	* libbalsa/imap/imap-handle.c: recognize BODY[TEXT].
	* libbalsa/imap/imap-commands.[ch]: add peek argument.

2008-03-03  Peter Bloomfield

	* libbalsa/mailbox.c: (libbalsa_mailbox_messages_change_flags):
	do not crash when mindex == NULL.

2008-03-02  Peter Bloomfield

	* src/balsa-index.c: (bndx_instance_init): remember
	selection-changed signal handler id.
	(balsa_index_select_all): select all messages without previewing
	any.
	* src/balsa-index.h: new member and method.
	* src/main-window.c: use balsa_index_select_all.

2008-02-27  Peter Bloomfield

	* libbalsa/mailbox.c: (libbalsa_mailbox_set_view_filter):
	remember if the view needs to be updated.
	* libbalsa/mailbox.h: new member.

2008-02-27  Peter Bloomfield

	* libbalsa/mailbox.c: (libbalsa_mailbox_changed): allow for
	default count (== -1).
	* libbalsa/mailbox_imap.c: (lbm_imap_check): get UNREAD count
	instead of RECENT.
	* src/balsa-mblist.c: (bmbl_sort_idle,
	balsa_mblist_mailbox_node_append): inhibit sorting while
	building the tree, to avoid quadratic cost; prepend to tree
	instead of appending, for the same reason.
	* src/balsa-mblist.h: new members for sorting.
	* src/mailbox-node.c: (add_local_mailbox): respect
	subscribe-for-new-mail setting.
	* src/sendmsg-window.c: (update_bsmsg_identity): hide reply-to
	widget if we showed it temporarily.

2008-02-24  Peter Bloomfield

	* src/balsa-index.c: (bndx_popup_position_func, bndx_do_popup):
	add a popup-position func.

2008-02-24  Peter Bloomfield

	* libbalsa/imap/imap-handle.c: (ir_fetch_seq): compile with
	gcc-4.3.
	* src/main.c: (balsa_handle_automation_options): ditto.

2008-02-22  Peter Bloomfield

	* src/filter-edit-callbacks.c: (fe_typesmenu_cb,
	condition_validate, clear_condition_widgets,
	fill_condition_widgets, build_type_notebook): do not offer regex
	filter.
	* src/save-restore.c: (view_by_url_prefix, save_view,
	config_view_remove): new public function to remove a
	mailbox-view.
	* src/save-restore.h: ditto.
	* src/mailbox-conf.c: (mailbox_conf_delete): remove filters and
	the view.

2008-02-18  Peter Bloomfield

	* libbalsa/filter-funcs.c: (libbalsa_condition_compare): check
	for equality.

2008-02-18  Peter Bloomfield

	* src/balsa-message.c: (bm_find_entry_changed_cb,
	bm_find_again): use GtkSourceIter's case-insensitive search
	capability, if available.

2008-02-17  Peter Bloomfield

	* libbalsa/filter-funcs.c: (libbalsa_condition_compare): allow
	NULL conditions.
	* libbalsa/mailbox.c: (libbalsa_mailbox_set_view_filter): update
	only if the new filter is a real change.

2008-02-17  Peter Bloomfield

	* src/message-window.c: (mw_find_in_message_cb): add UI for
	find-in-message.

2008-02-14  Peter Bloomfield

	* src/main-window.c: fix a comment.

2008-02-14  Peter Bloomfield

	* src/main-window.c: block the correct signal handler.

2008-02-10  Albrecht Dreß

	* libbalsa/rfc3156.[hc]: libbalsa_can_encrypt_for_all().
	* libbalsa/identity.[ch]: remind if encryption is possible.
	* src/sendmsg-window.c: encourage encryption if possible.
	* configure.in: stop if gpgme-enabled build requested but
	gpgme-config not found (PS).

2008-02-09  Peter Bloomfield

	* src/balsa-message.c: (bm_find_scroll_to_iter): scroll least
	amount to get text on screen.

2008-02-09  Peter Bloomfield

	* src/balsa-mblist.c: (bmbl_select_mailbox): check that
	button-press event was on the correct window.

2008-02-08  Peter Bloomfield

	* src/balsa-message.c: (bm_find_again): clean up.

2008-02-08  Peter Bloomfield

	* src/balsa-message.c: (bm_find_set_status): new function, hides
	the separator using gtk_separator_tool_item_set_draw instead of
	gtk_widget_hide;
	(bm_find_entry_changed_cb, bm_find_again,
	balsa_message_find_in_message): use bm_find_set_status;
	(bm_disable_find_entry): boolean => void.

2008-02-08  Peter Bloomfield

	* libbalsa/libbalsa.c: (libbalsa_threads_leave): restore
	warning.
	* src/balsa-message.c: (bm_find_entry_changed_cb, bm_find_again,
	bm_pass_to_find_entry): do not hide separator, that triggers
	warnings;
	(balsa_message_find_in_message): find again only if found.

2008-02-08  Peter Bloomfield

	* src/balsa-message.c: (bm_find_entry_changed_cb,
	bm_find_again): do not mess with thread lock.

2008-02-08  Peter Bloomfield

	* src/balsa-message.c: (bm_pass_to_find_entry): test only SHIFT
	and CONTROL bits.

2008-02-07  Peter Bloomfield

	* libbalsa/libbalsa.c: (libbalsa_threads_leave): disable
	warning about dropping lock when not holding it--GtkTextView
	seems to trigger it.
	* src/balsa-message.c: (bm_scroll_to_iter,
	bm_find_entry_changed_cb, bm_find_again, bm_find_prev_cb,
	bm_find_next_cb, bm_find_bar_new, bm_pass_to_find_entry,
	bm_disable_find_entry, balsa_message_init, balsa_message_set,
	balsa_message_find_in_message): implement find-in-message.
	* src/balsa-message.h: api for find-in-message.
	* src/main-window.c: use it.

2008-01-09  Peter Bloomfield

	* libbalsa/libbalsa.h: add width and height to api for
	libbalsa_show_message_source.
	* libbalsa/source-viewer.c: (lsv_size_allocate_cb): save width
	and height.
	(libbalsa_show_message_source): add width and height to api;
	change horizontal scroll policy to GTK_POLICY_AUTOMATIC.
	* src/balsa-app.h: add source viewer width and height.
	* src/balsa-index.c: (bndx_view_source): use new api.
	* src/main-window.c: ditto.
	* src/message-window.c: (view_msg_source_cb): ditto.
	* src/save-restore.c: (config_global_load, config_save): load
	and save source viewer width and height.

2008-01-02  Peter Bloomfield

	* src/spell-check.c: (balsa_spell_check_start): compile without
	GtkSpell.

2008-01-01  Peter Bloomfield

	* configure.in: if glib is 2.14+, we use GRegex, so do not
	configure PCRE.
	* libbalsa/filter-funcs.c: (libbalsa_condition_regex_free): use
	GRegex if available.
	* libbalsa/filter-private.h: ditto.
	* libbalsa/filter.c: ditto.
	* libbalsa/mime.c: (mark_urls, get_url_helper, get_url_reg,
	get_ml_url_reg, get_ml_flowed_url_reg): ditto.
	* libbalsa/misc.h: ditto.
	* src/balsa-app.c: (balsa_quote_regex_new): new function--if
	GRegex is available, compile the quote regex once, and return
	a ref.
	* src/balsa-app.h: balsa_quote_regex_new is new.
	* src/balsa-message.c: use balsa_quote_regex_new.
	* src/balsa-mime-widget-text.c: (balsa_mime_widget_new_text):
	ditto.
	* src/balsa-print-object-text.c:
	(balsa_print_object_text_plain): ditto.
	* src/print.c: (print_wrap_body): ditto.
	* src/quote-color.c: (is_a_quote): use GRegex if available.
	* src/quote-color.h: ditto.
	* src/sendmsg-window.c: (reflow_selected_cb): use
	balsa_quote_regex_new.
	* src/spell-check.c: (balsa_spell_check_start): use
	balsa_quote_regex_new.
	(balsa_spell_check_destroy, next_word): use GRegex if available.

2008-01-01  Peter Bloomfield

	* configure.in: configuring GtkSourceView when version is not
	specified, try GtkSourceView2 then GtkSourceView1.

2008-01-01  Albrecht Dreß

	* Makefile.am: support GtkSourceView2.
	* configure.in: ditto.
	* libbalsa/libbalsa.c: (libbalsa_source_view_new): ditto.
	* src/balsa-mime-widget-text.c: (create_text_widget): ditto.
	* src/sendmsg-window.c: (sw_can_redo_cb, sw_can_undo_cb,
	create_text_area): ditto.
	* balsa-mail-style.xml: new file for GtkSourceView2.
	* balsa-mail.lang: ditto.

