2001-03-01 Jon Trowbridge <trow@ximian.com>
* gui/component/select-names/e-select-names-table-model.c
(fill_in_info): Change for new EDestination/ESelectNamesModel API.
* gui/component/select-names/e-select-names-manager.c
(e_select_names_manager_get_source): Added. A function for
looking up the ESelectNamesModel by id. (I didn't end up using
this function, but it might come in handy later.)
(e_select_names_manager_get_cards): #if 0/#endif out this
function.
(e_select_names_manager_create_entry): Modified to attach an
ESelectNamesCompletion to the entry we create.
(completion_handler): A post-completion handler for our EEntry, to
take the completion's extra data (an EDestination) and properly
stick it into our ESelectNamesModel.
* gui/component/select-names/e-select-names.c
(real_add_address_cb): Changed to operate on EDestinations rather
than ECards and to use the new ESelectNamesModel API. This leads
to a rather nice code simplication.
(remove_address): Changed for new ESelectNamesModel API.
* gui/component/select-names/e-select-names-bonobo.c
(entry_get_property_fn): Rather than just passing the entry's text
through the property bag, get the "address text" from the model.
This returns a nice, verbose string of addresses with names
expanded when the address is tied to an ECard (i.e. "Jon
Trowbridge <trow@ximian.com>").
(impl_SelectNames_get_entry_for_section): Make the text property
read-only.
(entry_set_property_fn): ...and since it is read-only now, chop
out the setter code.
* gui/component/select-names/e-select-names-text-model.h:
* gui/component/select-names/e-select-names-text-model.c: Again,
this code has been (pretty much) totally rewritten to convert all
text operations into changes on the ESelectNamesModel. This lets
us give the associated EEntry some (IMHO) nice semantics regarding
whitespace, etc. Includes object activation, so destinations tied
to ECards are underlined and can be double-clicked to bring up a
contact editor.
* gui/component/select-names/e-select-names-model.h:
* gui/component/select-names/e-select-names-model.c: I've heavily
modified this object to both hide all implementation details
(which the old version exposed a bit too much for my peculiar
tastes) and to act as an EDestination container. The old code put
the text model operations here. I've moved them all to
ESelectNamesTextModel --- so the text model actions (insert,
delete, etc.) are all done through the API rather than operating on
ESelectNamesModel internals.
* gui/component/select-names/e-select-names-completion.c: Added. A
fairly complicated object derived from ECompletion that searches
our local addressbook in various and sundry ways.
* gui/component/select-names/e-select-names-completion.h:
* backend/ebook/e-destination.h:
* backend/ebook/e-destination.c: Added. This object encapsulates
a place to sent an email to, which can either be just a address as
a string ("trow@ximian.com"), a fancier string ("Jon Trowbridge
<trow@ximian.com>"), or an ECard and a specific address within
that ECard.
svn path=/trunk/; revision=8459
2001-02-21 Christopher James Lahey <clahey@ximian.com>
* backend/pas/pas-backend-file.c (pas_backend_file_search): Made
this pay attention to the return value of e_sexp_parse.
* gui/component/select-names/e-select-names-text-model.c
(e_select_names_text_model_activate_obj): Fixed a const
inconsistency here.
svn path=/trunk/; revision=8321
2001-02-21 Chris Toshok <toshok@ximian.com>
* backend/pas/pas-book.c (pas_book_queue_get_supported_fields):
new function.
(impl_GNOME_Evolution_Addressbook_Book_getSupportedFields): track
change to idl.
(pas_book_respond_get_supported_fields): new function.
* backend/pas/pas-book.h: add GetSupportedFields to the
PASOperation enum. Also, add a stringlist field to the PASRequest
struct. lastly, add a prototype for
pas_book_respond_get_supported_fields.
* backend/pas/pas-backend.h: remove prototype for
pas_backend_get_supported_fields, and remove it from the vtable.
* backend/pas/pas-backend.c (pas_backend_get_supported_fields):
remove.
(pas_backend_class_init): no vtable entry for get_supported_fields
anymore.
* backend/pas/pas-backend-ldap.c
(pas_backend_ldap_process_get_supported_fields): new function.
(pas_backend_ldap_process_client_requests): add case for
GetSupportedFields.
(pas_backend_ldap_class_init): get_supported_fields isn't in
vtable anymore.
* backend/pas/pas-backend-file.c
(pas_backend_file_process_get_supported_fields): new function.
(pas_backend_file_process_client_requests): add case for
GetSupportedFields.
(pas_backend_file_class_init): get_supported_fields isn't in
vtable anymore.
* backend/idl/addressbook.idl: Book::getSupportedFields now
returns void and add BookListener::notifySupportedFields.
* backend/ebook/test-client.c (get_fields_cb): new function.
(auth_user_cb): track change to e_book_get_supported_fields.
* backend/ebook/e-book.c
(e_book_do_response_get_supported_fields): new function.
(e_book_check_listener_queue): add case
GetSupportedFieldsResponse.
(e_book_get_supported_fields): switch to async model.
* backend/ebook/e-book.h: switch e_book_get_supported_fields to an
async model.
* backend/ebook/e-book-listener.c
(e_book_listener_queue_get_supported_fields_response): new
function.
(impl_BookListener_response_get_supported_fields): new function.
(e_book_listener_get_epv): fill in epv's "notifySupportedFields"
* backend/ebook/e-book-listener.h: add an async response for
GetSupportedFields and add a stringlist member to the
EBookListenerResponse struct.
svn path=/trunk/; revision=8316
2001-02-20 Federico Mena Quintero <federico@ximian.com>
* backend/pas/pas-book-factory.c (pas_book_factory_activate):
Moved the register_factory() code to here, since it was the only
thing being called anyways.
(PasBookFactoryPrivate): Added a "registered" flag.
(pas_book_factory_activate): Set the registered flag.
(pas_book_factory_destroy): Deactivate the factory when we go away.
svn path=/trunk/; revision=8307
2001-02-19 Jon Trowbridge <trow@ximian.com>
* gui/component/select-names/e-select-names-manager.c
(e_select_names_manager_create_entry): When creating the entry,
open up an ebook (corresponding to the local addressbook) and make
the entry use an EAddressCompletion.
(completion_handler): Added; this is the actual completion
handler, which manipulates the entry when the user selects
something from the drop-down.
* gui/component/select-names/e-select-names-model.c: Various hacks
by clahey to unbreak e_select_names_model_add_item,
e_select_names_model_replace_item (which I added) and
e_select_names_model_remove_item.
* gui/component/select-names/e-select-names-text-model.c
(e_select_names_text_model_obj_count,
e_select_names_text_model_get_nth_obj): Make chunks of text that
correspond to ECards in the ESelectNamesModel be embedded objects.
(e_select_names_text_model_activate_obj): On activation, pop up a
contact editor for the embedded object's card.
(e_select_names_text_model_model_changed): Fixed to work with
ETextModel API changes.
(e_select_names_text_model_set_text): Make const correct.
(e_select_names_text_model_insert): Make const correct.
(e_select_names_text_model_insert_length): Make const correct.
* backend/ebook/e-address-completion.h,
backend/ebook/e-address-completion.c: Added. EAddressCompletion
is a derived class of ECompletion that does asynchronous address
lookups for completions.
svn path=/trunk/; revision=8282
2001-02-17 Chris Toshok <toshok@ximian.com>
* backend/idl/addressbook.idl: add sequence<string> typedef, and
add getSupportedFields method.
* backend/pas/pas-book.c
(impl_GNOME_Evolution_Addressbook_Book_getSupportedFields): new
function.
* backend/pas/pas-backend.c (pas_backend_class_init): init
get_supported_fields = NULL.
(pas_backend_get_supported_fields): new function.
* backend/pas/pas-backend.h: add prototype for
pas_backend_get_supported_fields.
* backend/pas/pas-backend-file.c
(pas_backend_file_get_supported_fields): new function.
(pas_backend_file_class_init): fill in get_supported_fields.
* backend/pas/pas-backend-ldap.c
(pas_backend_ldap_get_supported_fields): new function.
(pas_backend_ldap_class_init): fill in get_supported_fields.
svn path=/trunk/; revision=8270
2001-02-14 Christopher James Lahey <clahey@ximian.com>
* backend/pas/pas-backend-ldap.c: Undefine E_STRING_PROP and
E_LIST_PROP here.
* contact-editor/e-contact-editor.c,
contact-editor/e-contact-editor.h (e_contact_editor_raise): Added
this function.
* gui/widgets/e-minicard.c, gui/widgets/e-minicard.h
(e_minicard_event): Added an editor field to the EMinicard object.
Made it so that if you double click on the same card twice, it
doesn't open a new window, but instead raises the old.
2001-02-08 Iain Holmes <iain@ximian.com>
* gui/component/addressbook-storage.c (addressbook_source_free):
Free the ldap.binddn.
* gui/widgets/e-addressbook-view.c
(e_addressbook_view_setup_menus): Free the dir strings.
2001-02-08 Christopher James Lahey <clahey@ximian.com>
* contact-editor/e-contact-editor.c (categories_clicked): Set the
header on the category dialog we pop up.
svn path=/trunk/; revision=8234
2001-02-12 Kjartan Maraas <kmaraas@gnome.org>
* gui/component/select-names/GNOME_Evolution_Addressbook_SelectNames.oaf.in:
Marked strings for translation in this newly created file.
* gui/component/select-names/Makefile.am: Hook up the .oaf.in files in the
xml-i18n-tools framework.
* gui/component/Makefile.am: Same as above.
* gui/component/GNOME_Evolution_Addressbook.oaf.in: Marked stuff for translation here
too.
svn path=/trunk/; revision=8183
2001-02-07 Chris Toshok <toshok@ximian.com>
* backend/pas/pas-backend-ldap.c (check_for_evolve_person): flesh
out this check. #ifdef the entire thing OPENLDAP2, as it only
works with the new schema stuff in openldap 2.x (both on server
and client, so upgrade your server.)
svn path=/trunk/; revision=8097
2001-02-07 Chris Toshok <toshok@ximian.com>
* backend/pas/pas-backend-ldap.c (pas_backend_ldap_connect): only
set the DEBUG_LEVEL if we're OPENLDAP2.
svn path=/trunk/; revision=8062
2001-02-06 Chris Toshok <toshok@ximian.com>
* backend/pas/pas-backend-ldap.c (email_compare): return TRUE if
equal, FALSE otherwise.
(business_compare): same.
(homephone_compare): same.
(email_ber): return NULL if there are no elements in our list.
(homephone_ber): same.
(business_ber): same.
(build_mods_from_ecards): add smarts to handle list elements
properly (like email, business_phone, home_phone.) now we'll
properly send updates if any element in the list changes.
svn path=/trunk/; revision=8047
2001-02-06 Chris Toshok <toshok@ximian.com>
* backend/pas/evolveperson.schema: new file. this will eventually
form the suggested additions to an existing openldap server that,
along with support for inetorgperson, will allow people to store
all evolution attributes in ldap.
svn path=/trunk/; revision=8028
2001-02-06 Chris Toshok <toshok@ximian.com>
* backend/pas/pas-backend-ldap.c (pas_backend_ldap_init): don't
need the = NULL's since we g_new0.
(check_for_evolve_person): new function.
(pas_backend_ldap_connect): check to see if the evolvePerson
objectclass is there.
(build_mods_from_ecards): right now, just silently skip the extra
attributes if we don't support evolvePerson.
(add_objectclass_mod): new function, add both inetOrgPerson and
(if it's available) evolvePerson as objectclasses.
(pas_backend_ldap_process_authenticate_user): also check to see if
evolvePerson is there, if we couldn't do it (due to auth reasons)
in the connect method.
(prop_info): change the telephoneNumber LDAP attribute to be used
for evolution's business phone numbers. the primary phone number
will be a single valued attribute on evolvePerson.
(business_populate): new function.
(business_ber): new function.
(business_compare): new function.
svn path=/trunk/; revision=8025
2001-02-05 Chris Toshok <toshok@ximian.com>
* backend/pas/pas-backend-ldap.c (modify_card_handler): switch to
ldap_modify_ext_s if OPENLDAP2, as ldap_modify_s is deprecated.
(build_mods_from_ecards): don't include the mod if the value is ""
- this isn't valid on schema checking ldap servers.
(homephone_populate): new function.
(homephone_ber): new function.
(homephone_compare): new function.
(create_card_handler): add spew when adding cards so I can see
what's going on.
svn path=/trunk/; revision=8009
2001-02-05 Christopher James Lahey <clahey@helixcode.com>
* backend/ebook/e-card.c (e_card_get_vcard): Make the Note field
be quoted printable.
2001-01-27 Christopher James Lahey <clahey@helixcode.com>
* gui/search/e-addressbook-search-dialog.c
(e_addressbook_search_dialog_init): This should be a close button,
not a cancel button.
svn path=/trunk/; revision=7971
2001-01-25 Christopher James Lahey <clahey@helixcode.com>
* backend/pas/pas-backend-file.c (pas_backend_file_load_uri): Made
this only add the initial VCard if it finds a file
"create-initial" in the directory it's creating the database in.
* gui/component/addressbook-component.c (factory_fn): Added a
create_folder function.
* gui/search/e-addressbook-search-dialog.c
(e_addressbook_search_dialog_init): Fixed an unused variable
warning.
svn path=/trunk/; revision=7816
2001-01-24 Chris Toshok <toshok@ximian.com>
* backend/pas/pas-backend-ldap.c (email_ber_func): make sure to
add the lengths here (include the \0? anyone?).
(build_mods_from_ecards): if we're filling in mod->mod_bvalues,
set mod_op |= LDAP_MOD_BVALUES.
svn path=/trunk/; revision=7791
2001-01-19 JP Rosevear <jpr@ximian.com>
* conduit/address-conduit.c (ecard_from_remote_record): always free
the delivery elements and correct embarrassingly stupid memory error
that was causing the addressbook conduit problems.
* backend/ebook/e-book-view-listener.c
(e_book_view_listener_check_queue): ref/unref ourself when processing
in case someone we signal unrefs us.
* conduit/address-conduit.c (sequence_complete): disconnect signals
when complete
svn path=/trunk/; revision=7641
2001-01-17 Federico Mena Quintero <federico@ximian.com>
* backend/pas/pas-book-factory.c (pas_book_factory_activate): Made
it return a gboolean; it was completely ignoring the return value
from register_factory().
svn path=/trunk/; revision=7624
2001-01-17 Larry Ewing <lewing@helixcode.com>
* configure.in (EVOLUTION_DIR): add the
doc/devel/importer/Makefile as a target.
* backend/ebook/Makefile.am (oaf_DATA): don't require the pine
oainfo file until it is actually added to the repository. We need
to keep the build working for nightlies to work.
svn path=/trunk/; revision=7597
2001-01-11 Chris Toshok <toshok@helixcode.com>
* backend/pas/pas-backend-ldap.c
(pas_backend_ldap_process_create_card): get a book view from
somewhere so we can give status messages - choose the first one in
the list.
(pas_backend_ldap_process_modify_card): same.
(pas_backend_ldap_process_remove_card): same.
(prop_info): add more properties, like home_phone, mobile, pager,
uri, org_unit, office, title, and manager.
svn path=/trunk/; revision=7404
2001-01-09 Chris Toshok <toshok@helixcode.com>
* gui/widgets/e-minicard-view-widget.c
(e_minicard_view_widget_class_init): register our status_message
signal.
(status_message): new function, emit our status_message signal.
(e_minicard_view_widget_realize): connect to the EMinicardView's
status_message signal.
* gui/widgets/e-minicard-view-widget.h: add status_message signal.
* gui/widgets/e-minicard-view.c (e_minicard_view_class_init):
register our status_message signal.
(e_minicard_view_init): init status_message_id.
(status_message): new function, emit our status_message signal.
(book_view_loaded): connect to the EBookView's status_message
signal.
(disconnect_signals): disconnect status_message_id.
* gui/widgets/e-minicard-view.h: add status_mesage_id, and
status_message signal.
* gui/widgets/e-addressbook-model.c (status_message): new
function, emit our status_message.
(e_addressbook_model_class_init): register our "status_message"
signal.
(book_view_loaded): connect to the EBookView's status_message
signal, so we can chain it to our parent.
(e_addressbook_model_init): init status_message_id.
(remove_book_view): disconnect status_message_id.
* gui/widgets/e-addressbook-model.h: add status_message_id, and
status_message signal.
* backend/pas/pas-backend-ldap.c change the objectclass we create
objects with to "inetOrgPerson" as it encompasses the fields we
use.
(create_dn_from_ecard): remove the mail/org handling from
here. we just prepend cn=$cn onto the base dn.
(create_card_handler): remove the NULL that build_mods_from_ecards
adds at the end, and insert our objectClass.
(modify_card_handler): call search_for_dn to get the ECardSimple
of the old card, since it might (and does in the current code)
doing a brute force search.
(search_for_dn): new function, to search for an entry by its dn.
right now we brute force (objectclass=*) under the base dn and
compare dn's. going to add a first pass that explodes the dn and
searches that way, using (objectclass=*) as a last resort. also,
here's where we'd put the extensibleMatch code if we want to go
that route.
* backend/ebook/e-card.c (e_card_set_arg): if we're setting the
full name regenerate ecard->name.
svn path=/trunk/; revision=7345
2001-01-09 Chris Toshok <toshok@helixcode.com>
* backend/ebook/e-card.c (e_card_set_arg): if we're setting the
full name regenerate ecard->name.
svn path=/trunk/; revision=7342
2001-01-04 Chris Toshok <toshok@helixcode.com>
* backend/ebook/e-book-listener.c
(e_book_listener_queue_authentication_response): new function.
(impl_BookListener_respond_authentication_result): new function.
(e_book_listener_get_epv): fill in
epv->notifyAuthenticationResult.
* backend/ebook/e-book-listener.h: add AuthenticationResponse to
EBookListenerOperation.
* backend/ebook/e-book.c (e_book_authenticate_user): new function.
* backend/ebook/e-book.h: add prototype for
e_book_authenticate_user.
* backend/idl/addressbook.idl (GNOME:Evolution:Addressbook:Book):
add authenticateUser method.
(GNOME:Evolution:Addressbook:BookListener): add
AuthenticationFailed and AuthenticationRequired to CallStatus.
also add notifyAuthenticationResult method.
* backend/pas/pas-backend-file.c
(pas_backend_file_process_authenticate_user): dummy
authenticate_user function that always succeeds.
(pas_backend_file_process_client_requests): respond to the
AuthenticateUser request.
* backend/pas/pas-backend-ldap.c (pas_backend_ldap_build_query):
gtk_object_unref(sexp) => s_exp_unref(sexp).
(pas_backend_ldap_process_authenticate_user): fill in to use
ldap_simple_bind_s.
(pas_backend_ldap_process_client_requests): respond to the
AuthenticateUser request.
* backend/pas/pas-book.c (pas_book_queue_authenticate_user): new
function.
(impl_GNOME_Evolution_Addressbook_Book_authenticateUser): new
function.
(pas_book_respond_authenticate_user): new function.
(pas_book_get_epv): fill in epv->authenticateUser.
* backend/pas/pas-book.h: add AuthenticateUser operation type, and
add user/passwd to the PASRequest struct.
* gui/component/addressbook-storage.c
(addressbook_storage_get_source_by_uri): new function. should use
a hashtable, perhaps, but the lists will generally be small
anyway.
* gui/component/addressbook-storage.h: add prototype for
addressbook_storage_get_source_by_uri.
* gui/component/addressbook-config.c
(addressbook_source_dialog_set_source): fill in the binddn if the
auth page is shown.
* gui/component/addressbook.c (book_open_cb): shoe-horn
authentication in here. if the source was configured to use
authentication, authenticate the user after opening the ebook.
also, be paranoid and clear out the password after authenticating.
(book_auth_cb): callback for auth. set the "book" arg on the
view->view here.
(passwd_cb): set the view's passwd that'll be used in
book_open_cb.
(addressbook_view_free): g_free view->passwd.
svn path=/trunk/; revision=7265
2001-01-04 JP Rosevear <jpr@helixcode.com>
* backend/pas/pas-backend-file.c (pas_backend_file_book_view_free):
Need to e_sexp_unref the the sexp, not gtk_object_unref it.
svn path=/trunk/; revision=7256
2001-01-03 Michael Meeks <michael@helixcode.com>
* backend/pas/pas-backend-file.c (pas_backend_file_search):
g_strdup things we g_free.
svn path=/trunk/; revision=7229
2000-12-21 JP Rosevear <jpr@helixcode.com>
* conduit/address-conduit.c (cursor_cb): Ref the cards that get put
in the change list
(next_changed_item): util function to get the real next changed item
(compute_status): really compute the status of the record
(local_record_from_uid): Set the id of the temporary card
(check_for_slow_setting): Make this check a little saner
(card_added): Only record the CardObjectChange if the card is not
archived
(card_changed): ditto
(card_removed): ditto
(set_status_cleared): actually clear the status
(for_each_modified): Clean out cruft and use next_changed_item
(add_record): Set the new id properly in our local card copy
(replace_record): handle the case where the record has been deleted
and we need to call add. need to update the changed_hash entry
(delete_record): Don't panic if the card is not found, its already
been deleted.
* backend/pas/pas-backend-file.c (pas_backend_file_book_view_copy):
The change_context no longer has a del_cards member
(pas_backend_file_book_view_free): ditto
(pas_backend_file_process_get_changes): ditto
(pas_backend_file_changes_foreach_key): just record the id
(pas_backend_file_changes): notify_remove needs an id not a vcard
svn path=/trunk/; revision=7120
2000-12-18 Chris Toshok <toshok@helixcode.com>
* backend/pas/pas-backend-ldap.c (ldap_error_to_response): always
use LDAP_NAME_ERROR (in the openldap1 case it's #defined to
NAME_ERROR).
(build_card_from_entry): ldap_get_values can return NULL. also,
openldap2 keeps us from getting at ldap->ld_errno, so we can't
tell if there was a decoding error like we used to. the double
free problem where ldap would free the ber if there was a decoding
problem might be fixed now.. further investigation is needed.
for now we leak in openldap2.
(ldap_search_handler): the ldap structure is opaque, so use
ldap_search_ext to give the extra information (the max responses,
timeout, etc.) in the openldap2 case.
svn path=/trunk/; revision=7073
2000-12-13 Christopher James Lahey <clahey@helixcode.com>
* backend/pas/pas-backend-ldap.c (ldap_error_to_response): Test
for the existance of LDAP_NAME_ERROR and if it exists as a macro,
use it instead of NAME_ERROR.
svn path=/trunk/; revision=6992
2000-12-09 Christopher James Lahey <clahey@helixcode.com>
* backend/ebook/e-card.c (e_card_set_arg): When setting the "name"
argument, copy the incoming name. This fixes a crash.
svn path=/trunk/; revision=6887
2000-12-08 Christopher James Lahey <clahey@helixcode.com>
* backend/ebook/e-card.c: Fixed some formatting.
* contact-editor/e-contact-editor-categories.h: Removed an
unneeded #include.
* gui/widgets/e-addressbook-view.c: Connect to the signals on the
ETable instead of the ETableScrolled.
svn path=/trunk/; revision=6872
2000-12-05 JP Rosevear <jpr@helixcode.com>
* backend/pas/pas-backend-file.c (pas_backend_file_changes_foreach_key):
Create an empty vcard with the appropriate id for deleted cards
* conduit/address-conduit.c (ecard_from_remote_record): Ensure the
address fields are added sensibly
svn path=/trunk/; revision=6793
2000-12-04 Michael Meeks <michael@helixcode.com>
* e-shell-view.c (get_control_for_uri): return NULL if we can't
create a view.
(setup_evolution_shell_view_interface): add precondition.
+
lots of cleans.
svn path=/trunk/; revision=6778
2000-11-27 JP Rosevear <jpr@helixcode.com>
* conduit/address-conduit.h: Remove "complete" field
* conduit/address-conduit.c (print_local): Make it print useful debug
info
(print_remote): ditto
(local_record_from_ecard): Make sure phone numbers get out to the pilot
(ecard_from_remote_record): Set phone strings to "" if they are null
(sequence_complete): unref the book view
(view_cb): ref the book view
(free_prepare): do nothing
* backend/pas/pas-backend-file.c (pas_backend_file_book_view_free):
Destroy the card lists with the rest of the view.
(pas_backend_file_changes): Don't destroy the card lists here
(pas_backend_file_book_view_free): Free the card/id lists in the
change context here, the correct place.
(pas_backend_file_changes): instead of here...
2000-11-27 JP Rosevear <jpr@helixcode.com>
* conduits/todo/todo-conduit.c (free_prepare): Ditto
* conduits/calendar/calendar-conduit.c (free_prepare): Adjust
free_prepare to the correct signal parameters. Don't actually
do anything - there is a semantic discrepancy that needs to be
resolved.
2000-11-27 JP Rosevear <jpr@helixcode.com>
* providers/local/.cvsignore: shush
svn path=/trunk/; revision=6681
2000-11-22 Christopher James Lahey <clahey@helixcode.com>
* backend/pas/pas-backend-file.c: Set view.change_context to NULL
in pas_backend_file_process_get_book_view. Changed
pas_backend_file_book_view_copy a bit.
* backend/pas/pas-backend-ldap.c: Got rid of a warning.
svn path=/trunk/; revision=6654