Commit Graph

273 Commits

Author SHA1 Message Date
ce67772c53 Change for new EDestination/ESelectNamesModel API.
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-03-01 21:03:02 +00:00
34aaf812b1 Made this pay attention to the return value of e_sexp_parse.
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 17:39:29 +00:00
65438eb13d new function. (impl_GNOME_Evolution_Addressbook_Book_getSupportedFields):
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-21 09:19:15 +00:00
f9a92db9a9 Moved the register_factory() code to here, since it was the only thing
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-20 22:35:19 +00:00
fe09540318 new function.
2001-02-20  Chris Toshok  <toshok@ximian.com>

	* backend/ebook/e-book.c (e_book_get_supported_fields): new function.

	* backend/ebook/e-book.h: add e-book interface to getting
	supported fields.

	* backend/ebook/test-client.c (auth_user_cb): shoe-horn in some
	spew about supported fields.

svn path=/trunk/; revision=8303
2001-02-20 14:14:37 +00:00
f875d3086c Removed entry to nonexistant program.
svn path=/trunk/; revision=8286
2001-02-19 23:33:54 +00:00
d369e177b1 When creating the entry, open up an ebook (corresponding to the local
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-19 22:49:18 +00:00
e6d81792c4 add sequence<string> typedef, and add getSupportedFields method.
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-18 03:24:33 +00:00
d10c848b43 Ignore generated .oaf files
* various .cvsignore files: Ignore generated .oaf files

svn path=/trunk/; revision=8237
2001-02-14 23:37:15 +00:00
6743dacd6c Undefine E_STRING_PROP and E_LIST_PROP here.
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-14 22:34:36 +00:00
a10d530a35 Translations.
2001-02-12  Kjartan Maraas  <kmaraas@gnome.org>

	* backend/ebook/GNOME_Evolution_Addressbook_GnomeCard_Importer.oaf.in: Translations.

svn path=/trunk/; revision=8195
2001-02-13 00:11:50 +00:00
d1e4588213 Marked strings for translation in this newly created file. Hook up the
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-12 20:28:29 +00:00
e66038cbaf flesh out this check. #ifdef the entire thing OPENLDAP2, as it only works
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-08 01:57:09 +00:00
b9e5bae616 only set the DEBUG_LEVEL if we're OPENLDAP2.
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-07 21:50:12 +00:00
da047e3547 return TRUE if equal, FALSE otherwise. (business_compare): same.
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-07 04:39:00 +00:00
be76e528f5 doh, didn't mean to commit this.
2001-02-06  Chris Toshok  <toshok@ximian.com>

	* backend/pas/pas-backend-ldap.c (create_card_handler): doh,
	didn't mean to commit this.

svn path=/trunk/; revision=8029
2001-02-06 22:28:38 +00:00
a0bd9e81cf new file. this will eventually form the suggested additions to an existing
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 22:24:04 +00:00
b301988ec3 don't need the = NULL's since we g_new0. (check_for_evolve_person): new
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-06 21:46:37 +00:00
f620b13aac err, allocate 2 char*s when i assign 2 char*s.
2001-02-05  Chris Toshok  <toshok@ximian.com>

	* backend/pas/pas-backend-ldap.c (create_card_handler): err,
	allocate 2 char*s when i assign 2 char*s.

svn path=/trunk/; revision=8010
2001-02-06 03:34:49 +00:00
4e239b49ae switch to ldap_modify_ext_s if OPENLDAP2, as ldap_modify_s is deprecated.
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-06 03:01:41 +00:00
5a8d472070 Make the Note field be quoted printable.
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-02-05 15:57:15 +00:00
ced6e94327 add comment about the else block here. (prop_info): add home_address,
2001-01-25  Chris Toshok  <toshok@ximian.com>

	* backend/pas/pas-backend-ldap.c (build_mods_from_ecards): add
	comment about the else block here.
	(prop_info): add home_address, business_address, business_fax,
	assistant, and isdn.

svn path=/trunk/; revision=7821
2001-01-25 20:41:43 +00:00
bf762467c8 Made this only add the initial VCard if it finds a file "create-initial"
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-25 19:05:22 +00:00
00044b17d7 esexp api change fixes.
2001-01-25  Not Zed  <NotZed@Ximian.com>

        * backend/pas/pas-backend-ldap.c: esexp api change fixes.

        * backend/pas/pas-backend-file.c (entry_compare): Fix for e_sexp api changes.
        (vcard_matches_search): esexp api fixes.
        (pas_backend_file_search): Ouch, unref the e-sexp properly (not gtk object).

svn path=/trunk/; revision=7798
2001-01-25 02:06:24 +00:00
57f0e85f6c make sure to add the lengths here (include the \0? anyone?).
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-24 22:45:40 +00:00
86f07a3cd9 always free the delivery elements and correct embarrassingly stupid memory
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-19 07:54:28 +00:00
9bbb56e9b2 Made it return a gboolean; it was completely ignoring the return value
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-18 17:26:44 +00:00
f3cd904e2b add evolution-gnomecard-importer.
2001-01-17  Larry Ewing  <lewing@helixcode.com>

	* backend/ebook/.cvsignore: add evolution-gnomecard-importer.

svn path=/trunk/; revision=7598
2001-01-17 21:30:09 +00:00
50d9c8a8e8 add the doc/devel/importer/Makefile as a target.
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-17 21:25:20 +00:00
60d8fc8249 Forgot...
svn path=/trunk/; revision=7592
2001-01-17 18:30:49 +00:00
f25eabaf50 Support the new interfaces
svn path=/trunk/; revision=7591
2001-01-17 18:30:02 +00:00
dd91f0c23c s/Helix Code/Ximian/ for the initial contact card.
2001-01-16  Jason Leach  <jasonleach@usa.net>

	* backend/pas/pas-backend-file.c (INITIAL_VCARD): s/Helix
	Code/Ximian/ for the initial contact card.

svn path=/trunk/; revision=7538
2001-01-16 17:57:13 +00:00
c7e5e9a3f2 Fix make dist
svn path=/trunk/; revision=7417
2001-01-11 23:42:22 +00:00
3171fd7b5a Try again
svn path=/trunk/; revision=7406
2001-01-11 20:21:19 +00:00
3eee053cd6 get a book view from somewhere so we can give status messages - choose the
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-11 20:10:30 +00:00
76db8f7ba9 GnomeCard importer
svn path=/trunk/; revision=7399
2001-01-11 19:09:03 +00:00
289cbd41bc register our status_message signal. (status_message): new function, emit
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 23:08:08 +00:00
3c979919b1 if we're setting the full name regenerate ecard->name.
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-09 22:17:22 +00:00
5dca3046d3 new function. (impl_BookListener_respond_authentication_result): new
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-05 02:22:47 +00:00
398db56250 Need to e_sexp_unref the the sexp, not gtk_object_unref it.
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-04 20:52:20 +00:00
2a86e81e9d g_strdup things we g_free.
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
2001-01-03 11:04:09 +00:00
cfd19c2adb Ref the cards that get put in the change list (next_changed_item): util
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-21 22:31:06 +00:00
87c51e6a0a always use LDAP_NAME_ERROR (in the openldap1 case it's #defined to
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-18 21:36:44 +00:00
166e630ba2 Test for the existance of LDAP_NAME_ERROR and if it exists as a macro, use
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-14 04:11:37 +00:00
3ec0323ff6 When setting the "name" argument, copy the incoming name. This fixes a
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-09 18:21:16 +00:00
d65526d270 Fixed some formatting.
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-08 21:26:24 +00:00
cc8915f5dd Create an empty vcard with the appropriate id for deleted cards
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-05 15:26:57 +00:00
042e514a26 return NULL if we can't create a view.
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-12-04 17:56:54 +00:00
dd896b1476 Remove "complete" field
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-27 20:30:51 +00:00
c6e85a3bc2 Set view.change_context to NULL in pas_backend_file_process_get_book_view.
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
2000-11-23 04:00:48 +00:00