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.