2008-05-05  Matthew Barnes  <mbarnes@redhat.com>

	** Fixes part of bug #325882

	* e-passwords.c (ep_ask_password):
	If a parent window was given, make the password dialog transient for
	the parent and center it over the parent.

2008-04-30  Matthew Barnes  <mbarnes@redhat.com>

	** Fixes bug #520532

	* e-passwords.c (ep_keyring_migrate_from_keyfile):
	Implement a migration path from the ~/.gnome2_private/Evolution
	password file to gnome-keyring.  If the keyring is available and
	a get_password() operation fails to find a password in the keyring,
	it will look for the password in the password file.  If found, it
	will copy the password to the keyring and (if the copy is successful)
	remove the password from the password file.

	* e-passwords.c (EPassMsg):
	Add a GError to the message structure.  Instead of logging a warning
	to stderr themselves, operations will propagate errors to the message
	structure.  This is enough for the migration code to detect errors.
	As far as how we handle the error, for now we simply dump it to stderr
	as a warning when the message structure is destroyed.  But ultimately
	I want to propagate the error back to the caller of the password
	operation, which will require an API break.  The current API provides
	no feedback about whether a password operation was successful, so
	callers can only assume it was.

2008-04-26  Matthew Barnes  <mbarnes@redhat.com>

	* e-passwords.c (ep_ask_password):
	Use "dialog-password" icon instead of "dialog-question" in the
	password dialog (HIG compliance).

2008-04-25  Milan Crha  <mcrha@redhat.com>

	** Fix for bug #301980

	* e-passwords.c: (update_capslock_state), (ep_ask_password):
	Warn user when Caps Lock is on.

2008-04-14  Matthew Barnes  <mbarnes@redhat.com>

	* e-passwords.c (pass_response):
	Use g_queue_peek_head_link() to obtain a GQueue list node (#453109).

2008-04-02  Matthew Barnes  <mbarnes@redhat.com>

	* e-passwords.c (ep_keyring_lookup_paswords):
	Remove NULL argument checks.  Passing NULL is valid.

2008-03-27  Matthew Barnes  <mbarnes@redhat.com>

	** Fixes bug #518886

	* e-passwords.c:
	More cleanup work:
	- Use EFlag instead of EMsgPort.
	- Use GQueue instead of EDList.
	- Use GStatusMutex instead of pthread_mutex_t.
	- Use GThread instead of pthread_t.

2008-02-26  Matthew Barnes  <mbarnes@redhat.com>

	** Fixes bug #513870

	* e-passwords.c (ep_clear_passwords_keyfile),
	(ep_forget_passwords_keyfile), (ep_forget_password_keyfile),
	(ep_get_password_keyfile):
	Issue an informational message instead of a warning if the requested
	group or key is not found in the key file.  These are non-critical
	events and should not halt the program when running with fatal
	warnings, but it's still useful to leave a breadcrumb on the
	terminal since our current password API leaves no way to report
	status back to the caller.

2008-02-22  Srinivasa Ragavan  <sragavan@novell.com>

	** Fix for bug #489810

	* e-passwords.c: (ep_keyring_uri_new): Google calendar's usernames
	don't have user name in url.

2008-02-18  Chenthill Palanisamy  <pchenthill@novell.com>

	* e-name-selector-dialog.c: Include the required
	header files. Fix from downstream opensuse.

2008-01-21  Matthew Barnes  <mbarnes@redhat.com>

	** Fixes bug #509985

	* e-passwords.c:
	Refactor the keyring logic and emit more informative warning
	messages when a keyring operation fails.

2008-01-16  Matthew Barnes  <mbarnes@redhat.com>

	** Fixes bug #509644

	* e-passwords.c (ep_ask_password):
	Use the correct response codes for the dialog buttons.
	Fixes some severe password breakage that slipped into 2.21.5.

2008-01-14  Matthew Barnes  <mbarnes@redhat.com>

	** Fix for bug #503400

	* e-passwords.c: (ep_ask_password): Remove excessive whitespace on 
	password dialogs.

2008-01-11  Srinivasa Ragavan  <sragavan@novell.com>

	** Fix for bug #508438

	* e-passwords.c: (ep_get_password_keyfile): (ep_get_password_keyfile):
	Extract error only if it is there.

2007-12-23  Ted Percival  <ted@midg3t.net>

	** Partial fix for bug #503400

	* e-passwords.c: (ep_ask_password): Remove excessive whitespace on 
	password dialogs.

2007-12-06  Sankar P  <psankar@novell.com>

	** Fixes bug #501969

	* e-book-auth-util.c: (load_source_auth_cb):
	Passwords should not be forgotten on all errors.

2007-12-04  Alex Kloss  <alexkloss@att.net>

	** Fix for bug #322917

	* e-name-selector-dialog.glade:
	Change mnemonics for Contacts, Address Book labels
	Add mnemonic for Category label

2007-11-26  Milan Crha  <mcrha@redhat.com>

	** Fix for bug #308815

	* e-categories-dialog.glade:
	* e-categories-dialog.c: Dropped colors for categories. (deprecated)

	* e-categories-dialog.c: (edit_button_clicked_cb): Fixed runtime
	critical warning for file chooser and category without icon.

2007-11-15  Matthew Barnes  <mbarnes@redhat.com>

	** Fixes part of bug #474000

	* e-passwords.c (ep_password_decode):
	Initialize 'length' before calling g_base64_decode().

2007-11-05  Milan Crha  <mcrha@redhat.com>

	** Fix for bug #318842

	* Sort sources within group alphabetically
	in ESourceSelector and ESourceComboBox.
	* e-source-selector.c: (compare_source_names), (get_sorted_sources):
	* e-source-combo-box.c: (compare_source_names), (get_sorted_sources):
	New helper functions to sort sources in a group.
	* e-source-selector.c: (rebuild_model): Always sort sources and place
	them on their right position, if not in a tree yet.
	* e-source-combo-box.c: (source_list_changed_cb):
	Add sources in sorted order within group.

2007-11-02  Matthew Barnes  <mbarnes@redhat.com>

	** Fixes bug #460649

	* Makefile.am:
	Add e-cell-renderer-color.[ch].

	* e-cell-renderer-color.c:
	* e-cell-renderer-color.h:
	New GtkCellRenderer subclass by Milan Crha renders a solid color.

	* e-source-combo-box.c:
	Display the ESource's color next to its name.
	Patch by Milan Crha and myself.

2007-11-01  Matthew Barnes  <mbarnes@redhat.com>

	** Fixes bug #488156

	* e-passwords.c:
	Minimize use of the WITH_GNOME_KEYRING macro.

2007-11-01  Matthew Barnes  <mbarnes@redhat.com>

	** Fixes bug #487229

	* e-passwords.c:
	Use GKeyFile instead of gnome-config to access stored passwords.

2007-11-01  Milan Crha  <mcrha@redhat.com>

	** Fix for bug #492130

	* e-source-selector.c: (find_source): New helper function to find our
	own instance of ESource, rather than use one with unknown origin.
	* e-source-selector.c: (e_source_selector_select_source),
	(e_source_selector_unselect_source),
	(e_source_selector_source_is_selected),
	(e_source_selector_set_primary_selection): Use new helper function.

2007-10-26  Milan Crha  <mcrha@redhat.com>

	** Fix for bug #271777

	* e-name-selector-entry.c: (type_ahead_complete):
	Keep character's case as user types.

2007-10-22  Matthew Barnes  <mbarnes@redhat.com>

	** Fixes part of bug #417999

	* Makefile.am:
	Add e-source-combo-box.[ch].
	Rename test-source-option-menu to test-source-combo-box.

	* e-source-combo-box.c:
	* e-source-combo-box.h:
	New widget replaces ESourceOptionMenu.  Same functionality, but
	ESourceComboBox is a subclass of GtkComboBox, which itself replaces
	GtkOptionMenu (deprecated).

	* e-source-option-menu.h:
	Deprecate ESourceOptionMenu.

	* e-name-selector-dialog.glade:
	List categories in a GtkComboBox instead of a GtkOptionMenu.

	* e-name-selector-dialog.h:
	Replace the ESourceList member pointer with a placeholder,
	to maintain ABI compatibility.

	* e-name-selector-dialog.c:
	Use ESourceComboBox instead of ESourceOptionMenu.
	Refactor some messy bits.

	* e-name-selector-entry.c (populate_popup):
	* e-name-selector-list.c (enl_tree_button_press_event):
	Use gtk_radio_menu_item_get_group() instead of
	gtk_radio_menu_item_group() (deprecated).

	* test-source-option-menu.c:
	Test ESourceComboBox instead of ESourceOptionMenu.
	Rename the file appropriately.

2007-10-05  Srinivasa Ragavan  <sragavan@novell.com>

	** Fix for bug #478404

	* e-name-selector-entry.c: (user_focus_out): Reset the id to zero.

2007-10-03  Matthew Barnes  <mbarnes@redhat.com>

	** Fixes part of bug #469657

	* e-passwords.c:
	Use destroy functions in GHashTables to simplify memory management.

2007-09-27  Matthew Barnes  <mbarnes@redhat.com>

	** Fixes part of bug #474000

	* e-passwords.c:
	Remove redundant Base64 codec implementation.  Use GLib's.

2007-08-31  Milan Crha  <mcrha@redhat.com>

	** Part of fix for bug #378759

	* e-passwords.c: (e_passwords_ask_password): Added tests for non-NULL
	component_name and key parameters.

2007-08-19  Kevin Piche  <kpiche@gmail.com>

	** Fix for bug #464569

	* libedataserverui/e-passwords.c: Bug #464569, add missing
	gnome_keyring_attribute_list_free to ep_remember_password_keyring,
	multiple calls to gnome_keyring_attribute_list_new trash keyring search
	criteria.

2007-08-13  Ross Burton  <ross@openedhand.com>

	* e-name-selector-entry.c:
	Fix compile warnings.

2007-08-10  Milan Crha  <mcrha@redhat.com>

	** Fix for bug #327977

	* e-passwords.c: (ep_ask_password):
	Show dialog modal when we know parent window, otherwise non-modal.

2007-08-04  Srinivasa Ragavan  <sragavan@novell.com>

	** Fix for bug #460999

	* e-passwords.c: (ep_get_password_keyring): If the keying has null
	data, consider that as invalid.

2007-08-04  Srinivasa Ragavan  <sragavan@novell.com>

	** Fix for bug #458670

	* e-name-selector-entry.c: (entry_activate): If there is no selectable
	text, there is no point auto-completing it.

2007-08-03  Hiroyuki Ikezoe  <poincare@ikezoe.net>

	** Fix for bug #461989

	* e-categories-dialog.c: Show category icons. 
	Plugged memory leaks. The return value of
	gtk_filechooser_get_filename() should be freed.

2007-07-31  Chenthill Palanisamy  <pchenthill@novell.com>

	* e-book-auth-util.c:
	* e-categories-dialog.c:
	* e-name-selector-dialog.c:
	* e-name-selector-entry.c:
	* e-name-selector-list.c:
	* e-name-selector.h:
	* e-source-option-menu.h:
	* e-source-selector-dialog.h:
	* e-source-selector.h: Changed the way header files are included so
	that they are picked up from the source rather than install area.

2007-07-30  Milan Crha  <mcrha@redhat.com>

	** Partial fix for bug #460649

	* e-source-option-menu.c: (populate): Used image menu item and using
	sources colors when possible. Didn't work for collapsed state.

2007-07-02  Srinivasa Ragavan  <sragavan@novell.com>

	** Fix for bug #410823

	* e-name-selector-entry.c: (get_range_at_position),
	(user_focus_out):

2007-06-15  Matthew Barnes  <mbarnes@redhat.com>

	* e-passwords.c (ep_forget_password_keyring),
	(ep_get_password_keyring): Free the EUri (#447749).

2007-05-28  Pascal Terjan  <pterjan@linuxfr.org>

	* e-passwords.c (e_passwords_ask_password):
	Remove the parameter "secret" from the doc, it was dropped 3 years ago
	and "remember_type" was renamed to "type" at the same time.

2007-05-24  Matthew Barnes  <mbarnes@redhat.com>

	* e-passwords.c (ep_ask_password):
	Remove check for obsolete GTK+ version (#424562).

2007-05-12  Srinivasa Ragavan  <sragavan@novell.com>

	** Fix for bug #420496 from Ebby Wiselyn.

	* e-name-selector-entry.c: (user_focus_out), (popup_activate_cut),
	(popup_activate_copy), (populate_popup): Add support to cut/copy
	contacts.

2007-05-07  Matthew Barnes  <mbarnes@redhat.com>

	* e-contact-store.c:
	* e-destination-store.c:
	* e-name-selector-dialog.c:
	* e-name-selector-entry.c:
	* e-name-selector-list.c:
	* e-name-selector-model.c:
	* e-source-option-menu.c:
	* e-tree-model-generator.c:
	Fix warnings reported by 'sparse'.  Patch from Kjartan Maraas.

2007-04-20  Srinivasa Ragavan  <sragavan@novell.com>

	* e-name-selector-dialog.c: (destination_column_formatter): Fix for
	bug #359806 from Matthew Barnes and Makuchaku.

2007-04-04  Ross Burton  <ross@openedhand.com>

	* e-source-selector.c:
	* e-name-selector-entry.c:
	* e-data-server-ui-marshal.list:
	* e-name-selector-model.c:
	* e-source-option-menu.c:
	Remove marshallers that are in GLib (#400970).

2007-04-01  Matthew Barnes  <mbarnes@redhat.com>

	* e-source-selector.c (pixbuf_cell_data_func):
	Use the new ESource color API. (#373117)

2007-04-01  Matthew Barnes  <mbarnes@redhat.com>

	* e-source-selector.c (group_search_function):
	Fix a compiler warning.  Patch from Kjartan Maraas.

	* e-passwords.c: Use #ifdef WITH_GNOME_KEYRING, not #if.
	Patch from Kjartan Maraas.

2007-03-29  Matthew Barnes  <mbarnes@redhat.com>

	* e-source-selector.c:
	* e-name-selector-dialog.c:
	Fix "incompatible pointer type" warnings (#360619).

2007-03-29  Matthew Barnes  <mbarnes@redhat.com>

	* e-contact-store.h:
	* e-destination-store.h:
	* e-name-selector-dialog.h:
	* e-name-selector-entry.h:
	* e-name-selector-list.h:
	* e-name-selector-model.h:
	* e-name-selector.h:
	* e-tree-model-generator.h:
	Fix some Gtk-Doc warnings. (#413173)

2007-03-26  Matthew Barnes  <mbarnes@redhat.com>

	* e-name-selector-entry.c:
	Don't mix declarations and code (#405495).
	Patch from Jens Granseuer.

2007-02-09  Matthew Barnes  <mbarnes@redhat.com>

	** Fixes bug #405531

	* e-name-selector-dialog.c (search_changed): Translate "Any Category".

2007-02-07  Matthew Barnes  <mbarnes@redhat.com>

	** Fixes bug #359979, #384183

	* e-passwords.c (ep_msg_send): e_msgport_wait()'s behavior is now
	block-and-pop instead of block-and-peek.

2007-01-23  Tor Lillqvist  <tml@novell.com>

	* e-passwords.c (e_passwords_shutdown): !WITH_GNOME_KEYRING
	alternative was missing here.

2007-01-22  Srinivasa Ragavan  <sragavan@novell.com>

	** Add fallback supoprt for GNOME Keyring to GNOME Private.

	* e-passwords.c: (ep_clear_passwords_keyring),
	(ep_clear_passwords_file), (ep_forget_passwords_keyring),
	(ep_forget_passwords_file), (ep_remember_password_keyring),
	(ep_remember_password_file), (ep_forget_password_keyring),
	(ep_forget_password_file), (ep_get_password_keyring),
	(ep_get_password_file), (pass_response):

2007-01-17  Srinivasa Ragavan  <sragavan@novell.com>

	** Downstream from openSUSE

	* e-passwords.c: (ep_get_password): Warnings fix.

2007-01-08  Matthew Barnes  <mbarnes@redhat.com>

	Fixes #387638
	* e-source-selector.c: Include the header
	file string.h.

2006-12-05  Srinivasa Ragavan  <sragavan@novell.com>

	* e-source-selector.c: (group_search_function),
	(e_source_selector_init): Add searchable esource in
	calendar/addressbook and other esource list.

2006-11-28  Srinivasa Ragavan  <sragavan@novell.com>

	** Fixes lot of minor bugs around ENameSelector Entry

	* e-name-selector-entry.c: (build_textrep_for_contact),
	(modify_destination_at_position), (user_delete_text),
	(entry_activate), (destination_row_changed), (editor_closed_cb):

2006-11-19  Matthew Barnes  <mbarnes@redhat.com>

	Fixes bug #353924

	* e-name-selector-dialog.c
	(e_name_selector_dialog_populate_categories): Translate
	"Any Category" and make sure it's always listed first.

2006-09-15  Li Yuan  <li.yuan@sun.com>

	* e-name-selector-dialog.glade:
	Fix for #356051. Remove unused spaces.

2006-08-23  Srinivasa Ragavan  <sragavan@novell.com>

	Fix for bug #348939 and bug #351317
	
	* Makefile.am: Fix a type. Patch from Matthew Barnes and
	gpp666_999@yahoo.de.

2006-08-17  Kjartan Maraas  <kmaraas@gnome.org>

	* e-destination-store.c: (find_destination_by_email):
	e_destination_get_email() returns const char*
	* e-name-selector-dialog.c:
	(e_name_selector_dialog_populate_categories),
	(e_name_selector_dialog_init): Fix warning about unused result
	and mixing declarations and code.
	* e-name-selector-entry.c: (user_delete_text),
	(e_name_selector_entry_init): Remove some unused code and fix
	compiler warnings
	* e-name-selector-list.c: (enl_tree_button_press_event),
	(e_name_selector_list_new): Fix more compiler warnings
	* e-passwords.c: (ep_remember_password), (ep_ask_password),
	(decode_base64): Fix compiler warnings.

2006-08-07  Hans Petter Jansson  <hpj@novell.com>

	* e-contact-store.c (e_contact_store_finalize): Fix memory leaks.
	* e-destination-store.c (e_destinationstore_finalize): Fix memory leaks.
	* e-name-selector-dialog.c (e_name_selector_dialog_dispose)
	(e_name_selector_dialog_finalize)
	(remove_books)
	(setup_name_selector_model)
	(shutdown_name_selector_model)
	(e_name_selector_dialog_set_model): Consolidate cleanup code and fix memory
	leaks.
	* e-name-selector-model.c (e_name_selector_model_finalize): Fix memory leaks.
	* test-name-selector.c: Modify test to reveal more memory leaks.

2006-08-07  Devashish Sharma   <sdevashish@novell.com>

	* e-name-selector-entry.c : Read the numbers of characters at
	which the autocompletion should kick in from gconf key 
	"/apps/evolution/addressbook/completion/minimum_query_length".
	Fix for Bug 251289

2006-08-01  Srinivasa Ragavan  <sragavan@novell.com>
	
	** Fix for bug 346730
	
	* e-passwords.c (ep_remember_password), (ep_forget_password),
	(ep_get_password): Use the key as the user for LDAP and dont try to
	access keyring for passphrases, since they are stored just for the
	session.

2006-08-02  Srinivasa Ragavan  <sragavan@novell.com>

	* e-name-selector-entry.c: (user_delete_text): Removed the unwanted
	code which was commented.

2006-08-01  Tor Lillqvist  <tml@novell.com>

	Why is there no mention in its CVS log or here in ChangeLog why
	Makefile.am was changed in a way which broke building on Win32?
	
	* Makefile.am (libedataserverui_1_2_la_LDFLAGS): Re-add
	$(NO_UNDEFINED) so that we build a shared library on Windows.
	(libedataserverui_1_2_la_LIBADD): Re-add libedataserver and
	E_DATA_SERVER_LIBS, but OK, conditionally only on Win32 then, if
	it indeed causes problems on Linux? (But we do link to them on all
	platforms in the stable branch...)

2006-07-27  Devashish Sharma  <sdevashish@novell.com>

	* e-name-selector-entry.c :Crash on closing the contact editor 
	after closing the composer.
	Fix for Bug #347779, 347706

2006-07-25  suka  <suka@gentoo.org>

	* e-categories-dialog.glade: change default height of categories 
	window. Fixes bug #348285. (committed by Andre Klapper)

2006-07-20  Devashish Sharma  <sdevashish@novell.com>

	** Fixes bug 273921
	* e-name-selector-dialog.h:
	e_name_selector_dialog_set_destination_index: New function.
	* e-name-selector-dialog.c: Add private structure.
	(contact_activated): Get section using destination_index instead of 0.
	(e_name_selector_dialog_set_destination_index): New function to set
	the index number of destination sections.
	Patch by Hiroyuki Ikezoe.
	
2006-07-19  Devashish Sharma  <sdevashish@novell.com>

	* e-name-selector-entry.c : Removing the comma doesnt select
	the entire name, it just deletes the comma.
	Patch by srini.
	Fixes Bug 322142

2006-07-06  Boby Wang <boby.wang@sun.com>

	** Fixes bug #345397
	* e-name-selector-dialog.glade:
	Change the target of label Category, and make ALT + A work.

2006-06-29  simon.zheng  <simon.zheng@sun.com>

	** Fixes 345373 

	* e-name-selector-entry.c: (user_insert_text): Allow to
	insert more than 1 characters every time.

2006-06-13  Hiroyuki Ikezoe  <poincare@ikezoe.net>

	** Fixes 342384
	* e-name-selector-entry.c: (popup_activate_inline_expand):
	Sanitizing mail list text and memory leak fix.

2006-05-21  Hiroyuki Ikezoe  <poincare@ikezoe.net>

	** Fixes bug #342479
	* e-name-selector-dialog.c: Plugged memory leak.

2006-06-09  Hiroyuki Ikezoe  <poincare@ikezoe.net>

	** Fixes bug #342382
	* e-name-selector-entry.c: Plugged memory leaks.

2006-06-09  Chris Heath  <chris@heathens.co.nz>

	* e-name-selector-dialog.c (search_changed): Fix memory leak.
	Fixes bug #335423.

2006-06-02  Hiroyuki Ikezoe  <poincare@ikezoe.net>

	** Fixes bug 322239
	* e-name-selector-entry.c: ENameSelectorEntryPrivate: New structure
	for private values. There is still only one value, is_completing.
	(user_focus_in): New function.
	Stop the event propagation.
	(type_ahead_complete): Set is_completing to TRUE if address completion
	has done.
	(clear_completion_model): Set is_completing to FALSE.
	(entry_activate): Set is_completing to FALSE.
	(user_focus_init): Call entry_activate if only focus_in and
	is_compliting.
	(e_name_selector_entry_init): Connect to focus-in-event with
	g_signal_connect_after.
	Set is_completing to TRUE. It's initial state.

2006-04-26  Srinivasa Ragavan  <sragavan@novell.com>

	* e-passwords.c: (ep_clear_passwords), (ep_forget_passwords),
	(ep_forget_password), (ep_get_password): Updated keyring code to
	handle the negative cases.
	* e-source-selector.c: (e_source_selector_init): Submitting Vincent's
	patch for bug #323402.

2006-04-24  Srinivasa Ragavan  <sragavan@novell.com>

	* e-name-selector-list.c: (enl_entry_key_press_event): Changed the key
	to launch the e-name-selector-list.

2006-03-29  Boby Wang <boby.wang@sun.com>

	** Fix #336460 accelerate key can not function

	* e-name-selector-dialog.c: (add_section):
	add a mnemonic relationship to fix it

2006-03-20  Srinivasa Ragavan  <sragavan@novell.com>
	
	* e-passwords.c: (ep_clear_passwords), (ep_forget_passwords),
	(ep_remember_password), (ep_forget_password), (ep_get_password),
	(ep_ask_password), (e_passwords_shutdown): Added support
	gnome-key-ring and pass phrase.
	* e-passwords.h: Added support for keyring.

2006-03-05  Devashish Sharma  <sdevashish@novell.com>

	* e-name-selector-entry.c (editor_closed_cb) : Fif for Bug 216073: Editing contacts
	from To menu doesnt make inline changes.

2006-03-05  Devashish Sharma  <sdevashish@novell.com>

	* e-name-selector-entry.c (user_delete_text) : Fix for Bug 322432- To field
	can crash evolution.

2006-03-01  Devashish Sharma  <sdevashish@novell.com>

	* e-name-selector-dialog.c (transfer_button_clicked) : Fixed a crasher.

2006-02-25  Veerapuram Varadhan <vvaradhan@novell.com>

	** Fixes #301116
	
	* e-passwords.c: include <glib/gi18n-lib.h> instead of
	<libgnome/gnome-i18n.h>, to specify the translation domain
	explicitly. Harish's earlier commit of Changwoo's patch 
	missed this part.
	
2006-01-01  Devashish Sharma  <sdevashish@novell.com>

	* e-name-selector-dialog.c : (contact_activated), (destination_activated)
	Fixed a crash. The bug had come due to a wrong change done for enabling multiple
	select mode for name-selector-dialog.
	Fixes Bug #326652.

2006-01-23  Sushma Rai  <rsushma@novell.com>

	* libedataserverui/e-book-auth-util.c (addressbook_authenticate):
	Checking for the property user and username. Fixes #327819.

2005-01-16  Devashish Sharma <sdevashish@novell.com>

	* e-name-selector-dialog.c : Show the status message (searching, loading etc).
	* e-source-selector.[ch] : Added a function to return book view from contact 
	source.
	Fixes #305678

2005-01-16  Devashish Sharma <sdevashish@novell.com>

	* e-name-selector-list.[ch] : New files added.
	Adds a drop down popup to name-selector-entry widget which allows easy 
	navigation of contacts added to the entry.
	* e-name-selector.c : Added a new function which returns name-selector-list.
	* e-destination-store.c : Added a couple of utility functions.

2005-01-06  Sushma Rai  <rsushma@novell.com>

	* e-book-auth-util.c (remove_parameters_from_uri): Properly parsing the
	uri, taking care of all auth mechanisms. Fixes #325959.

2005-12-16  Johnny Jacob  <johnnyjacob@gmail.com>

	** Fix for bug #242966
	
	* e-name-selector-dialog c (e_name_selector_dialog_init):
	Search entry has the default focus.
	
2006-01-05  Kjartan Maraas  <kmaraas@gnome.org>

	* e-name-selector.c: Remove unused static function free_section().

2006-01-02  Srinivasa Ragavan  <sragavan@novell.com>

	* e-name-selector-entry.c (popup_activate_list),
	(destination_set_list), (destination_set_email), (populate_popup):
	Added code to show contact/list email addresses in radio/check button
	respectively for selecting/deselecting preferred email addresses.

2005-12-20  Srinivasa Ragavan  <sragavan@novell.com>

	** Fixes bug #238979

	* e-name-selector-entry.c: (prepare_popup_destination),
	(popup_activate_inline_expand), (populate_popup): Added code to 
	expand for Contact Lists inline for composer.

2005-12-15  Chenthill Palanisamy  <pchenthill@novell.com>

	* e-destination-store.c: (find_destination_by_email),
	(e_destination_store_append_destination): Check if the 
	destination is already added by comparing the email id.

2005-12-09  Tor Lillqvist  <tml@novell.com>

	* e-passwords.c (ep_msg_new): Use pthread_equal() to compare
	pthread_t values.

	* e-source-option-menu.c: Use guint instead of uint.

	* e-categories-dialog.c (load_properties_dialog,
	e_categories_dialog_init)
	* e-name-selector-dialog.c (e_name_selector_dialog_init):
	Construct glade file names at run-time.

2005-11-09  Sushma Rai  <rsushma@novell.com>

	* e-name-selector-dialog.c (e_name_selector_dialog_init)(add_section): 
	Setting the multiple selection mode.
	(selection_changed)(contact_selection_changed): Using 
	gtk_tree_selection_count_selected_rows() to find if contacts are 
	slected or not.
	(contact_activated)(transfer_button_clicked): Finding the selected set 
	of contacts and adding to destination.
	(destination_activated)(remove_selection): Finding the selected set of 
	destinations and removing them from destination store. Fixes #319848. 
	(setup_name_selector_model): Sorting the contacts on full name instead 
	of file as name as we display full name.

2005-10-21  Devashish Sharma  <sdevashish@novell.com>

	* e-name-selector-dialog.c: Added the missing category filter in
	name_selector_dialog.
	* e-name-selector-dialog.glade: Added the UI component for category
	filter. Fixes #273799.

2005-10-14  Ross Burton  <ross@openedhand.com>

	* test-contact-store.c:
	* test-name-selector.c:
	Don't use Bonobo and GnomeProgram, GTK+ suffices.

2005-09-30  Devashish Sharma  <sdevashish@novell.com>

	* e-name-selector-entry.c (user_delete_text): In name selector entry
	while deleting character-by-character when you hit a comma, entire 
	address is selected and in the next keystroke whole address is deleted,
	leaving behind a comma. Fixed this so that comma is also removed 
	along with the address.
	Fixes #314997.

2005-08-26  Harish Krishnaswamy  <kharish@novell.com>

	* e-name-selector-dialog.c: (e_name_selector_dialog_init):
	Fix for #301116. Changwoo's earlier commit missed this part.

2005-08-23  Not Zed  <NotZed@Ximian.com>

	* e-name-selector-entry.h: fix prototype of temporary api's.

2005-08-22  Not Zed  <NotZed@Ximian.com>

	* e-name-selector-entry.c (find_existing_completion): assign
	best_field to remove spurious warning.

2005-08-17  Devashish Sharma <sdevashish@novell.com>

	* e-name-selector-entry.c (completion_match_selected): automatically
	adds a comma after autocompleting the address. Fixes #247706.

2005-08-13  Tor Lillqvist  <tml@novell.com>

	* Makefile.am: Link with libedataserver. Link with
	E_DATA_SERVER_UI_LIBS, not E_DATA_SERVER_LIBS. Use NO_UNDEFINED.

2005-08-04  Not Zed  <NotZed@Ximian.com>

	** See bug #308512.

	* e-passwords.c (ep_ask_password): implement new flag to disable
	the remember password box.

2005-07-24  Vivek Jain  <jvivek@novell.com>
	
	* e-name-selector-dialog.c: "Section" structure has two new members
	label and remove button
	(add_section): set these new members properly
	add a callback on the changed signal of gtktreeview in section
	Have new structure SelData to give us the selection data in callback
	(destination_key_press) : moved actual code to new local function
	(remove_selection).
	(selection_changed):
	(remove_button clicked): new functions to get the entry back from the
	destination store and making sure UI is consistent

2005-07-20  Sushma Rai  <rsushma@novell.com>

	* e-name-selector-entry.c (populate_popup): In the popup menu, changed
	label to edit a contact. Fixes #260851

2005-07-07  S.Antony Vincent Pandian <santony@gmail.com>

       * e-destination-store.c (e_destination_store_list_destinations):
       adding g_list_reverse(..) after the loop shows the
       addresses in the same order as sent thus solving the bug.

       Fixes #301922

       ** committed on behalf of antony, since he does not have commit rights

2005-07-15  Jedy Wang  <jedy.wang@sun.com>

	* e-passwords.c: (e_passwords_cancel): To kill a e-password-dialog,
	we shall send a cancel reply, but not just simply destroy the widget.

2005-07-11  Sushma Rai  <rsushma@novell.com>

	* e-name-selector-dialog.c (e_name_selector_dialog_init): Making the
	name selector dialog modal, useful when gets invoked from modal
	dialogs.

2005-07-09  Philip Van Hoof  <pvanhoof@gnome.org>

	* e-name-selector-entry.c: Making it more easy to remove destinations.

2005-07-06  Sushma Rai  <rsushma@novell.com>

	* e-contact-store.c (view_sequence_complete): If the
	current view is finished, stop the view and return. Fixes #309684.
	Patch submitted by "ross@burtonini.com (Ross Burton)"

2005-07-06  Kjartan Maraas  <kmaraas@gnome.org>

	* e-source-option-menu.c: (populate): Fix a small leak.

2005-07-06  Sushma Rai  <rsushma@novell.com>

	* e-book-auth-util.c:
	* e-name-selector-entry.c:
	* e-name-selector-dialog.c:
	* e-categories-dialog.c:
	* e-destination-store.c:
	* e-contact-store.c:
	* e-name-selector.c:
	* e-name-selector-model.c:
	* e-tree-model-generator.c: Fixed compiler warnings.

2005-07-04  Sushma Rai  <rsushma@novell.com>

	* e-name-selector-entry.c: Setting COMPLETION_CUE_MIN_LEN to 3, to
	start autocompletion from the 3rd character onwards.

2005-06-28  Sushma Rai  <rsushma@novell.com>

	* e-name-selector-entry.c (setup_contact_store): Added 
	ensure_type_ahead_complete_on_idle() call back.
	Patch by "Hans Petter Jansson" to fix #302006.

2005-06-09  Ross Burton  <ross@burtonini.com>

	* e-categories-dialog.c:
	* e-categories-dialog.glade:
	Use GtkFileChooserButton instead of a GnomeFileEntry.

2005-05-24  Sushma Rai  <rsushma@novell.com>

	* e-name-selector-dialog.c (contact_column_formatter): Using 
	"full name" field instead of "file as", while displaying contacts in
	the name selector dialog. 
	Fixes #300290

2005-05-13  Changwoo Ryu  <cwryu@debian.org>

	Fixes #301116
	
	* e-categories-dialog.c (e_categories_dialog_init): specify the
	translation domain on glade_xml_new().

2005-05-09  Mengjie Yu  <meng-jie.yu@sun.com>

	* e-source-selector.c: (selector_popup_menu),
	(e_source_selector_class_init):
	We need to implement the popup_menu function to make
	'F10 + Shift Key' pressing work.

	Fixes #303540

2005-05-04  Hans Petter Jansson  <hpj@novell.com>

	* e-book-auth-util.c:
	* e-categories-dialog.c:
	* e-contact-store.c:
	* e-destination-store.c:
	* e-name-selector-dialog.c:
	* e-name-selector-entry.c:
	* e-name-selector-model.c:
	* e-name-selector.c:
	* e-source-option-menu.c:
	* e-source-selector.c:
	* e-tree-model-generator.c: Wrote API docs.

2005-04-11  Harish Krishnaswamy  <kharish@novell.com>

	* Makefile.am: use API_VERSION 

2005-04-04  Sivaiah Nallagatla <snallagatla@novell.com>

       * e-book-auth-util.c (load_source_auth_cb)
        (addressbook_authenticate) : get the uri from Ebook
       instead of Esource. e_source_get_uri returns NULL when
       it does not have a reference to source group with it
       which happens when the source list from which this source
       was taken is destroyed but Ebook has reference to that source.
       e_book_get_uri returns the same uri and it will be always present
       Fixes #73330

2005-03-31  Hans Petter Jansson  <hpj@novell.com>

	* e-name-selector.c (source_books_destroy): Implement.
	(e_name_selector_init): Create a list of completion books, and open
	them with interactive authentication.
	(e_name_selector_peek_section_entry): Re-use the list of opened books
	for each entry.

	* e-name-selector-entry.c (e_name_selector_entry_realize): If the user
	didn't set a contact store, create the default one here.
	(e_name_selector_entry_class_init): Set up our realize method.
	(e_name_selector_entry_init): Don't set up the default contact store
	here.
	(setup_default_contact_store): Also create the contact store itself.
	(set_completion_query)
	(find_existing_completion)
	(completion_match_selected)
	(contact_layout_formatter)
	(popup_activate_contact)
	(setup_contact_store)
	(e_name_selector_entry_set_contact_store): Tolerate NULL contact store.

2005-03-23  Rodrigo Moya <rodrigo@novell.com>

	Fixes #73472

	* e-categories-dialog.c (load_properties_dialog): make the
	GnomeFileEntry use the file chooser widget.

2005-03-22  Chenthill Palanisamy  <pchenthill@novell.com>
     
        * e-source-selector.c (selector_button_press_event): Do
	not emit popup signals when clicked on the source group.

2005-03-04  Rodrigo Moya <rodrigo@novell.com>

	Fixes #38408

	* e-categories-dialog.c (check_category_name): new function to check
	categories entered by the user for invalid characters.
	(new_button_clicked_cb): added category name checking. Also, run the
	dialog continously while there are validation errors.

2005-03-01  Harry Lu <harry.lu@sun.com>

	Fix for 73010.

	* e-categories-dialog.c: (load_properties_dialog): set modal for
	the gnome_file_entry.

2005-02-25  Rodrigo Moya  <rodrigo@novell.com>

	* e-categories-dialog.c (new_button_clicked_cb) :
	Pass iter to gtk_list_store_set , so that
	new cateogy gets added properly.
	Fixes #73011
	
2005-02-23  Hans Petter Jansson  <hpj@novell.com>

	* Makefile.am (libedataserverui_1_2_la_SOURCES)
	(libedataserveruiinclude_HEADERS): Add e-book-auth-util and
	e-passwords.

	* e-name-selector-dialog.c (source_selected): Use the authenticating
	book loader utility.
	(search_changed): Upgrade query to something that works with all
	backends.

	* e-name-selector-entry.c (setup_default_contact_store): Use the
	authenticating book loader utility.

	* e-book-auth-util.c:
	* e-book-auth-util.h: Add the authenticating book loader utility.

	* e-passwords.c: Remove e-error.h include, it's unnecessary.

2005-02-21  Harry Lu <harry.lu@sun.com>

	Fix for 9605.
	* e-name-selector-dialog.c: (add_section),(destination_key_press):
	add key-press-event handler to delete contact from the list if user
	press Delete key.

2005-02-07  Ross Burton  <ross@openedhand.com>

	* test-source-option-menu.c:
	* test-source-selector.c:
	Remove useless libgnome use.

2005-02-03  Ross Burton  <ross@burtonini.com>

	* libedataserverui/e-categories-dialog.c:
	* libedataserverui/e-contact-store.c:
	* libedataserverui/e-destination-store.c:
	* libedataserverui/e-name-selector-dialog.c:
	* libedataserverui/e-name-selector-entry.c:
	* libedataserverui/e-name-selector-model.c:
	* libedataserverui/e-name-selector.c:
	* libedataserverui/e-source-selector-dialog.c:
	* libedataserverui/e-tree-model-generator.c:
	Use glib/gi18n.h.

2005-01-27  Hao Sheng <hao.sheng@sun.com>

	* e-name-selector-dialog.c:
	(e_name_selector_dialog_init): set label mnemonic widget.
	(add_section): set a11y name for button and section.

	* e-name-selector.c:    
	(e_name_selector_peek_section_entry): set a11y name to the mail entry

	* e-name-selector-dialog.glade: add access name and access key.

2005-01-26  Rodrigo Moya <rodrigo@novell.com>

	* e-categories-dialog.c (e_categories_dialog_init): only show categories
	that are searchable (ie, user visible).

2005-01-25  Rodrigo Moya <rodrigo@novell.com>

	* e-categories-dialog.c (new_button_clicked): set all new categories to
	be searchable.

2005-01-24  Hans Petter Jansson  <hpj@novell.com>

	* e-name-selector-entry.c (editor_closed_cb): Implement.
	(popup_activate_contact): Set up unref callback for when an editor
	closes.

2005-01-24  Hans Petter Jansson  <hpj@novell.com>

	* e-contact-store.c (get_book_at_row): Implement.
	(e_contact_store_get_book): Implement.

	* e-name-selector-entry.c (prepare_popup_destination): Implement.
	(find_book_by_contact): Implement.
	(popup_activate_contact): Implement.
	(popup_activate_email): Implement.
	(populate_popup): Implement.
	(e_name_selector_entry_init): Hook us up to the popup menu.
	(e_name_selector_entry_set_contact_editor_func)
	(e_name_selector_entry_set_contact_list_editor_func): Implement lame,
	temporary hack to get at the contact editors in Evolution.

2005-01-24  Hans Petter Jansson  <hpj@novell.com>

	* e-name-selector-dialog.c (add_section): Set up a custom formatter for
	destination column.
	(contact_column_formatter): Format contact lists differently.
	(destination_column_formatter): Implement, and make special cases for
	contact lists.

	* e-name-selector-entry.c (contact_layout_formatter): Format contact
	lists differently.
	(generate_contact_rows): Contact lists are always one row only.

	* e-name-selector-model.c (generate_contact_rows): Contact lists are
	always one row only.

2005-01-24  Hans Petter Jansson  <hpj@novell.com>

	* e-name-selector-entry.c (user_delete_text): If all destinations are
	removed in one fell swoop, remember to rebuild the attribute list.
	(user_focus_out): Implement. Completes the current entry (if possible)
	and clears the completion model so the popup won't show.
	(e_name_selector_entry_init): Connect to the focus-out-event.

2005-01-22  Hans Petter Jansson  <hpj@novell.com>

	* e-name-selector-entry.c (name_style_query): Query for the full string
	with spaces, and the same string elements with comma-space separation.
	Fixes broken completion for names with spaces in them.
	(contact_match_cue): Sanitize the value to match before matching. This
	allows us to match strings that cannot be represented as-is in the
	entry.

2005-01-22  Hans Petter Jansson  <hpj@novell.com>

	* Makefile.am (libedataserverui_1_2_la_SOURCES)
	(libedataserveruiinclude_HEADERS): Add newly implemented
	ETreeModelGenerator to build.

	* e-tree-model-generator.[ch]: Implement ETreeModelGenerator, a model
	wrapper similar to GtkTreeModelFilter, but with the capability to map
	each child row to an arbitrary number of rows, including zero, and pass
	a permutation identifier to the user's modify callback.

	* e-name-selector-dialog.c (contact_column_formatter): Implement a
	data formatter for the contact list. This makes it show both names
	and e-mail addresses.
	(e_name_selector_dialog_init): Set up data formatter.
	(sort_iter_to_contact_store_iter): Replace GtkTreeModelFilter with
	ETreeModelGenerator, and return the email permutation along with the
	contact iter.
	(add_destination): Take the email permutation as an argument, and set
	it in the contact instead of defaulting to the first one.
	(contact_activated): Pass on email_n.
	(transfer_button_clicked): Ditto.
	(setup_name_selector_model): Use ETreeModelGenerator.
	(deep_free_list): Implement.

	* e-name-selector-entry.c (completion_match_selected): Add the
	conversion for the e-mail generator, and set the selected e-mail
	permutation in the destination.
	(deep_free_list): Implement.
	(contact_layout_formatter): Implement a data formatter for the
	completion list, so we can show both names and e-mail addresses.
	(generate_contact_rows): Implement an e-mail permutation generator.
	(setup_contact_store): Set up the e-mail generator.
	(e_name_selector_entry_init): Init the generator pointer. Set up the
	data formatter.

	* e-name-selector-model.c (e_name_selector_model_init): Replace
	the GtkTreeModelFilter with an ETreeModelGenerator.
	(deep_free_list): Implement.
	(generate_contact_rows): Replace filter_show_not_in_destinations ()
	with this function, which both filters and generates per-email
	permutations.
	(override_email_address): Override the contents of the
	E_CONTACT_EMAIL_1 string field with the relevant address.
	(e_name_selector_model_peek_contact_filter): Now returns a generator.

2005-01-19  Hans Petter Jansson  <hpj@novell.com>

	* e-name-selector-entry.c (sanitize_string): Implement.
	(get_range_at_position): Keep track of whether we're within quotes or
	not, and act accordingly.
	(get_index_at_position): Ditto.
	(get_range_by_index): Ditto.
	(is_quoted_at): Implement.
	(build_textrep_for_contact): Remove ugly hack, no longer needed.
	(contact_match_cue): Remove comment that no longer has any meaning.
	(generate_attribute_list): Ditto.
	(type_ahead_complete): Sanitize inserted string.
	(sync_destination_at_position): Ditto.
	(insert_unichar): Treat comma normally if we're within quotes. Update
	attribute list if we're editing within the string and not appending.
	(user_delete_text): Ditto, update attribute list if necessary.
	(destination_row_changed): Sanitize inserted string.
	(destination_row_inserted): Ditto.

2005-01-18  Hans Petter Jansson  <hpj@novell.com>

	* e-name-selector-entry.c (find_destination_by_index): Tolerate
	the case where you're trying to get the first contact and we
	have zero, without warning.
	(sync_destination_at_position): Accept the fact that we may not get a
	destination to sync (happens if there are no destinations and the user
	activated the entry), and return instead of failing an assertion.

2005-01-12  Rodrigo Moya <rodrigo@novell.com>

	Fixes #28532
	
	* e-categories-dialog.c (new_button_clicked): don't allow creation of
	categories with names already being used.

2005-01-10  Rodrigo Moya <rodrigo@novell.com>

	* e-categories-dialog.c (delete_button_clicked_cb): added missing
	implementation.

2005-01-10  Rodrigo Moya <rodrigo@novell.com>

	* e-categories-dialog.glade: replaced the 'Edit master ...' button
	with buttons for adding, editing and removing categories.
	Added the category properties dialog.

	* e-categories-dialog.c (e_categories_dialog_init): load the buttons
	from the Glade file.
	(new_button_clicked_cb, edit_button_clicked_cb,
	delete_button_clicked_cb): added callbacks for the new buttons in the
	dialog.

2005-01-10  Hans Petter Jansson  <hpj@novell.com>

	* e-contact-store.c (e_contact_store_find_contact): Implement.

	* e-name-selector-model.c (e_name_selector_model_init): Set up UID hash
	field.
	(emit_destination_uid_changes_cb): Implement.
	(destinations_changed): Instead of re-filtering everything, calculate
	the differences between former and current destination UIDs, and
	emit the change signal for the affected contacts, so they can be
	re-filtered.
	(e_name_selector_model_add_section): Call destinations_changed ()
	instead of re-filtering.
	(e_name_selector_model_remove_section): Ditto.

2005-01-07  Rodrigo Moya <rodrigo@novell.com>

	* e-categories-config.c (e_categories_dialog_init): set default response
	and disable on startup the OK button.
	(category_toggled_cb, entry_changed_cb): enable OK button on changes.

2005-01-07  Rodrigo Moya <rodrigo@novell.com>

	* e-categories-config.c (e_categories_dialog_init): set the "active"
	property on the GtkTreeViewColumn.
	(e_categories_dialog_set_categories): process correctly the strings
	array we get from g_strsplit.

2005-01-07  Rodrigo Moya <rodrigo@novell.com>

	* e-categories-dialog.c (e_categories_dialog_set_categories): added
	missing code to set the widgets to the specificied categories list.
	(e_categories_dialog_init): set dialog's title and connect to "toggled"
	signal on the GtkCellRendererToggle.
	(category_toggled_cb): callback for the "toggled" signal.

2005-01-05  Rodrigo Moya <rodrigo@novell.com>

	* e-categories-dialog.h: fixed class structure.

	* e-categories-dialog.c (e_categories_dialog_set_categories): init
	correctly the private pointer before using it.
	(e_categories_dialog_dispose): unref the GladeXML object.
	(e_categories_dialog_init): add the main widget and some buttons to
	the dialog. Set the correct properties to the category column in the
	treeview widget.

2005-01-05  Rodrigo Moya <rodrigo@novell.com>

	* e-categories-dialog.[ch]:
	* e-categories-dialog.glade:
	* Makefile.am: added categories dialog implementation, to replace
	the dialog in GAL.

2005-01-04  Hans Petter Jansson  <hpj@novell.com>

	* e-contact-store.c (e_contact_store_add_book): Add precondition.
	(e_contact_store_remove_book): Add precondition.

	* e-name-selector-dialog.c (escape_sexp_string): Implement.
	(source_selected): If the book cannot be created, don't try to
	load it.
	(search_changed): Escape the query string.

	* e-name-selector-entry.c (setup_default_contact_store): Only load
	true completion sources. Don't try to load books that can't be
	created.

2004-12-30  JP Rosevear  <jpr@novell.com>

	* Makefile.am (INCLUDES): include the addressbook builddir as well
	for generated files

2004-12-24  Hans Petter Jansson  <hpj@novell.com>

	* e-name-selector-entry.c (find_destination_by_index): Return NULL on
	failure.
	(generate_attribute_list): Temporarily disable an assertion.
	(setup_destination_store): Add previously existing destinations to
	the store.

2004-12-23  Hans Petter Jansson  <hpj@novell.com>

	* e-name-selector-entry.c (escape_sexp_string): Implement as a wrapper
	for e_sexp_encode_string ().
	(set_completion_query): Encode strings. Free all strings after use.
	(entry_activate): Implement.
	(e_name_selector_entry_init): Connect to our own activation signal.

2004-12-22  Hans Petter Jansson  <hpj@novell.com>

	* e-destination-store.c (e_destination_store_insert_destination): Don't
	push entries past end of array, ever.

	* e-name-selector-dialog.c (e_name_selector_dialog_dispose): Disconnect
	from model and clear out the books we're holding.
	(remove_books): Convenience function that removes all boks from our
	watch list.
	(source_selected): Use remove_books ().

	* e-name-selector.c (add_section): Don't take a destination store, we
	don't need it here.
	(e_name_selector_dialog): Connect to the window's delete-event, so we
	can hide it instead of destroying.
	(e_name_selector_peek_section_entry): Simplify this code a bit. Set the
	common destination store for the relevant section, on the entry.

	* e-name-selector-entry.c (build_textrep_for_contact): Use just the name
	for completion, not name + email.
	(contact_match_cue): Implement.
	(find_existing_completion): Use contact_match_cue ().
	(generate_attribute_list): Implement.
	(expose_event): Implement, applies attribute list.
	(type_ahead_complete): Rebuild the attribute list if we complete a
	contact.
	(modify_destination_at_position): Rebuild attributes as necessary.
	(sync_destination_at_position): Update cursor position for caller.
	Rebuild attribute list after sync.
	(insert_unichar): Clean up handling of comma insertion.
	(completion_match_selected): Implement.
	(destination_row_changed): Don't insert the email address. Clear the
	completion model so we don't get odd completion suggestions. Rebuild
	the attribute list.
	(destination_row_inserted): Don't insert the email address.
	(destination_row_deleted): Clear the completion model. Rebuild the
	attribute list.
	(e_name_selector_entry_init): Connect to the expose signal so we can
	apply attributes.
