2000-05-07  Chris Toshok  <toshok@helixcode.com>

	* ename/e-name-western.c (e_name_western_cleanup_string): comment
	function, and fix an ABR.

2000-05-08  Christopher James Lahey  <clahey@helixcode.com>

	* gui/minicard/e-minicard.c: Added saving in minicard view.

2000-05-07  Christopher James Lahey  <clahey@helixcode.com>

	* backend/pas/pas-backend-file.c: Fixed an off by 2 error.

2000-05-07  Chris Toshok  <toshok@helixcode.com>

	* gui/component/addressbook.c (set_prop): don't create a new
	ebook.  instead, unload the current uri (if there is one) and load
	the new one.
	(addressbook_factory): create the ebook once.

2000-05-07  Christopher James Lahey  <clahey@helixcode.com>

	* gui/component/e-addressbook-model.c: Replaced some model_changed
	calls with row_inserted calls.

2000-05-07  Christopher James Lahey  <clahey@helixcode.com>

	* backend/pas/pas-backend-file.c, backend/pas/pas-backend-ldap.c:
	Removed some code that was notifying too many clients at the wrong
	times.

	* gui/component/addressbook.c: Set view->book.  Unreffed
	view->book.  Unreffed the model instead of destroying it.  Removed
	the /tmp/test.db stuff.

2000-05-07  Christopher James Lahey  <clahey@helixcode.com>

	* gui/component/addressbook.c: Make the addressbook create the
	correct file uri.  Added a default query.  Initialize view->model
	and view->view to NULL.

	* gui/component/e-addressbook-model.c,
	gui/minicard/e-minicard-view.c: Only call get_book_view if both
	book and query and non-null.

2000-05-06  Chris Toshok  <toshok@helixcode.com>

	* gui/component/addressbook.c (control_deactivate): remove the
	separator and toggle view items as well.
	(toggle_view_as_cb): callback for the "/View/Toggle View" menu
	item.
	(get_query): getter for the query string that takes into account
	the two view types.
	(set_query): setter for the query string that takes into account
	the two view types.
	(set_book): setter for the EBook type - not really a setter, since
	the book is kept in the AddressbookView, but this method actually
	sets the "book" property on the current view.
	(find_contact_cb): make use of get/set_query
	(search_entry_activated): make use of set_query.
	(control_activate): add a menu separator and an item to toggle
	between view types.
	(book_open_cb): make use of set_book.
	(ebook_create): no longer needs to return the EBook, since we set
	the book field in our view.
	(teardown_minicard_view): destructor function for the minicard
	specific ui.
	(create_minicard_view): constructor function for the minicard
	specific ui.
	(teardown_table_view): destructor function for the e-table
	specific ui.
	(create_table_view): constructor function for the e-table specific
	ui.
	(change_view_type): destroy the old and create the new view ui,
	change the label of the Toggle View menu item, and reset the book
	and query on the new view type.
	(addressbook_factory): create an all-encompassing vbox that the
	view uses to create the bonobo control, which contains 1 widget
	per ui specific view (the e-table in the table case, and another
	vbox in the minicard case.)  use change_view_type to create the
	initial view.

2000-05-07  Christopher James Lahey  <clahey@helixcode.com>

	* backend/ebook/e-book.c: Made a NULL callback just mean to not
	call back.

	* backend/ebook/e-card-simple.c, backend/ebook/e-card-simple.h:
	Reordered fields.  Added a get_const function to get a constant
	string that persists until the simple is destroyed.

	* gui/component/Makefile.am: Added e-addressbook-model.c and
	e-addressbook-model.h and all of the libraries and includes that
	they are dependent on.

	* gui/component/addressbook-factory.c: Initialize e cursors.

	* gui/component/addressbook.c: Added inactive code to display an
	ETable view of the addressbook.

	* gui/component/e-addressbook-model.c,
	gui/component/e-addressbook-model.h: New files to implement an
	ETable model with a EBook back end.
	
2000-05-06  Christopher James Lahey  <clahey@helixcode.com>

	* backend/ebook/e-card-simple.c, backend/ebook/e-card-simple.h:
	Mostly finished ECardSimple.

	* contact-editor/e-contact-editor.c: Changed this to match with
	some of the changes to ECardSimple.

	* gui/component/addressbook.c: Changed this to look for
	"addressbook.db" in the given directory if it doesn't find the
	file "uri".

	* gui/minicard/e-minicard.c, gui/minicard/e-minicard.h: Changed
	this to use ECardSimple.

2000-05-06  Chris Toshok  <toshok@helixcode.com>
	
	* gui/component/.cvsignore: ignore evolution-addressbook.pure

	* gui/component/Makefile.am: add support for generating 
	evolution-addressbook.pure.

2000-05-06  Chris Toshok  <toshok@helixcode.com>

	* backend/pas/pas-backend-ldap.c (pas_backend_ldap_load_uri): if a
	port isn't specified in the uri default to 389.

2000-05-06  Christopher James Lahey  <clahey@helixcode.com>

	* gui/component/addressbook.c: Made this take a uri through its
	property bag.

2000-05-05  Christopher James Lahey  <clahey@helixcode.com>

	* backend/ebook/Makefile.am: Added e-card-simple.c and
	e-card-simple.h.

	* backend/ebook/e-card-simple.c, backend/ebook/e-card-simple.h:
	New card wrapper class to simplify things.

	* contact-editor/e-contact-editor.c,
	contact-editor/e-contact-editor.h: Changed e-contact-editor to use
	ECardSimple a bit.

2000-05-03  Chris Toshok  <toshok@helixcode.com>

	* gui/component/addressbook.c (control_deactivate): #ifdef
	HAVE_LDAP the ldap specific stuff.
	(null_cb): same.
	(control_activate): same.

2000-05-02  Ettore Perazzoli  <ettore@helixcode.com>

	* backend/ebook/Makefile.am (INCLUDES): Add
	`-I$(top_srcdir)/addressbook/ename'.

2000-05-02  Matt Loper  <matt@helixcode.com>

	* demo/Makefile.am: set G_LOG_DOMAIN.
	* printing/Makefile.am: same.

2000-05-01  Christopher James Lahey  <clahey@helixcode.com>

	* backend/pas/pas-book-factory.c: Add back in the
	CORBA_Object_release.

	* backend/pas/pas-book.c: Properly duplicate and release the
	listener passed to us.

2000-05-01  Christopher James Lahey  <clahey@helixcode.com>

	* backend/pas/pas-backend-file.c, backend/pas/pas-backend-ldap.c:
	Made uri slightly better managed.
	
	* backend/pas/pas-book-factory.c
	(pas_book_factory_process_request): Remove this
	CORBA_Object_release that causes things not to work.  This is just
	a temporary fix until we figure out what's actually wrong.

	* backend/pas/pas-book.c: Fixed a copy and paste error in a warning.
	
2000-05-01  Christopher James Lahey  <clahey@helixcode.com>

	* Makefile.am: Switched the subdirs order since backend depends on
	ename.

2000-05-01  Larry Ewing  <lewing@helixcode.com>

	* backend/pas/pas-backend-ldap.c (pas_backend_ldap_remove_client):
	fix a typo in the for loop.

2000-05-01  Michael Meeks  <michael@helixcode.com>

	* backend/pas/pas-book-factory.c: include gtk.

2000-04-30  Federico Mena Quintero  <federico@helixcode.com>

	* backend/ebook/e-book-types.h (EBookStatus): Added new status
	values for the IDL stuff.

	* backend/pas/pas-book-factory.h (PASBookFactoryClass): New
	"last_book_gone" signal.

	* backend/pas/pas-book-factory.c
	(pas_book_factory_launch_backend): Better error handling.
	(pas_book_factory_process_queue): Let
	pas_book_factory_process_request() free the request.
	(pas_book_factory_process_request): Free the request here.
	Perform better error handling.
	(free_active_server_map_entry): Free an active server map entry;
	free the URI key and unref the backend value.  This function was
	renamed; the old one was trying to CORBA_Object_unref() a GTK+
	object!
	(remove_backends_entry): Free a backend table entry; free the URI
	key.
	(backend_last_client_gone_cb): Remove the backend from the active
	server map and emit the "last_book_gone" signal if appropriate.
	(pas_book_factory_get_n_backends): New function to query the
	number of running backends in an addressbook factory.

	* backend/idl/addressbook.idl (BookListener::CallStatus): Added a
	ProtocolNotSupported code.  This is for when the addressbook
	factory cannot find a provider for the requested URI.

	* backend/pas/pas-backend.h (PASBackendClass): New
	"last_client_gone" signal.
	(PASBackendClass): New get_uri virtual method.

	* backend/pas/pas-backend.c (pas_backend_load_uri): Return a
	gboolean success code.
	(pas_backend_add_client): Return a gboolean success code.
	(pas_backend_last_client_gone): New function used by backend
	implementations to notify upwards when the backend's last client
	is destroyed.
	(pas_backend_get_uri): New function to get the URI of a backend.

	* backend/pas/pas-backend-file.c (pas_backend_file_add_client):
	Pass the backend as the closure data to the "destroy" handler of
	the book.  We cannot call pas_book_get_backend() in the callback
	since the book's private data has already been destroyed when the
	callback is invoked.  Alternatively, we could move the private
	data destruction step to the book's ::finalize() method.
	(pas_backend_file_book_destroy_cb): Get the backend from the
	callback's data, not from the book.
	(pas_backend_file_remove_client): Remove the book from the list of
	clients.  When all clients go away, call
	pas_backend_last_client_gone().
	(PASBackendFilePrivate): Added an uri field.
	(pas_backend_file_get_uri): Implement the get_uri method.
	(pas_backend_file_load_uri): Return a gboolean success code.
	Also, store the URI in the private structure.
	(pas_backend_file_add_client): Return a gboolean success code.
	Also, call pas_backend_last_client_gone() if appropriate.
	(pas_backend_file_destroy): Free the bf->priv->uri.

	* backend/pas/pas-backend-ldap.c (pas_backend_ldap_add_client):
	Pass the backend as the closure data to the "destroy" handler of
	the book.  See above for rationale.
	(pas_backend_ldap_book_destroy_cb): Get the backend from the
	callback's data.
	(pas_backend_ldap_remove_client): Remove the book from the list of
	clients.  When all clients go away, call
	pas_backend_last_client_gone().
	(pas_backend_ldap_load_uri): Return a gboolean success code.
	(pas_backend_ldap_add_client): Return a gboolean success code.
	Also, call pas_backend_last_client_gone() if appropriate.
	(PASBackendLDAPPrivate): New uri field.
	(pas_backend_ldap_get_uri): Implement the get_uri method.
	(pas_backend_ldap_load_uri): Store the uri in the private
	structure.
	(pas_backend_ldap_destroy): Free the bl->priv->uri.

2000-04-30  Chris Toshok  <toshok@helixcode.com>

	* gui/component/Makefile.am (evolution_addressbook_SOURCES): added
	e-ldap-server-dialog.c
	(glade_DATA): added ldap-server-dialog.glade

	* gui/component/ldap-server-dialog.glade: new file.

	* gui/component/e-ldap-server-dialog.h: new file.

	* gui/component/e-ldap-server-dialog.c: new file, contains logic
	associated with ldap server dialog.

	* gui/component/addressbook.c (control_deactivate): remove the
	directory server menu item.
	(null_cb): do nothing callback for e_book_load_uri call.  should
	change to (at the very least) pop up a dialog if there was an
	error.
	(new_server_cb): new function - really just switches to a
	particular ldap server, since the information isn't saved
	anywhere.
	(control_activate): add directory server menu item.

2000-04-30  Chris Toshok  <toshok@helixcode.com>

	* backend/ebook/e-book.c (e_book_load_uri): create the book
	listener here, since it's destroyed in unload_uri.
	(e_book_construct): remove the book listener construction here.

2000-04-30  Christopher James Lahey  <clahey@helixcode.com>

	* backend/ebook/.cvsignore: Added load-pine-addressbook.

2000-04-30  Christopher James Lahey  <clahey@helixcode.com>

	* contact-editor/contact-editor.glade,
	contact-editor/e-contact-editor.c, gui/minicard/e-minicard.c: Made
	some fields invisible that were visible before.

2000-04-30  Christopher James Lahey  <clahey@helixcode.com>

	* backend/ebook/e-card.c: Make file as not have the : after it if
	it's empty.  If there's no name, or file_as, fill in these fields
	with defaults based on full_name or name respectively.

	* backend/ebook/load-pine-addressbook.c: New file to do import of
	pine .addressbook files.

	* backend/pas/pas-backend-file.c: Made empty fields act as the
	empty string for searches.

	* contact-editor/e-contact-editor.c,
	contact-editor/e-contact-editor.h: Made the File As field update
	properly as you edit the name and company fields.  Added the pull
	down list of File As choices.  Made sure that all fields will
	be set to NULL if they are deleted to the empty string.

	* gui/minicard/e-minicard.c: Use the File As field instead of the
	Full Name field for the header.  Make identical compares on the
	File As field do a compare on the uid.

2000-04-30  Christopher James Lahey  <clahey@helixcode.com>

	* contact-editor/e-contact-editor-fullname.c,
	contact-editor/fullname.glade: Fixed a string mismatch.

2000-04-30  Christopher James Lahey  <clahey@helixcode.com>

	* backend/ebook/Makefile.am: Added ename includes and libs.

	* backend/ebook/e-card.c, backend/ebook/e-card.h: Added
	e_card_name_from_string.  Added header for
	e_card_delivery_address_from_string, even though it's not
	implemented yet.

	* contact-editor/Makefile.am: Removed the ename includes since we
	no longer use ename directly here.

	* contact-editor/e-contact-editor.c: Fixed this to properly save
	the address labels displayed.  Updated this to use the function
	e_card_name_from_string instead of doing it by hand.

	* contact-editor/fullname-strings.h,
	contact-editor/fullname.glade: Deleted an unused field.  Changed
	the set of prefixes and suffixes.

2000-04-30  Chris Toshok  <toshok@helixcode.com>

	* backend/pas/pas-backend-ldap.c
	(pas_backend_ldap_ensure_connected): add support for a rootdn in
	the uri.
	(pas_backend_ldap_build_all_cards_list): make use of the rootdn in
	the call to ldap_search_s.
	(pas_backend_ldap_search): same.
	(pas_backend_ldap_load_uri): get the rootdn out of the passed in uri.

2000-04-29  Christopher James Lahey  <clahey@helixcode.com>

	* backend/ebook/e-card.c, backend/ebook/e-card.h: Added
	e_card_phone_new e_card_delivery_address_new,
	e_card_delivery_address_to_string, e_card_name_copy,
	e_card_name_new, e_card_name_to_string, and made e_card_name_free
	public.  Removed some unused code.

	* backend/pas/pas-backend-file.c: Fixed a warning.

	* contact-editor/Makefile.am: Added e-contact-editor-fullname.[ch]
	and fullname.glade.  Added e-name libs and includes.

	* contact-editor/e-contact-editor-fullname.c,
	contact-editor/e-contact-editor-fullname.h,
	contact-editor/fullname-strings.h, contact-editor/fullname.glade:
	New dialog for editing the fields of a name separately.

	* contact-editor/e-contact-editor.c,
	contact-editor/e-contact-editor.h: Create an
	EContactEditorFullname when you click on the Full Name button.
	Maintain a parsed name at all times.

	* gui/component/Makefile.am, gui/minicard/Makefile.am: Added
	e-name libs.

2000-04-28  Larry Ewing  <lewing@helixcode.com>

	* backend/pas/pas-book-factory.c (register_factory): fix the
	`USING_OAF' changes so that they work for when we are not using
	oaf.

2000-04-27  Ettore Perazzoli  <ettore@helixcode.com>

	* ename/Makefile.am
	(gnome_libs): Use `BONOBO_GNOME_LIBS'.
	(INCLUDES): Add `-I$(srcdir)/..'.

	* backend/pas/pas-book-factory.c
	(register_factory): New function to register the factory.
	Implementation different according to `USING_OAF'.
	(pas_book_factory_activate): Use `register_factory()'.

	* gui/component/addressbook.c: New #define `CONTROL_FACTORY_ID',
	varying depending on whether we are `USING_OAF'.
	(addressbook_factory_init): Use `CONTROL_FACTORY_ID'.

	* backend/ebook/test-client.c (init_corba): New function,
	implemented differently according to the `USING_OAF' #define.

	* backend/ebook/e-book.c: New #define `CARDSERVER_OAF_ID'.
	(e_book_construct): Work with OAF #if `USING_OAF'.

	* backend/ebook/Makefile.am (gnome_libs): Removed.
	(corbadir): Removed.
	(ebook_libs): Removed.
	(test_client_LDADD): Just add `libebook.la'.
	(test_card_LDADD): Likewise.
	(test_client_list_LDADD): Likewise.

	* gui/component/addressbook-factory.c
	(init_corba): New helper function, implemented differently
	according to `USING_OAF'.
	(main): Call `init_corba()'.

2000-04-27  Christopher James Lahey  <clahey@helixcode.com>

	* backend/ebook/e-card.c, backend/ebook/e-card.h: Added file as,
	office, manager, assistant, spouse, and anniversary fields.  These
	all use "X-EVOLUTION-" fields in the VCards.

	* backend/pas/pas-backend-file.c: Added all the new fields (except
	anniversary) to the list of fields.

	* contact-editor/contact-editor.glade,
	contact-editor/e-contact-editor-strings.h: Fixed some misnamed
	fields and fixed the placement of the comments field.

	* contact-editor/e-contact-editor.c: Made the newly added fields
	display properly.

	* Makefile.am: Added ename.

	* ename/e-name-western.h, ename/test-ename-western-gtk.c,
	ename/test-ename-western.c: Fixed up some #includes.

	* ename/.cvsignore: Added .cvsignore.

2000-04-26  Christopher James Lahey  <clahey@helixcode.com>

	* backend/ebook/e-card-types.h, backend/ebook/e-card.c,
	backend/ebook/e-card.h: Added an address label field.

	* contact-editor/contact-editor.glade,
	contact-editor/e-contact-editor-strings.h: Got rid of some unused
	fields.

	* contact-editor/e-contact-editor.c,
	contact-editor/e-contact-editor.h: Added the address label field.
	Load only.  Editing these fields seems to mess things up.

2000-04-26  Christopher James Lahey  <clahey@helixcode.com>

	* contact-editor/e-contact-editor.c: Added proper handling of the
	email field.

2000-04-26  Christopher James Lahey  <clahey@helixcode.com>

	* backend/ebook/e-card-types.h, backend/ebook/e-card.c,
	gui/minicard/e-minicard.c: Prefixed the ADDR_ flags.

	* contact-editor/contact-editor.glade,
	contact-editor/e-contact-editor-strings.h: Edited the glade file.
	Removed all the fields that we don't use.

	* contact-editor/e-contact-editor.c,
	contact-editor/e-contact-editor.h: Made the phone fields work
	properly.  The address and email fields are temporarily turned off
	until they can be made to work as the phone fields do.

2000-04-25  Ettore Perazzoli  <ettore@helixcode.com>

	* gui/minicard/Makefile.am (INCLUDES): Use
	`$(BONOBO_GNOME_CFLAGS)'.

	* backend/pas/Makefile.am (idl_flags): Add `-I $(datadir)/idl' to
	pick up IDL files in the installation prefix as well.
	(INCLUDES): Use `$(BONOBO_GNOME_CFLAGS)'.

	* backend/ebook/Makefile.am (ORBIT_IDL): Use `-I $(datadir)/idl'
	to get the IDLs from the installation prefix as well.
	(INCLUDES): Add `$(BONOBO_GNOME_CFLAGS)'.
	(test_client_LDADD): Use `$(BONOBO_GNOME_LIBS)' instead of
	hardcoding `-lbonobo'!  Also get rid of some other useless flags,
	as `$(BONOBO_GNOME_LIBS)' really has all what we need.
	(test_client_list_LDADD): Likewise.
	(test_card_LDADD): Likewise.

2000-04-18  Federico Mena Quintero  <federico@helixcode.com>

	* gui/minicard/Makefile.am (INCLUDES): Use "e-minicard" as the log
	domain.

	* gui/component/Makefile.am (INCLUDES): Use
	"evolution-addressbook" as the log domain.

	* backend/pas/Makefile.am: Build libpas.a, not a shared library.
	Do not install any header files.
	(INCLUDES): Remove spurious include paths.

	* backend/pas/*.[ch]: Fix includes.

	* backend/ebook/Makefile.am: Do not install the test programs.
	Fixed some include weirdness.

	* backend/ebook/*.[ch]: Fix includes.

	* contact-editor/Makefile.am (INCLUDES): Set the log domain to
	"contact-editor".
	(INCLUDES): Fix.

	* contact-editor/*.[ch]: Fix includes.

	* gui/minicard/*.[ch]: Fix includes.

	* ChangeLog: Started a ChangeLog here.