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.