aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/backend/ebook
Commit message (Collapse)AuthorAgeFilesLines
* Various changes to merge in evolution-data-server reliance.JP Rosevear2003-11-0757-19650/+0
| | | | svn path=/trunk/; revision=23206
* change the poa hint to PER_REQUEST. fixes a couple of deadlocks.Chris Toshok2003-10-301-1/+1
| | | | | | | | | 2003-10-29 Chris Toshok <toshok@ximian.com> * backend/ebook/e-book-listener.c (e_book_listener_new): change the poa hint to PER_REQUEST. fixes a couple of deadlocks. svn path=/trunk/; revision=23125
* make it work with the new ebook apiJP Rosevear2003-10-234-8/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 003-10-21 JP Rosevear <jpr@ximian.com> * conduit/address-conduit.c: make it work with the new ebook api * backend/pas/pas-book.c (pas_book_respond_get_changes): put the vcard in for every change * backend/pas/pas-backend.c (pas_backend_change_add_new): just use the vcard field (pas_backend_change_modify_new): ditto (pas_backend_change_delete_new): ditto * backend/pas/pas-backend-file.c (pas_backend_file_changes_foreach_key): create a fake contact with the uid (pas_backend_file_get_changes): add the card to the changes * backend/ebook/tests/ebook/test-changes.c (main): just print the uid * backend/ebook/e-book.c (e_book_free_change_list): unref the contact * backend/ebook/e-book-types.h: the change struct contains an EContact now * backend/ebook/e-book-listener.c (impl_BookListener_respond_get_changes): create the contact from the vcard string * backend/idl/addressbook.idl: Book change item is no longer a union, it always gives back a card svn path=/trunk/; revision=23031
* use the synchronous api for this. simplifies it a bunch.Chris Toshok2003-10-235-12/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-10-21 Chris Toshok <toshok@ximian.com> * tools/evolution-addressbook-abuse.c: use the synchronous api for this. simplifies it a bunch. 2003-10-21 Chris Toshok <toshok@ximian.com> * backend/pas/pas-book.c (impl_GNOME_Evolution_Addressbook_Book_remove): we can ill afford bad debug spew. (view_listener_died_cb): implement. (impl_GNOME_Evolution_Addressbook_Book_getBookView): hook up an ORBit_small connection listener on the view's listener. (pas_book_respond_create): use e_contact_get_const instead of e_contact_get here. fixes a leak. * backend/pas/pas-book-view.c (impl_GNOME_Evolution_Addressbook_BookView_stop): implement, call pas_backend_stop_book_view. (pas_book_view_get_listener): return the book view's listener. (pas_book_view_class_init): fill in epv->stop. (pas_book_view_init): use a #define for THRESHOLD_MAX instead of the constant. * backend/pas/pas-book-view.h: add prototype for pas_book_view_get_listener. * backend/pas/pas-backend.c (pas_backend_stop_book_view): implement. (pas_backend_remove_book_view): implement. * backend/pas/pas-backend.h: add prototype for stop_book_view and remove_book_view. * backend/pas/pas-backend-vcf.c (load_file): pass in the fd and use fdopen here. (foreach_build_list): don't creat EContacts here, because we'll just be converting them back to vcards anyway. (save_file): use char*'s instead of EContacts, and split entries with 2 blank lines. Also, hold the lock over the entire function. (do_create): hold the lock around uid generation and touching the hash table. (pas_backend_vcf_process_remove_contacts): same. (pas_backend_vcf_process_modify_contact): same. (pas_backend_vcf_stop_book_view): new function, but leave unimplemented for now. (pas_backend_vcf_load_uri): the uri contains the directory name, not the filename. (pas_backend_vcf_dispose): grab the lock here just for sanity's sake. Also reorder things a bit, and free the hashtable and mutex. (pas_backend_vcf_init): init the mutex. * backend/pas/pas-backend-summary.c (pas_backend_summary_add_contact): don't unref the contact here. * backend/pas/pas-backend-ldap.c (pas_backend_ldap_process_stop_book_view): new function, but leave unimplemented for now. * backend/pas/pas-backend-file.c (build_summary): use an EContact for this call. (do_summary_query): nuke, the contents of this has been moved to start_book_view. (pas_backend_file_search_timeout): same. (pas_backend_file_search): same. (pas_backend_file_start_book_view): glom everything into here involving searching. This function could (and should) be renamed and reused from both this function and _get_contact_list. (pas_backend_file_stop_book_view): new function. (pas_backend_file_class_init): fill in backend->stop_book_view. * backend/pas/Makefile.am (LDAP_BACKEND): libpasldap.a -> libpasldap.la (noinst_LTLIBRARIES): *.a -> *.la. (libpas_la_SOURCES): same. (libpasfile_la_SOURCES): same. (libpasvcf_la_SOURCES): same. (libpasldap_la_SOURCES): same. * backend/idl/addressbook.idl: add BookView::stop. * backend/ebook/e-vcard.c (read_attribute_value): fix GString related leaks. (read_attribute_params): same. (parse): don't leak the EVCardAttributes corresponding to BEGIN/END:vCard. (free_gstring): new function (e_vcard_attribute_remove_values): free the decoded_values list, using free_gstring. * backend/ebook/e-book.c (e_book_response_get_book_view): ref the listener here. * backend/ebook/e-book-view.h: add prototype for e_book_view_stop. * backend/ebook/e-book-view.c (e_book_view_stop): new function. * backend/ebook/e-book-async.c (_get_book_view_response_dtor): unref the book view. svn path=/trunk/; revision=23000
* Merge new-ui-branch to the trunk.Ettore Perazzoli2003-10-2245-9432/+7065
| | | | svn path=/trunk/; revision=22965
* Remove libebook-static.laDan Winship2003-09-111-11/+1
| | | | | | | | | | | * backend/ebook/Makefile.am (privlib_LTLIBRARIES): Remove libebook-static.la * conduit/Makefile.am (libeaddress_conduit_la_LIBADD): Use non-static versions of libraries: the static ones were only needed for libtool 1.3. svn path=/trunk/; revision=22515
* unref the EComponentListener before unloading the CORBA object.Rodrigo Moya2003-08-161-6/+6
| | | | | | | | | 2003-08-12 Rodrigo Moya <rodrigo@ximian.com> * backend/ebook/e-book.c (e_book_dispose): unref the EComponentListener before unloading the CORBA object. svn path=/trunk/; revision=22248
* Chain.Hans Petter Jansson2003-08-141-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-08-12 Hans Petter Jansson <hpj@ximian.com> * backend/ebook/e-destination.c (e_destination_dispose): Chain. * gui/component/e-address-widget.c (e_address_widget_destroy): Chain. Prevent double frees. Prevent double GSource removal. * gui/component/e-cardlist-model.c (e_cardlist_model_class_init): Store parent class. (e_cardlist_model_dispose): Chain. Prevent double frees and unrefs. * gui/contact-editor/e-contact-editor-address.c (e_contact_editor_address_dispose): Chain. * gui/contact-editor/e-contact-editor-fullname.c (e_contact_editor_fullname_dispose): Chain. * gui/contact-list-editor/e-contact-list-editor.c (e_contact_list_editor_dispose): Chain. * gui/contact-list-editor/e-contact-list-model.c (contact_list_model_destroy): Chain. Prevent double frees and unrefs. * gui/widgets/e-addressbook-reflow-adapter.c (addressbook_dispose): Chain. (addressbook_finalize): Chain. * gui/widgets/e-addressbook-table-adapter.c (addressbook_dispose): Chain. * gui/widgets/e-addressbook-treeview-adapter.c (addressbook_destroy): Chain. Prevent double free. * gui/widgets/gal-view-minicard.c (gal_view_minicard_dispose): Chain. Prevent double free and detach. * gui/widgts/gal-view-treeview.c (gal_view_treeview_dispose): Chain. Prevent double free and detach. * printins/e-contact-print-style-editor.c (e_contact_print_stule_editor_destroy): Chain. Prevent double unref. svn path=/trunk/; revision=22229
* fix a typo.Chris Toshok2003-07-281-1/+1
| | | | | | | | 2003-07-23 Chris Toshok <toshok@ximian.com> * backend/ebook/e-book.c (e_book_dispose): fix a typo. svn path=/trunk/; revision=21985
* use EVO_MARSHAL_RULE Likewise Likewise Likewise Likewise LikewiseDan Winship2003-07-241-12/+1
| | | | | | | | | | | | | | | | | | * backend/ebook/Makefile.am: use EVO_MARSHAL_RULE * backend/pas/Makefile.am: Likewise * gui/component/select-names/Makefile.am: Likewise * gui/contact-editor/Makefile.am: Likewise * gui/contact-list-editor/Makefile.am: Likewise * gui/widgets/Makefile.am: Likewise * gui/contact-editor/e-contact-editor.c (e_contact_editor_class_init): s/ece_marshal/e_contact_editor_marshal/ * gui/contact-list-editor/e-contact-list-editor.c (e_contact_list_editor_class_init): Likewise for ecle_marshal svn path=/trunk/; revision=21913
* Make the "vcard" arg const. ...: add lots and lots of other consts as aDan Winship2003-07-222-96/+96
| | | | | | | | * backend/ebook/e-card.c: (e_card_new, e_card_new_with_default_charset): Make the "vcard" arg const. ...: add lots and lots of other consts as a side effect svn path=/trunk/; revision=21888
* Fix lots of leaks, update for correct use of g_object_get. Some cleanups.Larry Ewing2003-06-145-7/+45
| | | | | | | | | | | | | | | 2003-06-14 Larry Ewing <lewing@ximian.com> * gui/backend/ebook/e-card-simple.c: * gui/backend/ebook/e-card.c: * gui/backend/ebook/evolution-ldif-importer.c: * gui/backend/ebook/load-pine-addressbook.c: * gui/backend/ebook/test-card.c: * gui/backend/pas/pas-backend-card-sexp.c: * gui/backend/pas/pas-backend-ldap.c: Fix lots of leaks, update for correct use of g_object_get. Some cleanups. svn path=/trunk/; revision=21443
* ** For #42691.Not Zed2003-06-111-1/+1
| | | | | | | | | | | | | | | | | | | 2003-06-05 Not Zed <NotZed@Ximian.com> ** For #42691. * gui/component/select-names/Makefile.am (%.server.in): implicit rule for .in file. (BUILT_SOURCES): added server_DATA. * gui/component/Makefile.am (%.server.in): use implicit rule for .in file. (BUILT_SOURCES): added, just server_DATA. (CLEANFILES): added * backend/ebook/Makefile.am (BUILT_SOURCES): add server_DATA. svn path=/trunk/; revision=21400
* adapted to changes in EComponentListener API.Rodrigo Moya2003-06-041-1/+1
| | | | | | | | | 2003-06-04 Rodrigo Moya <rodrigo@ximian.com> * backend/ebook/ebook.c (e_book_do_response_open): adapted to changes in EComponentListener API. svn path=/trunk/; revision=21383
* handle the case where @book == NULL, which can happen if there was aChris Toshok2003-05-201-2/+5
| | | | | | | | | | 2003-05-19 Chris Toshok <toshok@ximian.com> * backend/ebook/e-destination.c (use_default_book_cb): handle the case where @book == NULL, which can happen if there was a problem opening the default book. Should fix #43005. svn path=/trunk/; revision=21269
* Move the tools to a more appropriate directory, privlibexecdirRodney Dawes2003-05-171-1/+1
| | | | | | | | | 2003-05-16 Rodney Dawes <dobey@ximian.com> * addressbook/backend/ebook/Makefile.am: Move the tools to a more appropriate directory, privlibexecdir svn path=/trunk/; revision=21218
* clear the view (book_open_cb): track the book in the view, don't unref theJP Rosevear2003-05-151-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | 2003-05-14 JP Rosevear <jpr@ximian.com> * gui/component/addressbook.c (addressbook_view_unref): clear the view (book_open_cb): track the book in the view, don't unref the book (set_prop): set the book (retrieve_shell_view_interface_from_control): get the shell view every time (set_folder_bar_label): release and unref the shell view * gui/component/addressbook-storage.h: add proto * gui/component/addressbook-storage.c (addressbook_storage_cleanup): unref the storage * gui/component/addressbook-component.c (owner_unset_cb): clean up storage * backend/ebook/e-book.c (e_book_load_uri): track the listener signal (e_book_dispose): unref the listener and disconnect the signal svn path=/trunk/; revision=21179
* (d): Remove all debuggingEttore Perazzoli2003-04-091-1/+1
| | | | | | messages. svn path=/trunk/; revision=20764
* Clean up server names.Dan Winship2003-04-082-10/+10
| | | | | | | | | | | | | | | | * gui/component/GNOME_Evolution_Addressbook.server.in.in: Clean up server names. * gui/component/select-names/GNOME_Evolution_Addressbook_SelectNames.server.in.in: Likewise * backend/ebook/GNOME_Evolution_Addressbook_LDIF_Importer.server.in.in: Likewise. Also mark the evolution:menu_name for i18n. * backend/ebook/GNOME_Evolution_Addressbook_VCard_Importer.server.in.in: Likewise svn path=/trunk/; revision=20704
* added "folder_type" parameter to EvolutionImporterLoadFileFn.Rodrigo Moya2003-04-032-0/+2
| | | | | | | | | | 2003-04-01 Rodrigo Moya <rodrigo@ximian.com> * backend/ebook/evolution-ldif-importer.c (load_file_fn): * backend/ebook/evolution-vcard-importer.c (load_file_fn): added "folder_type" parameter to EvolutionImporterLoadFileFn. svn path=/trunk/; revision=20644
* new function, just return the local uri. (set_default_book_uri_local): useChris Toshok2003-04-011-7/+26
| | | | | | | | | | | | 2003-03-31 Chris Toshok <toshok@ximian.com> * backend/ebook/e-book-util.c (get_local_book_uri): new function, just return the local uri. (set_default_book_uri_local): use get_local_book_uri. (e_book_default_book_open): only try and reload the default book if it's not already the local book. svn path=/trunk/; revision=20610
* constify return valueDan Winship2003-03-312-3/+3
| | | | | | | * backend/ebook/e-book-util.c (e_book_get_default_book_uri): constify return value svn path=/trunk/; revision=20596
* add vcard testsChris Toshok2003-03-3116-0/+218
| | | | svn path=/trunk/; revision=20590
* braindead, and *extremely* forgiving vcard parser. not for publicChris Toshok2003-03-312-0/+1033
| | | | | | | | | 2003-03-30 Chris Toshok <toshok@ximian.com> * backend/ebook/e-vcard.[ch]: braindead, and *extremely* forgiving vcard parser. not for public consumption yet. svn path=/trunk/; revision=20589
* add vcard docsChris Toshok2003-03-314-0/+6593
| | | | svn path=/trunk/; revision=20587
* [ fixes bug #40403 ] revert the fix for 28945, as was done on the 1.2Chris Toshok2003-03-291-10/+1
| | | | | | | | | | | | 2003-03-28 Chris Toshok <toshok@ximian.com> [ fixes bug #40403 ] * backend/ebook/e-card.c (e_card_get_vobject): revert the fix for 28945, as was done on the 1.2 branch. this is because the "fix" actually breaks internal use of contact lists. We need to make the exporting of contacts DTRT, instead of fixing it here. svn path=/trunk/; revision=20568
* [ fix the contact editor so that the only time the address is parsed isChris Toshok2003-03-291-0/+2
| | | | | | | | | | | | | | | | | | 2003-03-28 Chris Toshok <toshok@ximian.com> [ fix the contact editor so that the only time the address is parsed is when the user types in the address GtkTextView. ] * gui/contact-editor/e-contact-editor.c (address_mailing_changed): make this use delivery addresses instead of labels. (full_addr_clicked): same. (find_address_mailing): same. * backend/ebook/e-card-simple.c (e_card_simple_set_delivery_address): make this operate similar to e_card_simple_set_address: it sets both the delivery address and the label for the address. svn path=/trunk/; revision=20567
* [ fixes bug #19178 ] use e_book_load_address_book_by_uri on the passed inChris Toshok2003-03-272-42/+8
| | | | | | | | | | | | | | | 2003-03-26 Chris Toshok <toshok@ximian.com> [ fixes bug #19178 ] * backend/ebook/evolution-ldif-importer.c (ebook_open): use e_book_load_address_book_by_uri on the passed in uri. (load_file_fn): pass the uri. * backend/ebook/evolution-vcard-importer.c (ebook_open): use e_book_load_address_book_by_uri on the passed in uri. (load_file_fn): pass the uri. svn path=/trunk/; revision=20543
* [ fixes bug #32113 ] add include_email arg to e_destination_get_textrep.Chris Toshok2003-03-232-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-03-23 Chris Toshok <toshok@ximian.com> [ fixes bug #32113 ] * backend/ebook/e-destination.h: add include_email arg to e_destination_get_textrep. * backend/ebook/e-destination.c (e_destination_get_textrep): add include_email arg. if it's TRUE, and if there's an email address to add * gui/contact-list-editor/e-contact-list-model.c (contact_list_value_at): use e_destination_get_textrep so we don't display QP text, and pass TRUE for include_email. * gui/widgets/e-minicard.c (add_field): same. (remodel): same. * gui/widgets/e-addressbook-treeview-adapter.c (adapter_get_value): same. * gui/widgets/e-addressbook-table-adapter.c (addressbook_value_at): same. * gui/component/select-names/e-select-names-text-model.c (e_select_names_text_model_insert_length): pass FALSE for include_email. * gui/component/select-names/e-select-names-model.c (e_select_names_model_get_textification): pass FALSE for include_email. (e_select_names_model_get_string): same. (e_select_names_model_replace): same. (e_select_names_model_name_pos): same. (e_select_names_model_text_pos): same. svn path=/trunk/; revision=20467
* Replace "evolution:menu-name" prop with "evolution:menu_name". [#39692]Ettore Perazzoli2003-03-202-2/+2
| | | | | | | | * backend/ebook/GNOME_Evolution_Addressbook_VCard_Importer.server.in.in: Replace "evolution:menu-name" prop with "evolution:menu_name". [#39692] * backend/ebook/GNOME_Evolution_Addressbook_LDIF_Importer.server.in.in: Likewise. svn path=/trunk/; revision=20366
* Likewise. Likewise. Likewise. Likewise. Likewise. (ebook_create):Ettore Perazzoli2003-03-075-7/+6
| | | | | | | | | | | | | | | | | * backend/ebook/load-pine-addressbook.c (ebook_create): Likewise. * backend/ebook/load-gnomecard-addressbook.c (ebook_create): Likewise. * backend/ebook/evolution-vcard-importer.c (ebook_create): Likewise. * backend/ebook/evolution-ldif-importer.c (ebook_create): Likewise. * backend/ebook/test-client.c (get_cursor_cb): Likewise. (ebook_create): Likewise. * gui/widgets/e-minicard.c (e_minicard_set_property): Likewise. (card_modified_cb): Likewise. (e_minicard_event): Likewise. * gui/widgets/gal-view-minicard.c (column_width_changed): Likewise. * gui/widgets/test-minicard-view.c (ebook_create): Likewise. * gui/widgets/gal-view-treeview.c (column_width_changed): Likewise. svn path=/trunk/; revision=20203
* reflect prior column additionJP Rosevear2003-03-054-2/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-03-04 JP Rosevear <jpr@ximian.com> * gui/component/select-names/e-select-names.etspec: reflect prior column addition * gui/component/select-names/e-select-names-bonobo.c (entry_get_property_fn): set the arg properly * gui/component/select-names/Evolution-Addressbook-SelectNames.idl: add Icscalendar to field list * backend/pas/pas-backend-ldap.c: add icscalendar to prop list * backend/ebook/e-card.h: add icscalendar data member * backend/ebook/e-card.c: add icscalendar to list and its parse routine (e_card_get_vobject): add icscalendar prop value (parse_icscalendar): parse routine (e_card_class_init): add icscalendar arg (e_card_destroy): destroy icscalendar member (e_card_set_arg): set icscalendar (e_card_init): init icscalendar (e_card_get_arg): return icscalendar * backend/ebook/e-card-simple.c (field_data): add icscalendar * backend/ebook/e-card-simple.h: ditto svn path=/trunk/; revision=20153
* Remove these from here; talking to the mailer doesn't really belong at theDan Winship2003-03-014-299/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | * backend/ebook/e-card.c (e_card_list_send, e_card_send): Remove these from here; talking to the mailer doesn't really belong at the libebook level anyway. * backend/ebook/Makefile.am: Remove Evolution-Composer CORBA stuff, which fixes some linking problems on OS X. * gui/widgets/e-addressbook-util.c (e_addressbook_send_card_list, e_addressbook_send_card): Move from e-card.c and rename. * gui/widgets/Makefile.am: move Evolution-Composer CORBA stuff here * gui/widgets/e-addressbook-view.c (send_as, send_to, e_addressbook_view_send, e_addressbook_view_send_to): Update for new function names. * gui/contact-list-editor/e-contact-list-editor.c (file_send_as_cb, file_send_to_cb): Likewise * gui/contact-editor/e-contact-editor.c (file_send_as_cb, file_send_to_cb): Likewise svn path=/trunk/; revision=20103
* Fix for server files from Antonio XuRodney Dawes2003-02-281-1/+1
| | | | | | | | 2003-02-27 Rodney Dawes <dobey@ximian.com> * backend/ebook/Makefile.am: Fix for server files from Antonio Xu svn path=/trunk/; revision=20087
* if we fail to activate factories for a given protocol, return.Chris Toshok2003-02-271-0/+1
| | | | | | | | | | | | 2003-02-26 Chris Toshok <toshok@ximian.com> * backend/ebook/e-book.c (e_book_load_uri): if we fail to activate factories for a given protocol, return. * gui/component/ldap-config.glade: remove the two unused custom widgets to cut down on gtk warning spam. svn path=/trunk/; revision=20080
* Make libversit a shared library, update stuff for that, and clean upDan Winship2003-02-221-35/+12
| | | | | | some LDADDs in the process svn path=/trunk/; revision=19994
* add .server.in filesDan Winship2003-02-201-0/+2
| | | | svn path=/trunk/; revision=19944
* Install load-pine-addressbook and load-gnomecard-addressbook intoEttore Perazzoli2003-02-113-9/+17
| | | | | | | | | | | | | | | | | | | | | * backend/ebook/Makefile.am: Install load-pine-addressbook and load-gnomecard-addressbook into ${privdatadir}/tools. Install evolution-vcard-importer and evolution-ldif-importer into ${privlibexecdir}. * backend/ebook/GNOME_Evolution_Addressbook_VCard_Importer.server.in: Removed. * backend/ebook/GNOME_Evolution_Addressbook_LDIF_Importer.server.in: Removed. * backend/ebook/GNOME_Evolution_Addressbook_VCard_Importer.server.in.in: New. Specify an absolute path for the executable, using @LIBEXECDIR@. * backend/ebook/GNOME_Evolution_Addressbook_LDIF_Importer.server.in.in: Likewise. svn path=/trunk/; revision=19870
* gone. (match_initials): gone. (book_query_sexp): remove the primaryChris Toshok2003-02-102-1/+2
| | | | | | | | | | | | | | | | | | | | | | | 2003-02-09 Chris Toshok <toshok@ximian.com> * gui/component/select-names/e-select-names-completion.c (sexp_initials): gone. (match_initials): gone. (book_query_sexp): remove the primary handling. (book_query_score): same. * backend/ebook/e-card.c (e_card_set_property): g_value_get_pointer => g_value_get_object for "category_list". * backend/ebook/e-book.c (struct _EBookPrivate): add a comment. * backend/pas/pas-backend-ldap.c (func_beginswith): performance at the cost of a tiny bit of correctness. If the ldap server doesn't support evolutionPerson don't query on fileAs, use sn (since that's effectively what gets used in the display when fileAs isn't supported.) svn path=/trunk/; revision=19863
* [ huge change, all for 1 little performance problem :) fixes #18207 ] useChris Toshok2003-02-087-46/+116
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-02-08 Chris Toshok <toshok@ximian.com> [ huge change, all for 1 little performance problem :) fixes #18207 ] * gui/widgets/e-addressbook-model.c (get_view): use e_book_check_static_capability here to make things a little prettier. (remove_card): complain about my life, and add code to use one "model_changed" signal if we get back a list of cards instead of multiple "card_removed" signals. * gui/widgets/e-addressbook-model.h: little clean up. * gui/widgets/e-addressbook-view.c (delete): write a bulk-remove case for this. if the backend supports it, send all the ids at once. otherwise loop over the ids. (e_addressbook_view_delete_selection): fake a CardAndBook structure and call delete, instead of duplicating the code in 2 places. * gui/component/addressbook.c (delete_contact_cb): don't call e_contact_editor_confirm_delete here, it's handled by the EAddressbookView. * backend/pas/pas-card-cursor.c (pas_card_cursor_construct): fix a compiler warning about a stupid crash. * backend/pas/pas-book.h (PASOperation): RemoveCard -> RemoveCards. (PASRemoveCardsReques): char *id -> GList *ids. (PASRequest): PASRemoveCardRequest -> PASRemoveCardsRequest. * backend/pas/pas-book.c (pas_book_queue_remove_cards): build up a GList from the id sequence. (pas_book_respond_remove): notifyCardRemoved -> notifyCardsRemoved. (impl_GNOME_Evolution_Addressbook_Book_removeCards): rename. (pas_book_free_request): free the idlist for RemoveCards. (pas_book_class_init): removeCard -> removeCards. * backend/pas/pas-book-view.h: change prototype for pas_book_view_notify_remove, and add prototype for pas_book_view_notify_remove_1. * backend/pas/pas-book-view.c (pas_book_view_notify_remove_1): build up a list and call pas_book_view_notify_remove. (pas_book_view_notify_remove): build up the corba id sequence and call BookViewListener::notifyCardsRemoved. * backend/pas/pas-backend.h: remove_card -> remove_cards. * backend/pas/pas-backend.c (pas_backend_remove_cards): rename from _remove_card. (process_client_requests): RemoveCard -> RemoveCards and _remove_card -> _remove_cards. * backend/pas/pas-backend-ldap.c (check_schema_support): g_strcasecmp -> g_ascii_strcasecmp. (remove_card_handler): _remove => _remove_1. (modify_card_modify_handler): same. (pas_backend_ldap_process_remove_cards): rename from _remove_card. (pas_backend_ldap_class_init): _remove_card -> _remove_cards. * backend/pas/pas-backend-file.c (pas_backend_file_class_init): remove_card -> remove_cards. (pas_backend_file_get_static_capabilities): add "bulk-removes". (pas_backend_file_process_remove_cards): rewrite this function largely, so that it handles lists of ids. first we loop through and for every successful deletion we build a list of deleted ECards. Then for each view we build a list (a subset of the deleted ECard list) and pass back that list to the view. (pas_backend_file_process_modify_card): use _remove_1 instead of _remove. (ecard_matches_search): new function. * backend/pas/pas-backend-card-sexp.c (pas_backend_card_sexp_match_vcard): rewrite in terms of _match_ecard. (pas_backend_card_sexp_match_ecard): new function, the guts from _match_vcard. * backend/pas/pas-backend-card-sexp.h: add prototype for pas_backend_card_sexp_match_ecard. * backend/idl/addressbook.idl: the card removal stuff now takes CardIdList. * backend/ebook/e-book.c (e_book_get_static_capabilities): cache successful capability queries (since they're static). (e_book_check_static_capability): new, convenience function to check if a particular capability is supported. (e_book_remove_card_by_id): build a single element GList and call e_book_remove_cards. (e_book_remove_cards): build up a CORBA sequence from the GList and call Book::removeCards. (e_book_dispose): free the cached capabilities string. * backend/ebook/e-book.h: add new prototypes for e_book_check_static_capability and e_book_remove_cards. * backend/ebook/e-book-view.h (struct _EBookViewClass): rename "card_removed" signal to "cards_removed". * backend/ebook/e-book-view.c (e_book_view_do_removed_event): id -> ids, and free the id list. (e_book_view_check_listener_queue): CardRemovedEvent -> CardsRemovedEvent. * backend/ebook/e-book-view-listener.c (e_book_view_listener_queue_response): free the id list. (e_book_view_listener_queue_idlist_event): new function, used for cards_removed. (e_book_view_listener_queue_status_event): id -> ids. (e_book_view_listener_queue_sequence_event): same. (e_book_view_listener_queue_message_event): same. (impl_BookViewListener_notify_cards_removed): call queue_idlist_event. (e_book_view_listener_dispose): free the id list. (e_book_view_listener_class_init): track change to idl call. * backend/ebook/e-book-view-listener.h (EBookViewListenerOperation): CardRemovedEvent -> CardsRemovedEvent. (EBookViewListenerResponse): char *id -> GList *ids. * backend/ebook/e-book-listener.c (impl_BookListener_respond_remove_cards): rename from remove_card. svn path=/trunk/; revision=19853
* check the status, not the book, and unref the book here.Chris Toshok2003-02-0710-75/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-02-06 Chris Toshok <toshok@ximian.com> * gui/component/e-address-popup.c (email_table_save_card_cb): check the status, not the book, and unref the book here. (contact_editor_cb): same. (start_query): unref the book in the failure case. (add_card_idle_cb): addressbook_load_default_book returns void now. (edit_contact_info_cb): same. (e_address_popup_query): same. * gui/component/addressbook.c (control_activate_cb): track change to addressbook_load_uri return type. (set_prop): same. (addressbook_load_uri): return type is void now. (addressbook_load_default_book): same. * gui/component/addressbook.h: addressbook_load_uri/addressbook_load_default_book return void now. * conduit/address-conduit.c (start_addressbook_server): e_book_load_default_book returns void now. * backend/ebook/e-book-util.h: track changes to return types. * backend/ebook/e-book-util.c (e_book_load_address_book_by_uri): fallout from change to e_book_load_uri. return type for this function is void now too. (e_book_use_address_book_by_uri): same. (e_book_use_default_book): same. (e_book_load_default_book): same. (got_uri_book_cb): if unsuccessful and book is non-NULL, unref it here. (got_default_book_cb): same. * backend/ebook/e-book.c (e_book_load_uri): no longer return a gboolean. any error is communicated to the callback. * backend/ebook/e-book.h: e_book_load_uri no longer returns a gboolean (it's void.) * backend/ebook/evolution-ldif-importer.c (ebook_create): track change to the e_book_load_uri family of functions. * backend/ebook/test-client-list.c (ebook_create): same. * backend/ebook/test-client.c (ebook_create): same. * backend/ebook/load-pine-addressbook.c (ebook_create): same. * backend/ebook/evolution-vcard-importer.c (ebook_create): same. svn path=/trunk/; revision=19839
* Use different tmp file names so these rules can be executed in parallelEttore Perazzoli2003-02-071-18/+41
| | | | | | | | | | | | | | | * backend/ebook/Makefile.am (e-book-marshal.c, e-book-marshal.h): Use different tmp file names so these rules can be executed in parallel without interfering with each otehr. * backend/pas/Makefile.am: Make the ORBit compilation work properly with parallel makes (i.e. make sure it does not spawn multiple orbit-idl processes on the same IDL file at the same time). * gui/component/select-names/Makefile.am: Likewise. * backend/ebook/Makefile.am: Likewise. svn path=/trunk/; revision=19834
* Remove cruft. (libebookincludedir): Use privincludedir.Dan Winship2003-02-069-20/+33
| | | | | | | | | | | | | | | | | | | | | | | | * backend/ebook/Makefile.am (INCLUDES): Remove cruft. (libebookincludedir): Use privincludedir. * backend/ebook/e-book-util.c: #include <string.h> * backend/ebook/e-card-compare.c: Likewise * backend/ebook/load-pine-addressbook.c: Likewise * backend/ebook/test-client.c: Likewise * backend/ebook/evolution-vcard-importer.c: #include <e-book-util.h> (factory_fn): Fix this to actually return the importer. * backend/ebook/evolution-ldif-importer.c (parseLine): #include <e-book-util.h> and <bonobo/bonobo-main.h>. Use g_ascii_strcmp. * backend/ebook/e-card.c (e_card_email_match_single_string): (e_card_email_find_number): s/g_str/g_ascii_str/ * backend/ebook/e-destination.c (e_destination_equal): Likewise. Also, add an "else return FALSE;" svn path=/trunk/; revision=19778
* Version using $(BASE_VERSION). (etspecdir): Likewise. (iconsdir):Ettore Perazzoli2003-01-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | * gui/component/select-names/Makefile.am (gladedir): Version using $(BASE_VERSION). (etspecdir): Likewise. (iconsdir): Likewise. * gui/contact-list-editor/Makefile.am (iconsdir): Version using $(BASE_VERSION). (gladedir): Likewise. * gui/merging/Makefile.am (gladedir): Version using $(BASE_VERSION). * gui/search/Makefile.am (ruledir): Version using $(BASE_VERSION). * gui/component/Makefile.am (INCLUDES): Update EVOLUTION_IMAGESDIR to be versioned through $(BASE_VERSION). * gui/widgets/e-addressbook-view.c (init_collection): Use EVOLUTION_GALVIEWSDIR. * gui/widgets/Makefile.am (INCLUDES): Define EVOLUTION_GALVIEWSDIR and update EVOLUTION_IMAGESDIR. svn path=/trunk/; revision=19551
* reenable all the importers/loaders.Chris Toshok2003-01-165-175/+101
| | | | | | | | | | | | | | | | 2003-01-15 Chris Toshok <toshok@ximian.com> * backend/ebook/Makefile.am (bin_PROGRAMS): reenable all the importers/loaders. * backend/ebook/evolution-ldif-importer.c, backend/ebook/evolution-vcard-importer.c: Finish gnome2 port issues, and get these to compile. * backend/ebook/load-gnomecard-addressbook.c, backend/ebook/load-pine-addressbook.c: same. svn path=/trunk/; revision=19485
* build up the list of supported auth_methods.Chris Toshok2003-01-104-6/+109
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-01-09 Chris Toshok <toshok@ximian.com> * backend/pas/pas-backend-ldap.c (query_ldap_root_dse): build up the list of supported auth_methods. (pas_backend_ldap_process_get_supported_auth_methods): respond with the list of auth methods we've built up. (pas_backend_ldap_dispose): unref the auth_method list. (pas_backend_ldap_class_init): hook up pas_backend_ldap_process_get_supported_auth_methods. * backend/pas/pas-backend.c (pas_backend_get_supported_auth_methods): new function. (process_client_requests): add clause for GetSupportedAuthMethods. * backend/pas/pas-backend.h: add prototype for pas_backend_get_supported_auth_methods, and add it to the class vtable. * backend/pas/pas-book.h: add GetSupportedAuthMethods enum member and PASGetSupportedAuthMethodsRequest. and add prototype for pas_book_respond_get_supported_auth_methods. * backend/pas/pas-book.c (pas_book_queue_get_supported_auth_methods): new function. (impl_GNOME_Evolution_Addressbook_Book_getSupportedAuthMethods): new function. (pas_book_respond_get_supported_auth_methods): new function. (pas_book_free_request): add clause for GetSupportedAuthMethods. (pas_book_class_init): hook up getSupportedAuthMethods. * backend/ebook/e-book-listener.c (e_book_listener_queue_get_supported_fields_response): fields -> list. (e_book_listener_queue_get_supported_auth_methods_response): new function. (impl_BookListener_response_get_supported_auth_methods): new function. (e_book_listener_class_init): hook up epv->notifySupportedAuthMethods. * backend/ebook/e-book-listener.h: add GetSupportedAuthMethodsResponse enum member, and change the field name from "fields" to list (and use it for both GetSupportedFields and GetSupportedAuthMethods) * backend/ebook/e-book.c (e_book_get_supported_auth_methods): new function. (e_book_do_response_get_supported_auth_methods): new function. * backend/ebook/e-book.h: add prototype for e_book_get_supported_auth_methods. * backend/idl/addressbook.idl: add getSupportedAuthMethods IDL call. svn path=/trunk/; revision=19386
* drop use of "font" arg. (get_left_width): use pango to calculate thisChris Toshok2002-12-192-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-12-18 Chris Toshok <toshok@ximian.com> * gui/widgets/e-minicard.c (e_minicard_realize): drop use of "font" arg. (get_left_width): use pango to calculate this instead of a GdkFont. * gui/widgets/e-minicard-view.c: drop include of e-unicode.h. * gui/widgets/e-minicard-label.c (e_minicard_label_construct): don't need to create the font anymore. * gui/search/Makefile.am (INCLUDES): add -D*_DISABLE_DEPRECATED. * gui/search/e-addressbook-search-dialog.c (e_addressbook_search_dialog_new): use g_object_new instead of gtk_type_new. * gui/merging/Makefile.am (INCLUDES): add -D*_DISABLE_DEPRECATED. * gui/contact-list-editor/Makefile.am (INCLUDES): add -D*_DISABLE_DEPRECATED. * gui/contact-list-editor/e-contact-list-editor.c (is_named): strdup (or not, if we don't need to save the value) instead of using the e_utf8 functions. (fill_in_info): same. * gui/contact-editor/Makefile.am (INCLUDES): add -D*_DISABLE_DEPRECATED. * gui/contact-editor/e-contact-save-as.c (e_contact_save_as): strdup (or not, if we don't need to save the value) instead of using the e_utf8 functions. (e_contact_list_save_as): same. * gui/contact-editor/e-contact-quick-add.c (clicked_cb): strdup (or not, if we don't need to save the value) instead of using the e_utf8 functions. (build_quick_add_dialog): same. * gui/contact-editor/e-contact-editor.c (phone_entry_changed): strdup (or not, if we don't need to save the value) instead of using the e_utf8 functions. (file_as_set_style): same. (name_entry_changed): same. (full_name_clicked): same. (categories_clicked): same. (set_field): same. (fill_in_field): same. (fill_in_single_field): same. (extract_field): same. (extract_single_field): same. * gui/contact-editor/e-contact-editor-fullname.c (extract_field): just strdup, it's already utf8. * gui/contact-editor/e-contact-editor-address.c (extract_field): they're all entries, use GTK_ENTRY foo here. * gui/component/select-names/Makefile.am (INCLUDES): add -D*_DISABLE_DEPRECATED. * gui/component/select-names/e-select-names.c (e_select_names_add_section): remove the extra utf8_from_locale_string stuff. * gui/component/select-names/e-select-names-popup.c (set_uiinfo_label): gtk_container_children -> gtk_container_get_children, and remove the extra utf8 stuff. * gui/component/Makefile.am (INCLUDES): add -D*_DISABLE_DEPRECATED. * gui/component/addressbook-storage.c (addressbook_storage_init_source_uri): g_string_sprintfa -> g_string_append_printf. * gui/component/addressbook-config.c (focus_help): gtk_notebook_set_page -> gtk_notebook_set_current_page. (addressbook_source_dialog_set_source): same. (auth_optionmenu_activated): gtk_container_children -> gtk_container_get_children. (ssl_optionmenu_activated): same. (ssl_optionmenu_selected): same, and gtk_notebook_set_page -> gtk_notebook_set_current_page. (scope_optionmenu_activated): same. (set_advanced_button_state): same. (addressbook_ldap_init): hook "response" to gtk_widget_destroy to make the dialog go away when clicked. (addressbook_ldap_auth): same. (addressbook_root_dse_query): same. (do_ldap_root_dse_query): same. (addressbook_config_control_new): fix return type and cast. (main): remove call to gtk_widget_push_visual. * gui/component/addressbook-config.h: addressbook_config_control_new returns a BonoboObject, not a BonoboControl. * gui/component/addressbook.c: remove e-unicode.h include. * backend/pas/Makefile.am (INCLUDES): Add -DLIBGNOME_DISABLE_DEPRECATED. * backend/ebook/Makefile.am (INCLUDES): Add -DLIBGNOME_DISABLE_DEPRECATED. * backend/ebook/e-card.c (e_card_get_property): remove misleading comment. svn path=/trunk/; revision=19160
* g_strcasecmp -> g_ascii_strcasecmp. (FIND_INSERT): same.Chris Toshok2002-12-181-0/+1
| | | | | | | | | | | | | | | | | | | 2002-12-17 Chris Toshok <toshok@ximian.com> * backend/pas/pas-backend-ldap.c (build_card_from_entry): g_strcasecmp -> g_ascii_strcasecmp. (FIND_INSERT): same. * backend/pas/pas-backend-file.c (pas_backend_file_load_uri): g_dirname -> g_path_get_dirname. * backend/pas/Makefile.am (INCLUDES): add -DG_DISABLE_DEPRECATED. * backend/ebook/Makefile.am (INCLUDES): add -DG_DISABLE_DEPRECATED. svn path=/trunk/; revision=19156
* [ Fixes bug #35135 ] don't free the default_book_uri here, it's done inChris Toshok2002-12-181-9/+36
| | | | | | | | | | | | | | | | 2002-12-17 Chris Toshok <toshok@ximian.com> [ Fixes bug #35135 ] * backend/ebook/e-book-util.c (set_default_book_uri_local): don't free the default_book_uri here, it's done in set_default_book_uri. (set_default_book_uri): break some stuff out from set_default_book_uri_from_bonobo_conf to here so it can be used both from that function and the bonobo listener. (default_folder_listener): set the new default book uri. (set_default_book_uri_from_bonobo_conf): install the bonobo conf listener so we'll get updates. svn path=/trunk/; revision=19148
* use e_card_set_book instead of basically duplicating its code here.Chris Toshok2002-12-071-8/+2
| | | | | | | | | | 2002-12-06 Chris Toshok <toshok@ximian.com> * backend/ebook/e-book.c (e_book_commit_card): use e_card_set_book instead of basically duplicating its code here. (e_book_add_card): same. svn path=/trunk/; revision=19052
* [ roll forward from 1.2 branch, Fixes addressbook bug #28945 ] if theChris Toshok2002-11-271-1/+9
| | | | | | | | | | | 2002-11-26 Chris Toshok <toshok@ximian.com> [ roll forward from 1.2 branch, Fixes addressbook bug #28945 ] * backend/ebook/e-card.c (e_card_get_vobject): if the email property is xml, get the real address from the e-destination. Fixes saving contact lists. svn path=/trunk/; revision=18942
* [ roll forward Sean.Gao@sun.com's fix for #16870 from the 1.2 branch ]Chris Toshok2002-11-231-1/+1
| | | | | | | | | | | 2002-11-22 Chris Toshok <toshok@ximian.com> [ roll forward Sean.Gao@sun.com's fix for #16870 from the 1.2 branch ] * backend/ebook/evolution-ldif-importer.c (getNextLDIFEntry): check for both LR and CRLF as empty line markers. svn path=/trunk/; revision=18899
* [ rolling forward fix for #34254 from 1.2 branch ] use g-ascii_strncasecmpChris Toshok2002-11-231-1/+1
| | | | | | | | | | | 2002-11-22 Chris Toshok <toshok@ximian.com> [ rolling forward fix for #34254 from 1.2 branch ] * backend/ebook/evolution-vcard-importer.c (check_file_is_vcard): use g-ascii_strncasecmp instead of strncmp. (support_format_fn): use g_ascii_strcasecmp instead of strcmp. svn path=/trunk/; revision=18898
* [ rolling forward fix for #34254 from 1.2 branch ] use g-ascii_strncasecmpChris Toshok2002-11-231-2/+2
| | | | | | | | | | | 2002-11-22 Chris Toshok <toshok@ximian.com> [ rolling forward fix for #34254 from 1.2 branch ] * backend/ebook/evolution-vcard-importer.c (check_file_is_vcard): use g-ascii_strncasecmp instead of strncmp. (support_format_fn): use g_ascii_strcasecmp instead of strcmp. svn path=/trunk/; revision=18896
* guard against multiple invocations.Chris Toshok2002-11-122-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-11-11 Chris Toshok <toshok@ximian.com> * backend/pas/pas-card-cursor.c (pas_card_cursor_dispose): guard against multiple invocations. * backend/pas/pas-backend-ldap.c (view_destroy): change signature to that of a weak ref notify function. (cursor_destroy): same. (pas_backend_ldap_book_destroy_cb): same. (get_cursor_handler): ::destroy -> weak_ref. (pas_backend_ldap_process_get_book_view): same. (pas_backend_ldap_add_client): same. * backend/pas/pas-backend-file.c (cursor_destroy): change signature to that of a weak ref notify function. (view_destroy): same. (pas_backend_file_book_destroy_cb): same. (pas_backend_file_process_get_cursor): ::destroy -> weak_ref. (pas_backend_file_process_get_book_view): same. (pas_backend_file_process_get_completion_view): same. (pas_backend_file_process_get_changes): same. (pas_backend_file_add_client): same. * backend/ebook/test-client.c (get_cursor_cb): unref the book and exit here. (get_card_cb): pass a query string to get_cursor. * backend/ebook/e-book-view.c (e_book_view_class_init): correct marshaller for "card_added". svn path=/trunk/; revision=18720
* guard against multiple invocations.Chris Toshok2002-11-107-128/+176
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-11-10 Chris Toshok <toshok@ximian.com> * backend/pas/pas-backend-card-sexp.c (pas_backend_card_sexp_dispose): guard against multiple invocations. * backend/pas/pas-card-cursor.c (pas_card_cursor_dispose): same. * backend/pas/pas-book.c (pas_book_dispose): same. * backend/pas/pas-book-view.c (pas_book_view_dispose): same. * backend/pas/pas-book-factory.c (pas_book_factory_dispose): same. * backend/pas/pas-backend-summary.c (pas_backend_summary_dispose): same. * backend/pas/pas-backend-ldap.c (pas_backend_ldap_dispose): same. * backend/pas/pas-backend-file.c (pas_backend_file_dispose): same. * backend/ebook/e-book-listener.c (e_book_listener_dispose): guard against multiple invocations. * backend/ebook/e-card.c (e_card_dispose): same. * backend/ebook/e-card-simple.c (e_card_simple_dispose): same. * backend/ebook/e-card-cursor.c (e_card_cursor_dispose): same. * backend/ebook/e-book.c (e_book_dispose): same. * backend/ebook/e-book-view-listener.c (e_book_view_listener_dispose): same. svn path=/trunk/; revision=18687
* prepend /apps/Evolution to config db paths.Chris Toshok2002-11-081-1/+1
| | | | | | | | | | | | | 2002-11-08 Chris Toshok <toshok@ximian.com> * backend/ebook/e-book-util.c (set_default_book_uri_from_config_db): prepend /apps/Evolution to config db paths. * gui/component/select-names/e-select-names-manager.c (read_completion_books_from_db): same. (uris_listener): same. svn path=/trunk/; revision=18664
* tests are linking now, and link in libcamel.la.Chris Toshok2002-11-083-77/+40
| | | | | | | | | | | | | | | | | | | | 2002-11-07 Chris Toshok <toshok@ximian.com> * backend/ebook/Makefile.am: tests are linking now, and link in libcamel.la. * backend/ebook/e-destination.c (e_destination_get_name): un-ifdef since camel is compiling. (e_destination_get_email): same. (e_destination_get_address): same. (e_destination_get_textrep): same. * backend/ebook/e-card-compare.c (name_fragment_match): use e_utf8_casefold_*. (name_fragment_match_with_synonyms): same. (e_card_compare_name_to_string_full): same. (e_card_compare_name): same. svn path=/trunk/; revision=18655
* add prototypes for e_utf8_casefold_collate{_len}Chris Toshok2002-11-082-0/+26
| | | | | | | | | | | | 2002-11-07 Chris Toshok <toshok@ximian.com> * backend/ebook/e-book-util.h: add prototypes for e_utf8_casefold_collate{_len} * backend/ebook/e-book-util.c (e_utf8_casefold_collate_len): move utf8_casefold_collate_len here. (e_utf8_casefold_collate): move utf8_casefold_collate here. svn path=/trunk/; revision=18654
* use g_type_class_peek_parent.Chris Toshok2002-11-073-23/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-11-06 Chris Toshok <toshok@ximian.com> * backend/pas/pas-backend-card-sexp.c (pas_backend_card_sexp_class_init): use g_type_class_peek_parent. * backend/pas/pas-card-cursor.c (pas_card_cursor_class_init): same. * backend/pas/pas-book-view.c (pas_book_view_class_init): same. * backend/pas/pas-book-factory.c (pas_book_factory_class_init): same. * backend/pas/pas-backend-summary.c (pas_backend_summary_class_init): same. * backend/pas/pas-backend-ldap.c (pas_backend_ldap_class_init): same. * backend/pas/pas-backend-file.c (pas_backend_file_class_init): same. * backend/ebook/e-book-marshal.list: ENUM -> INT. * backend/ebook/e-book-view.c (e_book_view_dispose): guard against this being called multiple times. (e_book_view_class_init): ENUM -> INT in the sequence_complete signal. * backend/ebook/e-book.c (e_book_do_response_open): un-ifdef the component_died signal stuff. svn path=/trunk/; revision=18623
* call g_build_filename, not g_build_path.Chris Toshok2002-11-061-1/+1
| | | | | | | | | 2002-11-06 Chris Toshok <toshok@ximian.com> * backend/ebook/e-book-util.c (e_book_expand_uri): call g_build_filename, not g_build_path. svn path=/trunk/; revision=18600
* fix the gnome-xml headers.Chris Toshok2002-11-062-3/+4
| | | | | | | | 2002-11-06 Chris Toshok <toshok@ximian.com> * backend/ebook/e-destination.[ch]: fix the gnome-xml headers. svn path=/trunk/; revision=18599
* ignore the generated marshaller files.Chris Toshok2002-11-066-51/+62
| | | | | | | | | | | | | | | | | | | | | | | | | 2002-11-05 Chris Toshok <toshok@ximian.com> * backend/ebook/.cvsignore: ignore the generated marshaller files. * backend/ebook/e-destination.c (e_destination_dispose): rename e_destination_destroy. (e_destination_equal): ifdef this out for now, PENDING_PORT_WORK. (e_destination_get_name): same. (e_destination_get_email): same. (e_destination_get_address): same. (e_destination_get_textrep): same. * backend/ebook/Makefile.am: don't build the executables (importers and loaders) for now. Also, s/oaf/server, and use INTLTOOL_SERVER_RULE. * backend/ebook/e-book-util.c (e_book_get_config_database): un-#ifdef this. (e_book_default_book_open): un-#ifdef ths code in here that relies on the e_config_listener. svn path=/trunk/; revision=18586
* g_date_* => g_date_get_*, fixes G_DISABLE_DEPRECATED build.Chris Toshok2002-11-055-252/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-11-05 Chris Toshok <toshok@ximian.com> * backend/ebook/e-card.c: g_date_* => g_date_get_*, fixes G_DISABLE_DEPRECATED build. * backend/ebook/e-book-listener.[ch]: remove the servant crap i'd c&p'ed and put in here. * backend/ebook/e-book-view-listener.[ch]: remove the servant crap i'd c&p'ed and put in here. * backend/pas/pas-book-factory.[ch]: subclass from BonoboObject, and remove the servant crap from here too. whee. * backend/pas/pas-card-cursor.[ch]: remove the servant crap i'd c&p'ed and put in here. * backend/pas/pas-book.[ch]: remove the servant crap i'd c&p'ed and put in here. * backend/pas/pas-book-view.[ch]: remove the servant crap i'd c&p'ed and put in here. svn path=/trunk/; revision=18548
* don't call bonobo_activation_init directly.Chris Toshok2002-11-058-65/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-11-05 Chris Toshok <toshok@ximian.com> * backend/ebook/test-client-list.c (main): don't call bonobo_activation_init directly. * backend/ebook/test-client.c (get_card_cb): don't unref the card here since we never reffed it. (main): no need to call bonobo_activation_init, as gnome_program_init did it for us. * backend/ebook/e-card-simple.c (e_card_simple_get_property): s/g_value_{set,get}_pointer/g_value_{set,get}_object * backend/ebook/e-book-util.c (set_default_book_uri_local): make sure to terminate args with NULL for g_build_filename. * backend/ebook/e-book-listener.c: nuke e_book_listener_get_type and use the BONOBO_TYPE_FUNC_FULL macro. * backend/ebook/e-book-listener.h: add the epv to EBookListenerClass so BONOBO_TYPE_FUNC_FULL works. * backend/ebook/e-book-view-listener.c: nuke e_book_view_listener_get_type and use the BONOBO_TYPE_FUNC_FULL macro. * backend/ebook/e-book-view-listener.h: add the epv to EBookViewListenerClass so BONOBO_TYPE_FUNC_FULL works. svn path=/trunk/; revision=18543
* just include glib.h instead of the gtk stuff.Chris Toshok2002-11-0330-1205/+1498
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-11-02 Chris Toshok <toshok@ximian.com> * backend/ebook/e-book-types.h: just include glib.h instead of the gtk stuff. * backend/ebook/e-book-listener.[ch]: convert to GObject/bonobo-activation/etc/etc. * e-book-util.[ch]: same. * e-book-view-listener.[ch]: same. * e-book-view.[ch]: same. * e-book.[ch]: same. * e-card-compare.[ch]: same. * e-card-cursor.[ch]: same. * e-card-simple.[ch]: same. * e-card.[ch]: same. * e-destination.[ch]: same. * evolution-ldif-importer.c: same. * evolution-vcard-importer.c: same. * load-gnomecard-addressbook.c: same. * load-pine-addressbok.c: same. * test-card.c: same. * test-client-list.c: same. * test-client.c: same. * backend/ebook/Makefile.am: add e-book-marshal.c to SOURCES, add e-book-marshal.[ch] to CLEANFILES, and add e-book-marshal.list to EXTRA_DIST. Also, remove the camel libs from the test LDADD's, and leave e-destination.[ch] out of the build. * backend/ebook/.cvsignore: ignore e-book-marshal.[ch] * backend/ebook/e-book-marshal.list: marshallers for e-book. svn path=/trunk/; revision=18505
* never set the charset on an item without also encoding it. Mime messagesLarry Ewing2002-10-281-6/+2
| | | | | | | | | | 2002-10-28 Larry Ewing <lewing@ximian.com> * backend/ebook/e-card.c (addPropValueUTF8): never set the charset on an item without also encoding it. Mime messages don't like parts with multiple charsets. svn path=/trunk/; revision=18451
* [ probable fix for #25477, and memory leak fix ] if the dialog isn't inChris Toshok2002-10-211-0/+2
| | | | | | | | | | | | | | | 2002-10-19 Chris Toshok <toshok@ximian.com> [ probable fix for #25477, and memory leak fix ] * gui/contact-editor/e-contact-editor.c (supported_fields_cb): if the dialog isn't in the list of all dialogs it's been destroyed so just return here. * backend/ebook/e-book.c (e_book_do_response_get_supported_fields): plug leak of resp->fields. svn path=/trunk/; revision=18396
* Return right away rather than crashing if card->email is NULL.Dan Winship2002-10-161-0/+6
| | | | | | | | * backend/ebook/e-card.c (e_card_email_match_string): Return right away rather than crashing if card->email is NULL. (e_card_email_find_number): Likewise. svn path=/trunk/; revision=18370
* [ Fixes #31321 ] add VERSION:2.1 to exported vCards.Chris Toshok2002-10-011-0/+2
| | | | | | | | | | 2002-09-30 Chris Toshok <toshok@ximian.com> [ Fixes #31321 ] * backend/ebook/e-card.c (e_card_get_vobject): add VERSION:2.1 to exported vCards. svn path=/trunk/; revision=18274
* update for Composer_setHeaders change.Dan Winship2002-09-301-2/+2
| | | | | | | * backend/ebook/e-card.c (e_card_list_send): update for Composer_setHeaders change. svn path=/trunk/; revision=18261
* [ Fixes bug #30250 ] handle "Unnamed Lists" here by setting their name toChris Toshok2002-09-132-3/+12
| | | | | | | | | | | | | | | | | | | | | | | 2002-09-13 Chris Toshok <toshok@ximian.com> [ Fixes bug #30250 ] * backend/ebook/e-destination.c (e_destination_get_name): handle "Unnamed Lists" here by setting their name to _("Unnamed List'). * backend/ebook/e-card-simple.c (e_card_simple_get): same. * gui/contact-list-editor/e-contact-list-editor.c (is_named): new function, return TRUE if the name field is filled in. (prompt_to_save_changes): return TRUE if the list isn't named (meaning it's not saveable.) (command_state_changed): saving requires a name. (add_email_cb): always call command_state_changed. (remove_entry_cb): same. (list_name_changed_cb): same. (visible_addrs_toggled_cb): same. (table_drag_data_received_cb): same. svn path=/trunk/; revision=18059
* return g_strdup("true"), not "true".Dan Winship2002-09-131-1/+1
| | | | | | | * backend/ebook/e-card-simple.c (e_card_simple_get): return g_strdup("true"), not "true". svn path=/trunk/; revision=18056
* add QueryRefused, for when the backend refuses to perform a query. (partDan Winship2002-08-312-0/+3
| | | | | | | | | | | | | | * backend/idl/addressbook.idl (CallStatus): add QueryRefused, for when the backend refuses to perform a query. (part of #25782) * backend/ebook/e-book-view-listener.c (e_book_view_listener_convert_status): translate GNOME_Evolution_Addressbook_BookViewListener_QueryRefused. * gui/component/addressbook.c (search_result): Handle E_BOOK_VIEW_STATUS_QUERY_REFUSED. svn path=/trunk/; revision=17934
* [ fixes #20347 ] hook up the backend_died signal. (backend_died): newChris Toshok2002-08-292-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-08-29 Chris Toshok <toshok@ximian.com> [ fixes #20347 ] * gui/widgets/e-addressbook-view.c (e_addressbook_view_init): hook up the backend_died signal. (backend_died): new function, pop up an error dialog saying the backend died. * gui/widgets/e-addressbook-model.c (backend_died): new function, emit the backend_died signal. (e_addressbook_model_class_init): create the backend_died signal. (e_addressbook_model_init): init backend_died_id (e_addressbook_model_set_arg): disconnect the backend_died signal from the old book and hook it up to the new book. * gui/widgets/e-addressbook-model.h: add the backend_died signal. * backend/ebook/e-book.c (backend_died_cb): new function, emit the backend_died signal. (e_book_do_response_open): create the component listener and hook up the backend_died signal. (e_book_destroy): disconnect the component listener and unref it. * backend/ebook/e-book.h: add backend_died signal. svn path=/trunk/; revision=17918
* take and pass the CallStatus to our listener.Chris Toshok2002-08-206-9/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-08-19 Chris Toshok <toshok@ximian.com> * backend/pas/pas-book-view.c (pas_book_view_notify_complete): take and pass the CallStatus to our listener. * backend/pas/pas-book-view.h: change the prototype for notify_complete to include the CallStatus. * gui/component/select-names/e-select-names-completion.c (e_select_names_completion_seq_complete_cb): add the status arg. * gui/widgets/e-addressbook-view.c (e_addressbook_view_class_init): init the search_result signal. (e_addressbook_view_init): connect to the model's search_result signal. (emit_search_result): emit our search_result signal. (search_result): call emit_search_result. * gui/widgets/e-addressbook-view.h (struct _EAddressbookViewClass): add the search_result signal. * gui/widgets/e-addressbook-model.c (sequence_complete): emit both a "search_result" as well as the "stop_state_changed" signal. (e_addressbook_model_class_init): init the search_result signal. * gui/widgets/e-addressbook-model.h: add search_result signal. * gui/component/addressbook.c (search_result): pop up a dialog telling the user why the search failed or was truncated. (addressbook_factory_new_control): connect to the "search_result" signal on the view. * conduit/address-conduit.c (sequence_complete): add the status parameter to sequence_complete. * backend/idl/addressbook.idl: add BookViewListener_CallStatus, and change notifySequenceComplete to take a CallStatus. * backend/pas/pas-backend-ldap.c (create_card_handler): pass status back in the notify_complete call. (remove_card_handler): same. (modify_card_modify_handler): same (ldap_search_handler): same, and parse out the ldap return code so we can report limits being properly. * backend/pas/pas-backend-file.c (do_summary_query): pass status back in the notify_complete call. (pas_backend_file_search): same, and get rid of the status_message, as the status is passed back properly. (pas_backend_file_search): pass status back in the notify_complete call. (pas_backend_file_changes): same. (pas_backend_file_process_create_card): same. (pas_backend_file_process_remove_card): same. (pas_backend_file_process_modify_card): same. * backend/ebook/e-book-util.c (simple_query_sequence_complete_cb): add status parameter. * backend/ebook/e-book-view-listener.c (e_book_view_listener_queue_status_event): change name from _queue_empty_event, and take a status arg. (e_book_view_listener_queue_id_event): init resp->status (to SUCCESS). (e_book_view_listener_queue_sequence_event): same. (e_book_view_listener_queue_message_event): same. (impl_BookViewListener_notify_sequence_complete): call queue_status_event, and convert the corba status to EBookViewStatus. (e_book_view_listener_convert_status): new function, conver the corba status to EBookViewStatus. * backend/ebook/e-book-view-listener.h: add a "status" slot to EBookViewListenerResponse. * backend/ebook/e-book-view.h: change prototype for sequence_complete signal. * backend/ebook/e-book-view.c (e_book_view_do_complete_event): sequence_complete takes a parameter now (EBookViewStatus). (e_book_view_class_init): add the enum arg to the signal. * backend/ebook/e-book-types.h: add EBookViewStatus enum. svn path=/trunk/; revision=17814
* Import into the default book not the local oneIain Holmes2002-08-162-1/+12
| | | | svn path=/trunk/; revision=17788
* If invoked from a non-contact folder, add the contact to the defaultDan Winship2002-08-136-80/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gui/component/addressbook-component.c (user_create_new_item_cb): If invoked from a non-contact folder, add the contact to the default contact folder, not the local one. If invoked from a contact folder, don't append "addressbook.db" to the URI, let ebook do the right thing. Fixes #28327 and #28325. * backend/idl/addressbook.idl (CallStatus): Add NoSuchBook. (Initially intended as part of a fix for #28327, but the other changes make it so the error code never ends up getting used any more, but it's still good to have.) * gui/widgets/e-addressbook-util.c (e_addressbook_error_dialog): Handle NO_SUCH_BOOK. * backend/ebook/e-book-types.h (EBookStatus): Add E_BOOK_STATUS_NO_SUCH_BOOK. * backend/ebook/e-book-listener.c (e_book_listener_convert_status): add case for NoSuchBook. * backend/ebook/e-book-util.c (e_book_load_local_address_book): Kill this. Nothing should ever explicitly load the local addressbook. (e_book_use_default_book): Replaces e_book_use_local_address_book, using the default book instead. (e_book_default_book_open): Fall back to local contact folder on E_BOOK_STATUS_NO_SUCH_BOOK too. (e_book_query_address_default): Use default book, not local. * gui/component/e-address-widget.c (query_idle_fn): Use the default book, not the local book. * gui/component/select-names/e-select-names-popup.c (edit_contact_info_cb): Use the default book, not the local book. * backend/ebook/e-destination.c (e_destination_cardify): Use the default book, not the local book. (e_destination_touch): Query the default book, not the local book. * backend/ebook/e-card-compare.c (e_card_locate_match, e_card_locate_match_full): Use the default book, not the local book. svn path=/trunk/; revision=17764
* Use "\r" rather than including literal CRs in the string, which confusesDan Winship2002-08-072-54/+28
| | | | | | | | | * backend/ebook/test-client.c (TEST_VCARD): Use "\r" rather than including literal CRs in the string, which confuses gcc on OS X. * backend/ebook/test-card.c (TEST_VCARD): Likewise. svn path=/trunk/; revision=17722
* (activate_factories_for_uri): Don'tEttore Perazzoli2002-07-311-2/+0
| | | | | | double free protocol and query. svn path=/trunk/; revision=17653
* Install libversit.a so that people compiling against the addressbook canPeter Williams2002-07-181-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-07-09 Peter Williams <peterw@ximian.com> * libversit/Makefile.am (privlib_LIBRARIES): Install libversit.a so that people compiling against the addressbook can do so successfully. * Makefile.am: create our *Conf.sh files and dist them and install them. * configure.in: Define and subst some variables that the Conf.sh file need. 2002-07-08 Peter Williams <peterw@ximian.com> * backend/ebook/Makefile.am: Install libebook-static.la. Also change --all-static to -all-static, which is the right flag. * backend/pas/Makefile.am: Install the PAS headers in $(includedir)/evolution/pas. Install libpas.a 2002-07-08 Peter Williams <peterw@ximian.com> * cal-util/Makefile.am: Install libcal-util-static.la and fix the -all-static flag to make it install statically. * pcs/Makefile.am: Install libpcs.a and its headers. * pcs/cal-backend-util.h: Same sort of include namespacing fix, but for pcs. * pcs/cal.h: * pcs/query.h: * pcs/cal-factory.h: * pcs/cal-backend.h: * pcs/cal-backend-file.h: Same. 2002-07-17 Peter Williams <peterw@ximian.com> * calendar/cal-util/Makefile.am (GTKDOC_LIBS): Because we're using libtool as our LD, we can reference .la's and libtool will DTRT for us. * calendar/cal-client/Makefile.am (GTKDOC_LIBS): Same here. 2002-07-03 Peter Williams <peterw@ximian.com> * Makefile.am: Install libeutil, libeconduit, and libedb3util and their headers. 2002-07-08 Peter Williams <peterw@ximian.com> * Makefile.am: Reference the new libefilterbar.a. 2002-07-12 Peter Williams <peterw@ximian.com> * Makefile.am (INCLUDES): Add -I$(builddir)/libical/src/libical for the generated ical.h (some headers rely on this because they too get installed.) 2002-07-09 Peter Williams <peterw@ximian.com> * e-timezone-dialog/Makefile.am: Add -I$(top_builddir)/libical/src/libical; some headers that we rely on get installed, so they point to the ical.h that gets generated and installed; consequently we need to be able to find the generated ical.h * misc/Makefile.am: Install libemiscwidgets.a and its headers. However, break EFilterBar into a separate libefilterbar.a because we don't want the installed library to depend on libfilter. svn path=/trunk/; revision=17496
* Oops, missed this one.Peter Williams2002-07-112-2/+3
| | | | | | | | | | | 2002-07-10 Peter Williams <peterw@ximian.com> * backend/ebook/e-book-view-listener.h: Oops, missed this one. * backend/ebook/Makefile.am (libebookinclude_HEADERS): Also put addressbook.h here because several headers reference it. svn path=/trunk/; revision=17412
* Add include lines to get ebook headers relative to <ebook/foo.h>, notPeter Williams2002-07-116-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-07-09 Peter Williams <peterw@ximian.com> * tools/Makefile.am (INCLUDES): Add include lines to get ebook headers relative to <ebook/foo.h>, not "foo.h". addressbook: 2002-07-08 Peter Williams <peterw@ximian.com> * backend/ebook/e-book.h: Normalize includes to <ebook/foo.h>, so that the installed headers will work sanely. * backend/ebook/e-card-cursor.h: * backend/ebook/e-book-view.h: * backend/ebook/e-card-simple.h: * backend/ebook/e-card.h: * backend/ebook/e-destination.h: Same. * printing/Makefile.am (INCLUDES): add -Iaddressbook/backend to access the ebook headers. Also the builddir version to get the generated addressbook.h * gui/widgets/Makefile.am (INCLUDES): Same builddir fix. * gui/merging/e-card-merging.c: Fix an ebook #include. * gui/merging/Makefile.am (INCLUDES): Same idea. * gui/contact-list-editor/Makefile.am (INCLUDES): Same. * gui/contact-editor/Makefile.am (INCLUDES): Same builddir change. calendar: 2002-07-08 Peter Williams <peterw@ximian.com> * gui/Makefile.am (INCLUDES): Change the -I flags to get it to play nicely with the new Ebook header paradigm. * gui/dialogs/Makefile.am: Same. * gui/e-meeting-model.c: More of the same. * gui/dialogs/e-delegate-dialog.c: * gui/dialogs/e-meeting-model.c: * gui/dialogs/comp-editor-util.c: Fix include lines to get ebook headers. * pcs/Makefile.am: Same. composer: 2002-07-08 Peter Williams <peterw@ximian.com> * Makefile.am (INCLUDES): Fix cflags for ebook header namespacing. importers: 2002-07-08 Peter Williams <peterw@ximian.com> * Makefile.am: Fix cflags to get at ebook headers correctly. * pine-importer.c: Fix include lines to get ebook headers the "right" way. * evolution-gnomecard-importer.c: Same. mail: 2002-07-08 Peter Williams <peterw@ximian.com> * Makefile.am (INCLUDES): Add -I flags to get the ebook headers. svn path=/trunk/; revision=17411
* add Book.getCompletionView.Chris Toshok2002-07-102-0/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-07-10 Chris Toshok <toshok@ximian.com> * backend/idl/addressbook.idl: add Book.getCompletionView. * backend/ebook/e-book.c (e_book_get_completion_view): new function, basically c&p of e_book_get_book_view, but call getCompletionView. * backend/ebook/e-book.h: add prototype for e_book_get_completion_view. * backend/pas/pas-backend-ldap.c (pas_backend_ldap_process_client_requests): add a GetCompletionView case here that just calls the same code as GetBookView (since we don't build summaries for the ldap backend.) * backend/pas/pas-backend-file.c (do_summary_query): add @completion_search. If it's TRUE, just create the vcards from the summary using pas_backend_summary_get_summary_vcard instead of looking them up from the db. (pas_backend_file_search): add @completion_search and pass it on to do_summary_query. (pas_backend_file_process_get_book_view): pass FALSE to pas_backend_file_search. (pas_backend_file_process_get_completion_view): new function, basically c&p pas_backend_file_process_get_book_view, but pass TRUE to pas_backend_file_search. (pas_backend_file_process_client_requests): add a case for GetCompletionView. (pas_backend_file_load_uri): track the change to the summary api - create the summary filename * backend/pas/pas-book.c (pas_book_queue_get_completion_view): new function, queue a GetCompletionView request to our queue. (impl_GNOME_Evolution_Addressbook_Book_getCompletionView): new function, call pas_book_queue_get_completion_view. (pas_book_respond_get_completion_view): new function, just call notifyViewRequested. (pas_book_free_request): add a case for GetCompletionView. (pas_book_get_epv): fill in epv->getCompletionView. * backend/pas/pas-book.h: add a GetCompletionView PASOperation, and a new structure (PASGetCompletionViewRequest). Also, add get_completion_view to PASRequest. * backend/pas/pas-backend-summary.c (clear_items): remove the items from the hash table. (pas_backend_summary_new): db_path -> summary_path. (pas_backend_summary_destroy): db_.path -> summary_path, and destroy the hash table. (pas_backend_summary_init): db_path = summary_path, and initialize the id_to_item hashtable. (pas_backend_summary_load_header): handle the upgrading from version 1.0 to version 2.0 (the addition of an mtime field in the header) (pas_backend_summary_load_item): version 1.0 and 2.0 have the same format for items. (pas_backend_summary_open): new function. open the summary so we can load the header (and get the mtime). (pas_backend_summary_load): rework this a bit since the header has already been loaded, and also add the items to the hashtable. (pas_backend_summary_add_card): add the new item to the hashtable. (pas_backend_summary_remove_card): remove the item from the hash table. (pas_backend_summary_is_up_to_date): new function, chekc @t against the summary's mtime. (pas_backend_summary_get_summary_vcard): create a vcard from the fields we have in the summary. * backend/pas/pas-backend-summary.h: add prorotypes for pas_backend_summary_is_up_to_date and pas_backend_summary_get_summary_vcard. svn path=/trunk/; revision=17402
* Made "" compare as not equal to "" for addresses. (use_common_book_cb):Christopher James Lahey2002-06-151-4/+6
| | | | | | | | | | | | 2002-06-14 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-card-compare.c (compare_email_addresses): Made "" compare as not equal to "" for addresses. (use_common_book_cb): Don't bother checking for nickname here since we don't use it as a match later. Don't add "" as an address to the list of query parts. svn path=/trunk/; revision=17191
* [ fixes bug #17332 ] we shouldn't ever return NULL here. in error cases weChris Toshok2002-06-121-1/+1
| | | | | | | | | | | 2002-06-11 Chris Toshok <toshok@ximian.com> [ fixes bug #17332 ] * backend/ebook/e-book.c (e_book_get_static_capabilities): we shouldn't ever return NULL here. in error cases we need to return g_strdup(""); svn path=/trunk/; revision=17173
* Made expand_uri a bit more robust and readable.Christopher James Lahey2002-06-111-18/+18
| | | | | | | | | | | | | | 2002-06-10 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-book-util.c (e_book_expand_uri): Made expand_uri a bit more robust and readable. (e_book_get_default_book_uri): Made e_book_get_default_book_uri use e_book_expand_uri if using the bonobo_config value. * gui/component/e-address-popup.c (start_query): Handle the failure state here by acting as if there are no matches. svn path=/trunk/; revision=17159
* [ #24189 ] ifdef out the body of this because it only works with a singleChris Toshok2002-05-242-22/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-05-24 Chris Toshok <toshok@ximian.com> [ #24189 ] * gui/component/select-names/e-select-names-manager.c (focus_out_cb): ifdef out the body of this because it only works with a single completion book. not sure what to do here, but it doesn't impact most usage scenarios. (completion_popup_cb): same. (e_select_names_manager_entry_new): add the books that have been loaded successfully by the time this entry is created. (open_book_cb): add the opened book to the entries that have already been created, and store it in our list so that entries that are created in the future can catch up. (read_completion_books_from_db): slurp in the folder list from the config db and load all the uris. (uris_listener): listener function - when there's a change it calls _clear_books on all the created entries, and clears our list. It then re-reads the books from the db. (e_select_names_manager_new): create our bonobo listener and call read_completion_books_from_db. (e_select_names_manager_init): init completion_books. (e_select_names_manager_destroy): free our list of completion_books. * gui/component/select-names/e-select-names-manager.h: switch from a single EBook to a GList of completion_books here. * gui/component/select-names/e-select-names-completion.c (e_select_names_completion_add_book): deal with the case where there's an active query (by effectively restarting it.) This is quite a contrived edge case. (e_select_names_completion_clear_books): stop the current query and clear our list of books. (e_select_names_completion_new): track change to prototype, and axe the majority of this method since an EBook* isn't passed anymore. (e_select_names_completion_clear_book_data): split this code out from the destroy method so it can be called from _clear_books. * gui/component/select-names/e-select-names-completion.h: the constructor no longer takes an EBook -- pass in as many as you want using _add_book. Also, add prototype for _clear_books. * gui/component/addressbook.c (load_uri_cb): when storing/retrieving passwords, use the cleaned (without params) version of the uri, so changing things like download limit don't cause the user to be prompted for a password again. * gui/component/addressbook-component.c (ensure_completion_uris_exist): new function - probably doesn't belong in this file. Make sure the basic local Contacts folder exists in the completion uris. (addressbook_component_factory_init): call ensure_completion_uris_exist. * backend/ebook/e-book-util.h: add prototype for e_book_get_default_book_uri. * backend/ebook/e-book-util.c (e_book_get_default_book_uri): new function, just return the default contacts uri. (e_book_load_default_book): change to use e_book_get_default_book_uri. svn path=/trunk/; revision=16999
* make sure we map status -> string correctly (add missing strings).Chris Toshok2002-05-212-2/+5
| | | | | | | | | | | | | | | | 2002-05-17 Chris Toshok <toshok@ximian.com> * gui/widgets/e-addressbook-util.c (e_addressbook_error_dialog): make sure we map status -> string correctly (add missing strings). * backend/ebook/e-book-types.h (EBookStatus): add the missing AUTHENTICATION_REQUIRED status code, to map to the idl response. * backend/ebook/e-book-listener.c (e_book_listener_convert_status): make sure we map all idl status codes to EBookStatus statuses. svn path=/trunk/; revision=16958
* finally remove the #if 0's and use the oaf query stuff to get backendsChris Toshok2002-05-041-2/+0
| | | | | | | | | | 2002-05-03 Chris Toshok <toshok@ximian.com> * backend/ebook/e-book.c (activate_factories_for_uri): finally remove the #if 0's and use the oaf query stuff to get backends that handle specific protocols. svn path=/trunk/; revision=16681
* Changed this to set a subject when sending a contact. This makes theChristopher James Lahey2002-05-011-1/+58
| | | | | | | | | | 2002-04-30 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-card.c (e_card_list_send): Changed this to set a subject when sending a contact. This makes the signature be set properly also. svn path=/trunk/; revision=16648
* oops, should have done a search to make sure I had gotten all of the libibexesJeffrey Stedfast2002-04-271-6/+0
| | | | svn path=/trunk/; revision=16614
* Don't link to libibex anymore.Jeffrey Stedfast2002-04-271-1/+0
| | | | | | | | | | | | | | 2002-04-26 Jeffrey Stedfast <fejj@ximian.com> * printing/Makefile.am: Don't link to libibex anymore. * conduit/Makefile.am: Same. * backend/ebook/Makefile.am: Again here. * gui/component/Makefile.am: And finally here. svn path=/trunk/; revision=16612
* Append /addressbook.db to the end of the default URI if it starts withDan Winship2002-04-192-3/+10
| | | | | | | | | | | * backend/ebook/e-book-util.c (e_book_load_default_book): Append /addressbook.db to the end of the default URI if it starts with file: * backend/ebook/e-book.c (e_book_load_uri_step): Fix this to not loop forever if you have more than one backend. svn path=/trunk/; revision=16519
* Update for new-and-improved consistent default folder uri.Dan Winship2002-04-101-1/+1
| | | | | | | | | | | | | * backend/ebook/e-book-util.c (e_book_load_default_book): Update for new-and-improved consistent default folder uri. * gui/component/addressbook.c (addressbook_load_default_book): Use e_book_load_default_book rather than duplicating most of its logic here. (load_uri_cb): Modify to work as a callback for addressbook_load_default_book as well as addressbook_load_uri. svn path=/trunk/; revision=16409
* Fix spelling of E_CARD_SIMPLE_PHONE_ID_TTYTDD andDan Winship2002-04-022-6/+6
| | | | | | | | | | | | * backend/ebook/e-card-simple.h: Fix spelling of E_CARD_SIMPLE_PHONE_ID_TTYTDD and E_CARD_SIMPLE_FIELD_PHONE_TTYTDD (they previously ended with "TTD" instead of "TDD") * backend/ebook/e-card-simple.c: Update for spelling fix. * backend/pas/pas-backend-ldap.c: Likewise svn path=/trunk/; revision=16321
* Update for libversit change: Use .a rather than .la now.Dan Winship2002-03-201-7/+7
| | | | | | | | | | | * backend/ebook/Makefile.am: Update for libversit change: Use .a rather than .la now. * printing/Makefile.am: Likewise * gui/component/Makefile.am: Likewise svn path=/trunk/; revision=16210
* add TLSNotAvailable to BookLister_CallStatus.Chris Toshok2002-03-102-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-03-09 Chris Toshok <toshok@ximian.com> * backend/idl/addressbook.idl: add TLSNotAvailable to BookLister_CallStatus. * backend/ebook/e-book-types.h: add TLS_NOT_AVAILABLE to the EBookStatus enum. * backend/ebook/e-book-listener.c (e_book_listener_convert_status): add TLS_NOT_AVAILABLE to the switch. * backend/pas/pas-backend-ldap.c (pas_backend_ldap_get_static_capabilities): fix name. (pas_backend_ldap_class_init): fix name. (pas_backend_ldap_connect): change return type to CallStatus so we can return different errors from here. Also, do STARTTLS if the user has asked for it and the connection supports it, returning TLSNotAvailable (and close the connection) if they chose to require it. (pas_backend_ldap_load_uri): return pas_backend_ldap_connect. (func_beginswith): pull in change from evolution-1-0-branch to make full_name beginswith search both cn and sn. svn path=/trunk/; revision=16005
* [ Fixes bugs 20740, 16680, and god knows what else :) ] double theChris Toshok2002-02-231-2/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-02-22 Chris Toshok <toshok@ximian.com> [ Fixes bugs 20740, 16680, and god knows what else :) ] * gui/widgets/e-addressbook-model.c (create_card): double the allocated size every time we need more space instead of using a fixed size increment. this helps huge queries. Also, remove the gtk_object_get of "file_as", as it was dead code. (book_view_loaded): handle errors here (by popping up a dialog). * backend/pas/pas-backend-ldap.c (view_destroy): search_idle -> search_timeout. (build_card_from_entry): comment out some spew, and unref ecard when we're done to plug a memory leak. (send_pending_adds): send along to the client all the cards we've been saving up. (poll_ldap): use a timeout for ldap_result to keep the backend from blocking (and it turns out keep the frontend from hanging waiting on a ref to complete) on large db's with few matches. Also, add some fairly smart, self-tuning aggregating of cards. Keep track of the number of cards we've sent the last time through as well as this time, and estimate the number we want to aggregate the next time based on them (we average them at the moment), subject to maximum/minimum number of cards. also, we have a maximum aggregation time, after which we force a flush if there are pending cards and recalculate our target pending number. there's a minimum wait time to possibly keep outselves from spamming the ui, although it's 0 at the moment. Lastly, make sure to only notify the GUI of status messages when we need to. this results in a *huge* savings. (ldap_search_handler): initialize all the pending card stuff, and use a timeout instead of an idle function for poll_ldap. * backend/ebook/e-book-view-listener.c (e_book_view_listener_queue_response): performance optimization for large adds. If we're a CardAddedEvent and there's an existing CardAddedEvent at the end of the queue, just concat the lists of cards together. This is to keep the gui from falling further and further behind the ldap backend, which is merrily spewing updates at the gui. svn path=/trunk/; revision=15807
* track change to signature, and (for now) just change all the returnChris Toshok2002-02-212-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-02-20 Chris Toshok <toshok@ximian.com> * backend/pas/pas-backend-file.c (pas_backend_file_load_uri): track change to signature, and (for now) just change all the return FALSE's to _RepositoryOffline (what FALSE used to map to in pas_book_factory_process_request), and change TRUE to _Success. * backend/pas/pas-backend-ldap.c (pas_backend_ldap_load_uri): track change to signature, and differentiate between pas_backend_ldap_connect failing (RepositoryOffline), and ldap_url_parse failing (OtherError). * backend/pas/pas-book-factory.c (pas_book_factory_process_request): since pas_backend_load_uri returns status now, use it to nodify the BookListener if there's a failure. * backend/pas/pas-backend.c (pas_backend_load_uri): track change to signature. * backend/pas/pas-backend.h: change return type of pas_backend_load_uri to GNOME_Evolution_Addressbook_BookListener_CallStatus to allow differentiation between failure types. * backend/ebook/e-book-listener.c (e_book_listener_convert_status): handle _AUTHENTICATION_FAILED. * backend/ebook/e-book-types.h (EBookStatus): add _AUTHENTICATION_FAILED. svn path=/trunk/; revision=15779
* New functions that take a file:// url ending in the directory name andChristopher James Lahey2002-02-142-38/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-02-13 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-book-util.c, backend/ebook/e-book-util.h (e_book_expand_uri, e_book_load_address_book_by_uri, e_book_use_address_book_by_uri): New functions that take a file:// url ending in the directory name and automatically append the addressbook.db and do the appropriate thing. * backend/pas/pas-backend-card-sexp.c, backend/pas/pas-backend-card-sexp.h: Added copyright notice here. * gui/component/addressbook-component.c (destination_folder_handle_drop), gui/component/addressbook.c (set_prop): Use e_book_expand_uri instead of addressbook_expand_uri. * gui/component/addressbook-storage.c: Fixed the fcntl include here. * gui/component/addressbook.c (ContactsCopyToFolder, ContactsMoveToFolder): Added handlers for these two verbs. * gui/component/addressbook.h: Removed addressbook_expand_uri in favor of e_book_expand_uri. * gui/widgets/e-addressbook-reflow-adapter.c (transfer_cards): Added code to handle Move to and Copy to right click menu items. * gui/widgets/e-addressbook-util.c, gui/widgets/e-addressbook-util.h (e_addressbook_transfer_cards): New function to pop up a dialog and transfer a set of cards to the given folder. * gui/widgets/e-addressbook-view.c, gui/widgets/e-addressbook-view.h (display_view): Don't attach to the view if it doesn't exist yet. We have to make this then attach later. (e_addressbook_view_copy_to_folder, e_addressbook_view_move_to_folder): New functions utilizing e_addressbook_transfer_cards. (table_right_click): Add copy_to_folder and move_to_folder to the right click menu for tables here. (e_addressbook_view_discard_menus): Handle menu unmerging here. * gui/widgets/e-minicard-view-widget.h (struct _EMinicardViewWidget): Removed unused field. svn path=/trunk/; revision=15710
* New function to find out if a destination was one which was auto-maticallyJeffrey Stedfast2002-02-022-273/+304
| | | | | | | | | | | | | | | | | | | 2002-02-01 Jeffrey Stedfast <fejj@ximian.com> * backend/ebook/e-destination.c (e_destination_is_auto_recipient): New function to find out if a destination was one which was auto-matically set by Evolution. (e_destination_set_auto_recipient): Set whether or not the dest is an auto-recipient. (e_destination_touch): Don't touch the address if it is an auto_recipient. (e_destination_list_to_vector_sized): New function to avoid having to calculate the length of the list ourselves. Allows for a bit of optimization if our caller knows the length of the list. (e_destination_xml_encode): Encode the auto_recipient bit. (e_destination_xml_decode): Decode the auto_recipient bit. svn path=/trunk/; revision=15550
* Made this preserve addressbook flags other than the first three.Christopher James Lahey2002-02-024-1638/+87
| | | | | | | | | | | | | | | | | 2002-02-01 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-card-simple.c (e_card_simple_sync_card): Made this preserve addressbook flags other than the first three. * backend/ebook/e-card-types.h: Added E_CARD_ADDR_MASK and E_CARD_ADDR_DEFAULT. * backend/ebook/e-card.c (get_address_flags): Added "PREF" to E_CARD_ADDR_DEFAULT mapping. * backend/ebook/test-client.c: Added #include "e-book-util.h". svn path=/trunk/; revision=15546
* Revert my previous change as trow says this will break auto-completionJeffrey Stedfast2002-01-291-1/+1
| | | | | | | | | | 2002-01-28 Jeffrey Stedfast <fejj@ximian.com> * backend/ebook/e-destination.c (e_destination_is_valid): Revert my previous change as trow says this will break auto-completion stuff. svn path=/trunk/; revision=15496
* Don't check for an @ in the email address. This is to fix bug #10960.Jeffrey Stedfast2002-01-261-1/+6
| | | | | | | | | 2002-01-25 Jeffrey Stedfast <fejj@ximian.com> * backend/ebook/e-destination.c (e_destination_is_valid): Don't check for an @ in the email address. This is to fix bug #10960. svn path=/trunk/; revision=15477
* [ fixes bug 16097 ] gui love for the new auth stuff.Chris Toshok2002-01-253-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-01-24 Chris Toshok <toshok@ximian.com> [ fixes bug 16097 ] * gui/component/addressbook-config.glade: gui love for the new auth stuff. * gui/component/addressbook.c (load_uri_cb): track change to auth, and offer up different prompt strings depending on which method (binddn or email) we're using. * gui/component/addressbook-storage.c (ldap_unparse_auth): use the new auth types for ldap. (ldap_parse_auth): same. (addressbook_storage_auth_type_to_string): new function. (load_source_data): get the binddn too. (ldap_source_foreach): store out binddn or emailaddr, depending on the auth type chosen. * gui/component/addressbook-storage.h: add the more detailed auth types, add "binddn" to the source structure, and add a prototype for addressbook_storage_auth_type_to_string. * gui/component/addressbook-config.c (auth_checkbutton_changed): set the auth stuff (in)sensitive. (auth_optionmenu_activated): new function. (addressbook_source_dialog_set_source): track UI change. (addressbook_source_dialog_get_source): same. (add_scope_activate_cb): rename add_activate_cb to this to distinguish it from the auth stuff. (add_auth_activate_cb): new function. (addressbook_source_dialog): track change to auth UI stuff. (addressbook_storage_auth_type_to_string): new function. * backend/ebook/e-book.h: add auth_method arg to e_book_authenticate_user. * backend/ebook/e-book.c (e_book_authenticate_user): track change to prototype - add auth_method arg, and pass it along to the CORBA call. * backend/ebook/test-client.c (book_open_cb): track api change - keep this building. * backend/pas/pas-book.h: add auth_method slot in PASRequest. * backend/pas/pas-book.c (pas_book_queue_authenticate_user): add auth_method arg and add it to the PASRequest. (impl_GNOME_Evolution_Addressbook_Book_authenticateUser): track idl change, add auth_method and pass it along to pas_book_queue_authenticate_user. * backend/pas/pas-backend-ldap.c (pas_backend_ldap_process_authenticate_user): support both "ldap/simple-email" and "ldap/simple-binddn" auth methods. * backend/idl/addressbook.idl: add "in string authMethod" to authenticateUser. svn path=/trunk/; revision=15467
* Clean up some of the Makefiles so we dont' link every library multipleEttore Perazzoli2002-01-251-46/+29
| | | | | | times, causing big libtool 1.4 pain. svn path=/trunk/; revision=15461
* [ fixes bug # 16864 ] create and return a GString here, instead of writingChris Toshok2002-01-231-24/+25
| | | | | | | | | | | 2002-01-22 Chris Toshok <toshok@ximian.com> [ fixes bug # 16864 ] * backend/ebook/evolution-ldif-importer.c (getValue): create and return a GString here, instead of writing to a fixed size buffer. (parseLine): use a GString here instead of a fixed size buffer. svn path=/trunk/; revision=15427
* Made username match with no domain match be vague instead of partial.Christopher James Lahey2002-01-181-1/+1
| | | | | | | | | | 2002-01-18 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-card-compare.c: Made username match with no domain match be vague instead of partial. Fixes Ximian bug #13612. svn path=/trunk/; revision=15356
* ChangeLog change.Chris Lahey2002-01-111-0/+3
| | | | svn path=/trunk/; revision=15293
* Add a test for getting arbitrary fields.Joe Shaw2002-01-102-2/+13
| | | | | | | | | | | | | | | | | 2002-01-03 Joe Shaw <joe@ximian.com> * backend/ebook/test-card.c: Add a test for getting arbitrary fields. * backend/pas/pas-backend-card-sexp.c (compare_arbitrary): Added. (prop_info_table): Add a LIST_PROP for arbitrary fields. 2002-01-03 Nat Friedman <nat@ximian.com> * backend/ebook/e-book.c (activate_factories_for_uri): Free the query if the oaf response is of zero length. svn path=/trunk/; revision=15275
* go slow and clear the map if the last uri and the current uri do not matchJP Rosevear2001-12-192-0/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-12-18 JP Rosevear <jpr@ximian.com> * conduit/address-conduit.c (check_for_slow_setting): go slow and clear the map if the last uri and the current uri do not match (post_sync): save the last uri * conduits/address-conduit-config.h: handle a last uri config option 2001-12-18 Chris Toshok <toshok@ximian.com> * gui/component/addressbook.c (addressbook_default_book_open): change this to match its e-book counterpart, and only failover to the local addressbook if the protocol wasn't supported. that way errors like "failure to connect" are still reported to the user. * backend/ebook/e-book-util.h: add prototypes for e_book_load_default_book and e_book_get_config_database. * backend/ebook/e-book-util.c (e_book_default_book_open): new function, basically cut and paste addressbook_default_book_open from addressbook.c here. (e_book_load_default_book): cut and past addressbook_load_default_book here, pretty much, except leave off the auth stuff. (e_book_get_config_database): new function, returns the Bonobo_ConfigDatabase for e_book_load_default_book to use. * conduit/address-conduit.c (start_addressbook_server): use e_book_load_default_book here. svn path=/trunk/; revision=15178
* Used g_strdup_printf to dup a string. Doh! Changed to g_strdup. (BugJon Trowbridge2001-12-141-1/+1
| | | | | | | | | | 2001-12-13 Jon Trowbridge <trow@ximian.com> * backend/ebook/e-book-util.c (simple_query_new): Used g_strdup_printf to dup a string. Doh! Changed to g_strdup. (Bug #17126) svn path=/trunk/; revision=15031
* Make address comparisons case-insensitive. (Fixes 11776)Jon Trowbridge2001-12-042-6/+7
| | | | | | | | | | | | 2001-12-03 Jon Trowbridge <trow@ximian.com> * backend/ebook/e-destination.c (e_destination_equal): Make address comparisons case-insensitive. (Fixes 11776) * backend/ebook/e-card.c (e_card_email_match_single_string): Make address host comparisons case-insensitive. (Fixes 11776) svn path=/trunk/; revision=14856
* Clean ESelectNamesModel on focus-out. (Half of a fix for 15656)Jon Trowbridge2001-12-041-3/+5
| | | | | | | | | | | | 2001-12-03 Jon Trowbridge <trow@ximian.com> * gui/component/select-names/e-select-names-manager.c (focus_out_cb): Clean ESelectNamesModel on focus-out. (Half of a fix for 15656) * backend/ebook/e-destination.c (nonempty): Fix this function and make it utf8-safe. (The other half of the fix for 15656) svn path=/trunk/; revision=14855
* [ Fixes Ximian bug #14646 ] new function. if the default_book failed toChris Toshok2001-11-101-0/+4
| | | | | | | | | | | | | | | | | 2001-11-09 Chris Toshok <toshok@ximian.com> [ Fixes Ximian bug #14646 ] * gui/component/addressbook.c (addressbook_default_book_open): new function. if the default_book failed to load, load the local addressbook in its place. addressbook_load_default_book): if we're loading the default_book uri, use addressbook_default_book_open as the open_response. * backend/ebook/e-book.c (e_book_load_uri_step): reset the load_state to NotLoaded so we can attempt another load_uri on the book if it fails. svn path=/trunk/; revision=14654
* Check for NULL dates before converting them to strings. Fixes Ximian bugChristopher James Lahey2001-11-031-10/+14
| | | | | | | | | | 2001-11-02 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-card-simple.c (e_card_simple_get): Check for NULL dates before converting them to strings. Fixes Ximian bug #14394. svn path=/trunk/; revision=14579
* Require gal 0.15.99.8Joe Shaw2001-10-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-29 Joe Shaw <joe@ximian.com> * configure.in: Require gal 0.15.99.8 * addressbook/backend/ebook/e-card-simple.c, addressbook/gui/component/addressbook-storage.c, addressbook/gui/widgets/e-addressbook-view.c, calendar/gui/e-calendar-table.c, calendar/gui/e-itip-control.c, calendar/gui/e-meeting-model.c, calendar/gui/itip-utils.c, calendar/gui/print.c, calendar/gui/alarm-notify/alarm-notify-dialog.c, filter/rule-editor.c, mail/mail-config.c, mail/mail-folder-cache.c, mail/mail-format.c, mail/mail-local.c, mail/mail-ops.c, mail/mail-vfolder.c, shell/e-local-storage.c, shell/e-summary-storage.c: Change includes of e-util/e-unicode-i18n.h to gal/util/e-unicode-i18n.h svn path=/trunk/; revision=14427
* Use the actual ECardName in the ECard instead of parsing the full_nameChristopher James Lahey2001-10-291-14/+7
| | | | | | | | | | 2001-10-29 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-card-simple.c (file_as_get_style, file_as_set_style): Use the actual ECardName in the ECard instead of parsing the full_name here. svn path=/trunk/; revision=14338
* New function to set the ECardName on this card and fix the file_as ifChristopher James Lahey2001-10-292-0/+13
| | | | | | | | | | 2001-10-29 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-card-simple.c, backend/ebook/e-card-simple.h (e_card_simple_set_name): New function to set the ECardName on this card and fix the file_as if necessary. svn path=/trunk/; revision=14337
* Handle returning dates here. (e_card_simple_get_allow_newlines): NewChristopher James Lahey2001-10-292-1/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-29 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-card-simple.c, backend/ebook/e-card-simple.h (e_card_simple_get): Handle returning dates here. (e_card_simple_get_allow_newlines): New function. Returns whether it makes much sense to have newlines in this string. * gui/component/addressbook-config.c, gui/component/addressbook-config.h (addressbook_create_new_source): The first argument here should be const. * gui/component/addressbook-storage.c: Added #include "addressbook-config.h". * gui/widgets/e-minicard-label.c (e_minicard_label_event): On an escape here, cancel editing and remove the focus from the text. * gui/widgets/e-minicard.c (add_field): Set allow_newlines here. (field_activated): Stop editing on the activate signal and remove the focus from the text. Fixes Ximian bug #12286. svn path=/trunk/; revision=14335
* Expose this function. (e_card_date_to_string): ...and this one. FixesJon Trowbridge2001-10-282-4/+7
| | | | | | | | | | | 2001-10-28 Jon Trowbridge <trow@ximian.com> * backend/ebook/e-card.c (e_card_date_from_string): Expose this function. (e_card_date_to_string): ...and this one. Fixes build problem in pas-backend-ldap.c. svn path=/trunk/; revision=14284
* Don't leak stuff. (Bug #13709)Jon Trowbridge2001-10-281-10/+15
| | | | | | | | | 2001-10-27 Jon Trowbridge <trow@ximian.com> * backend/ebook/e-book.c (activate_factories_for_uri): Don't leak stuff. (Bug #13709) svn path=/trunk/; revision=14267
* Fix the address of the FSF in the licensing comments.Ettore Perazzoli2001-10-281-3/+4
| | | | svn path=/trunk/; revision=14243
* Set book_uri when cardification occurs.Christopher James Lahey2001-10-281-12/+25
| | | | | | | | | 2001-10-27 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-destination.c (name_and_email_simple_query_cb, nickname_simple_query_cb): Set book_uri when cardification occurs. svn path=/trunk/; revision=14230
* Fixing the license text.Ettore Perazzoli2001-10-281-4/+3
| | | | svn path=/trunk/; revision=14214
* Fixing the license text.Ettore Perazzoli2001-10-286-6/+0
| | | | svn path=/trunk/; revision=14211
* Return on cancellation. (simple_query_sequence_complete_cb): Act if notJon Trowbridge2001-10-271-4/+16
| | | | | | | | | | | | | | | | | | | | | | 2001-10-26 Jon Trowbridge <trow@ximian.com> * backend/ebook/e-book-util.c (simple_query_card_added_cb): Return on cancellation. (simple_query_sequence_complete_cb): Act if not cancelled. (simple_query_book_view_cb): Free & return on cancellation. (e_book_simple_query_cancel): Set cancellation flag. * gui/component/e-address-popup.c (e_address_popup_query): Hold a reference to ourselves for the duration of our addressbook fetch. (start_query): Release when we've fetched our addressbook. (e_address_popup_cleanup): Break out most of what we do in _destroy into a separate function. (e_address_popup_destroy): Class cleanup. (contact_editor_cb): Paranoid clean-up. (add_contacts_cb): Paranoid clean-up. (e_address_popup_ambiguous_email_add): Paranoid clean-up. svn path=/trunk/; revision=14199
* Update the licensing information to require version 2 of the GPLEttore Perazzoli2001-10-276-12/+12
| | | | | | explicitly. svn path=/trunk/; revision=14188
* Fix command paths when we specify our pixmaps, so we don't get a lot ofJon Trowbridge2001-10-241-1/+5
| | | | | | | | | | | | | 2001-10-23 Jon Trowbridge <trow@ximian.com> * gui/component/addressbook.c: Fix command paths when we specify our pixmaps, so we don't get a lot of totally useless & very ugly bonobo-ui spew. * backend/ebook/e-book-util.c (e_book_nickname_query): The empty string as an arg shouldn't generate a warning. svn path=/trunk/; revision=13973
* We shouldn't leak the info returned by oaf_query.Jon Trowbridge2001-10-211-0/+2
| | | | | | | | | | | | | | | | 2001-10-20 Jon Trowbridge <trow@ximian.com> * backend/ebook/e-book.c (activate_factories_for_uri): We shouldn't leak the info returned by oaf_query. * gui/contact-editor/e-contact-quick-add.c (card_added_cb): Remove superfluous call to quick_add_unref. (editor_closed_cb): Remove superfluous call to quick_add_unref. * gui/component/select-names/e-select-names.c (esn_get_key_fn): We need to unref the card returned by e_addressbook_model_get_card. svn path=/trunk/; revision=13834
* Filter out empty destinations. (also Bug #13036)Jon Trowbridge2001-10-211-5/+16
| | | | | | | | | | | | | | | | | | | | | 2001-10-20 Jon Trowbridge <trow@ximian.com> * backend/ebook/e-destination.c (e_destination_importv): Filter out empty destinations. (also Bug #13036) * printing/e-contact-print.c (e_contact_build_style): Use gnome_font_new_closest; if gnome_font_new fails and returns NULL, our spacing gets all messed up. (Bug #10785) * gui/widgets/e-addressbook-view.c (e_addressbook_view_can_print): Allow printing if there are any cards in our view. The selection has nothing to do with it. * backend/ebook/e-destination.c (e_destination_is_empty): Check for strings that contain non-whitespace, rather than just looking for a non-zero first character. (Bug #13036) svn path=/trunk/; revision=13826
* Made this take a const GList.Christopher James Lahey2001-10-192-4/+4
| | | | | | | | | 2001-10-18 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-card.c, backend/ebook/e-card.h (e_card_list_get_vcard): Made this take a const GList. svn path=/trunk/; revision=13773
* Lag our cardification on focus-out. This seems to help with the unintendedJon Trowbridge2001-10-191-4/+0
| | | | | | | | | | | | | | 2001-10-18 Jon Trowbridge <trow@ximian.com> * gui/component/select-names/e-select-names-manager.c (focus_out_cb): Lag our cardification on focus-out. This seems to help with the unintended cardifications that can result from the weird focus-out/focus-in events that get generated when the popup disappears. * backend/ebook/e-card-compare.c: Removed some debug spew. svn path=/trunk/; revision=13757
* Did a bit of clean up here. Might fix some crashes, specifically XimianChristopher James Lahey2001-10-171-9/+11
| | | | | | | | | | | | 2001-10-17 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-card.c (e_card_get_vobject): Did a bit of clean up here. Might fix some crashes, specifically Ximian bug #10164. * gui/widgets/e-addressbook-view.c (SPEC): Updated the model column numbers here. Fixes Ximian bug #12308. svn path=/trunk/; revision=13721
* Check for no extensionIain Holmes2001-10-171-0/+4
| | | | svn path=/trunk/; revision=13710
* If card->id is NULL, return an empty string. (e_card_set_id): Don't allowJon Trowbridge2001-10-171-3/+3
| | | | | | | | | | | | | 2001-10-16 Jon Trowbridge <trow@ximian.com> * backend/ebook/e-card.c (e_card_get_id): If card->id is NULL, return an empty string. (e_card_set_id): Don't allow the card id to be set to NULL; use the empty string instead. (e_card_get_vobject): When building our vcard, pass in the empty string as the id if card->id is NULL. (Bug #10164) svn path=/trunk/; revision=13705
* Properly decide whether a property needs to be marked as QP by searchingChristopher James Lahey2001-10-151-9/+100
| | | | | | | | | | 2001-10-15 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-card.c (addPropValueQP, addPropValueSets, e_card_get_vobject): Properly decide whether a property needs to be marked as QP by searching for '\n'. Fixes Ximian bug #3021. svn path=/trunk/; revision=13675
* commit the importer originally from Michael M. Morrison, with fixups byChris Toshok2001-10-136-4/+676
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-12 Chris Toshok <toshok@ximian.com> * backend/ebook/evolution-ldif-importer.c: commit the importer originally from Michael M. Morrison, with fixups by toshok. * backend/ebook/Makefile.am (bin_PROGRAMS): add evolution-ldif-importer. (oaf_in_files): add GNOME_Evolution_Addressbook_LDIF_Importer.oaf.in. * backend/ebook/e-card-simple.h: add WANTS_HTML and IS_LIST. * backend/ebook/e-card-simple.c (field_data): add WANTS_HTML and IS_LIST. (e_card_simple_set): fix typo. * backend/ebook/.cvsignore: ignore GNOME_Evolution_Addressbook_LDIF_Importer.oaf and evolution-ldif-importer. * backend/ebook/GNOME_Evolution_Addressbook_LDIF_Importer.oaf.in: ldif importer oafinfo. svn path=/trunk/; revision=13627
* Added a boolean type here.Christopher James Lahey2001-10-132-0/+30
| | | | | | | | | 2001-10-12 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-card-simple.c, backend/ebook/e-card-simple.h: Added a boolean type here. svn path=/trunk/; revision=13624
* On second thought, that should be a less-than-or-equal... :)Jon Trowbridge2001-10-121-1/+1
| | | | svn path=/trunk/; revision=13612
* Added. Heuristic for whether or not we want to revert to an earlierJon Trowbridge2001-10-121-6/+38
| | | | | | | | | | | | 2001-10-11 Jon Trowbridge <trow@ximian.com> * backend/ebook/e-destination.c (e_destination_reverting_is_a_good_idea): Added. Heuristic for whether or not we want to revert to an earlier cardified state. (e_destination_cardify): Don't be quite as aggressive about reverting to previous cardified states. (Bug #11890) svn path=/trunk/; revision=13610
* Changed these to use the new ref and unref functions for ECard auxillaryChristopher James Lahey2001-10-125-132/+190
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-11 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-card-simple.c (e_card_simple_destroy, fill_in_info, e_card_simple_sync_card, e_card_simple_set_phone, e_card_simple_set_address, e_card_simple_set_delivery_address, file_as_get_style, file_as_set_style, e_card_simple_set, e_card_simple_set_arbitrary), gui/contact-editor/e-contact-editor-address.c (e_contact_editor_address_destroy, e_contact_editor_address_set_arg, e_contact_editor_address_get_arg), gui/contact-editor/e-contact-editor-fullname.c (e_contact_editor_fullname_destroy, e_contact_editor_fullname_set_arg, e_contact_editor_fullname_get_arg), gui/contact-editor/e-contact-editor.c (phone_entry_changed, address_text_changed, name_entry_changed, full_name_clicked, full_addr_clicked, fill_in_info): Changed these to use the new ref and unref functions for ECard auxillary types. * backend/ebook/e-card-simple.h: Added a comment. * backend/ebook/e-card-types.h: Added ref_count field to all the types. * backend/ebook/e-card.c, backend/ebook/e-card.h: Added ref and unref functions here for all the ECard auxillary types. Removed the corresponding free functions. Switched to using these functions where appropriate. * gui/component/addressbook-factory.c: #include <e-util/e-passwords.h> * gui/component/addressbook.c (load_uri_cb): const correctify. * gui/component/select-names/e-select-names-manager.c, gui/component/select-names/e-select-names.c: #include <addressbook/gui/component/addressbook.h> * gui/widgets/e-addressbook-model.c (modify_card): Removed an unnecessary ref here. svn path=/trunk/; revision=13604
* Check that view->view != NULL. (save_contact_cb): Check that view->view !=Jon Trowbridge2001-10-112-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-11 Jon Trowbridge <trow@ximian.com> * gui/component/addressbook.c (new_contact_cb): Check that view->view != NULL. (save_contact_cb): Check that view->view != NULL. (search_cb): Check that view->view != NULL. (delete_contact_cb): Check that view->view != NULL. (print_cb): Check that view->view != NULL. (print_preview_cb): Check that view->view != NULL. (stop_loading_cb): Check that view->view != NULL. (cut_contacts_cb): Check that view->view != NULL. (copy_contacts_cb): Check that view->view != NULL. (paste_contacts_cb): Check that view->view != NULL. (select_all_contacts_cb): Check that view->view != NULL. (send_contact_cb): Check that view->view != NULL. (send_contact_to_cb): Check that view->view != NULL. (update_command_state): Check that view->view != NULL. Hold a reference to the AddressbookView for the duration of the function, in case we exit during bonobo-reentrancy. (addressbook_view_ref): Added. (addressbook_view_unref): Added. Simple ref counting for AddressbookView objects. (addressbook_view_clear): Zero out an AddressbookView. This is now separated from the deallocation of the AddressbookView object, so that we don't leave a dangling pointer if we exit during bonobo-reentrancy in update_command_state. (Which often seems to happen if we exit while addressbook operations are going on.) (destroy_callback): Replace previous call to addressbook_view_free with addressbook_view_clear/addressbook_view_unref calls. (addressbook_factory_new_control): Initialize the reference count in the AddressbookView object. * gui/widgets/e-addressbook-view.c (e_addressbook_view_destroy): Carefully zero out our destroyed object. (command_state_change): Hold a reference to ourselves during the signal emission. (get_selected_cards): Ref cards as we add them to the list. (e_addressbook_view_stop): Check for view != NULL. (e_addressbook_view_can_create): Check for view != NULL. (e_addressbook_view_can_print): Check for view != NULL. (e_addressbook_view_can_save_as): Check for view != NULL. (e_addressbook_view_can_send): Check for view != NULL. (e_addressbook_view_can_send_to): Check for view != NULL. (e_addressbook_view_can_delete): Check for view != NULL. (e_addressbook_view_can_cut): Check for view != NULL. (e_addressbook_view_can_copy): Check for view != NULL. (e_addressbook_view_can_paste): Check for view != NULL. (e_addressbook_view_can_select_all): Check for view != NULL. (e_addressbook_view_can_stop): Check for view != NULL. * gui/widgets/e-addressbook-model.c (addressbook_destroy): Be careful about zeroing out our destroyed object. * backend/ebook/e-book-view.c (e_book_view_stop): Added. Stops event processing in the underlying listener. svn path=/trunk/; revision=13578
* for some reason, matching on protocol is causing problems for me.Chris Toshok2001-10-051-2/+5
| | | | | | | | | | 2001-10-04 Chris Toshok <toshok@ximian.com> * backend/ebook/e-book.c (activate_factories_for_uri): for some reason, matching on protocol is causing problems for me. disabling it for now. svn path=/trunk/; revision=13415
* Strip out commas before forming our query. (match_name): UseJon Trowbridge2001-10-043-45/+132
| | | | | | | | | | | | | | | | | | | | | | 2001-10-02 Jon Trowbridge <trow@gnu.org> * gui/component/select-names/e-select-names-completion.c (name_style_query): Strip out commas before forming our query. (match_name): Use e_card_compare_name_to_string_full, rather than our crufty old matching code. Not only is this cleaner, but that crufty old code was very broken when it came to handling strings with whitespace. (Bug 8988) (match_nickname): utf8 and bug fixes. * backend/ebook/e-card-compare.c (e_card_compare_name_to_string_full): Added. This is basically e_card_compare_name_to_string with a bunch of extra options, so that it can more readily be reused in other contexts. (e_card_compare_name_to_string): This is now just a call to e_card_compare_name_to_string_full with the extra args filled in to defaults that simulate the old behavior. svn path=/trunk/; revision=13384
* remove most of the oaf stuff from here. we do it in load_uri, where we'llChris Toshok2001-10-031-35/+162
| | | | | | | | | | | | | | | | | | | | | 2001-10-02 Chris Toshok <toshok@ximian.com> * backend/ebook/e-book.c (e_book_construct): remove most of the oaf stuff from here. we do it in load_uri, where we'll have more information (namely, the protocol we're using.) (activate_factories_for_uri): do an oaf query to get a list of all objects implementing our BookFactory interface and also supporting the protocol used in the uri. (e_book_load_uri): try activating book factories to handle this uri, and start the iteration over the list. (e_book_load_uri_from_factory): try and load the uri. (e_book_load_uri_open_cb): callback function for the BookFactory_openBook call - if it succeeds, call the user's callback. otherwise step to the next factory. (e_book_load_uri_step): go to the next factory in our list, and error out if there are no more. svn path=/trunk/; revision=13358
* Use camel_address_format, not camel_address_encode.Jon Trowbridge2001-09-271-1/+1
| | | | | | | | | 2001-09-26 Jon Trowbridge <trow@ximian.com> * backend/ebook/e-destination.c (e_destination_get_textrep): Use camel_address_format, not camel_address_encode. svn path=/trunk/; revision=13173
* Properly handle names when the individual elements (given, addition,Jon Trowbridge2001-09-272-30/+70
| | | | | | | | | | | | | | | | | | | | | | 2001-09-26 Jon Trowbridge <trow@ximian.com> * backend/ebook/e-card-compare.c (e_card_compare_name_to_string): Properly handle names when the individual elements (given, addition, family) contain whitespace. (Bug #10502) * backend/ebook/e-destination.c (e_destination_set_name): Reset textrep when we change the name. (e_destination_set_email): Reset textrep when we change the email. (e_destination_get_textrep): Make sure that the textrep version of the address is properly quoted if it contains unsafe characters. (All related to bug #10796) * gui/component/select-names/e-select-names-completion.c (match_nickname): Fix nickname matching. (bug #9698) (make_match): Use e_completion_match_new when building our match, rather than ad hoc manipulation of the struct. svn path=/trunk/; revision=13158
* add getters for the additional name fields. (field_data): move FAMILY_NAMEChris Toshok2001-09-232-2/+32
| | | | | | | | | | | | | 2001-09-22 Chris Toshok <toshok@ximian.com> * backend/ebook/e-card-simple.c (e_card_simple_get): add getters for the additional name fields. (field_data): move FAMILY_NAME to the end of the list, and add GIVEN_NAME, ADDITIONAL_NAME (middle name), and NAME_SUFFIX. * backend/ebook/e-card-simple.h: same. svn path=/trunk/; revision=13082
* I'm slowly losing my mind.Jon Trowbridge2001-09-201-1/+0
| | | | | | OK, maybe it isn't such a slow process after all. svn path=/trunk/; revision=13006
* Yikes... fixing accidental breakage.Jon Trowbridge2001-09-201-1/+1
| | | | svn path=/trunk/; revision=13005
* Use the default e-mail address if we have nothing else to go on.Jon Trowbridge2001-09-206-167/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-19 Jon Trowbridge <trow@ximian.com> * backend/ebook/e-destination.c (name_and_email_simple_query_cb): Use the default e-mail address if we have nothing else to go on. Previously we just failed, which basically meant that name-only searches would never work properly. (nickname_simple_query_cb): The logic was a bit tangled here; if our query status isn't SUCCESS, always give up but don't leak the destination. And if our nickname query fails and we try the name-and-email query, use the textrep for a name-only search. The only reason we are doing a nickname query in the first place is if we have an obviously invalid e-mail. (launch_cardify_query): Use e_destination_is_valid to determine if we should try a nickname query first. These changes basically fix bug 7728, and generally make the auto-cardification of addresses a lot more clever and robust. * backend/ebook/e-book-util.c (name_and_email_cb): Use e_card_compare_name_to_string instead of e_card_name_match_string. (e_book_name_and_email_query): The arguments to g_strsplit were in the wrong order. Doh! * backend/ebook/e-card-compare.c (e_card_compare_name_to_string): Added. Replaces e_card_name_match_string, and actually works. * backend/ebook/e-card.c: Removed e_card_name_match_string function, which didn't work particularly well. svn path=/trunk/; revision=13003
* Freeing name[i] instead of namev[i] is a bad idea. (bug #10270)Jon Trowbridge2001-09-201-1/+1
| | | | | | | | | 2001-09-19 Jon Trowbridge <trow@ximian.com> * backend/ebook/e-book-util.c (e_book_name_and_email_query): Freeing name[i] instead of namev[i] is a bad idea. (bug #10270) svn path=/trunk/; revision=12980
* add caluri field dataJP Rosevear2001-09-194-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-18 JP Rosevear <jpr@ximian.com> * backend/ebook/e-card-simple.c (field_data): add caluri field data * backend/ebook/e-card.c (e_card_get_vobject): add the caluri property when appropriate (parse_caluri): handle read caluri (e_card_class_init): add caluri arg (e_card_destroy): free the caluri (e_card_get_arg): return caluri arg (e_card_set_arg): set caluri from arg (e_card_init): init caluri to null * backend/ebook/e-card-simple.h: new simple field * backend/ebook/e-card.h: new member * gui/contact-editor/e-contact-editor.c (field_changed): util callback to change the command state (set_entry_changed_signal_field): hook up a change signal to above (set_entry_changed_signals): use above function * gui/contact-editor/e-contact-editor.glade: Add collaboration page and fields svn path=/trunk/; revision=12945
* use g_strfreev. (match_name): s/g_free/g_strfreev. (match_file_as):Larry Ewing2001-09-182-6/+6
| | | | | | | | | | | | | | | | | | | 2001-09-17 Larry Ewing <lewing@ximian.com> * gui/component/select-names/e-select-names-completion.c (name_style_query): use g_strfreev. (match_name): s/g_free/g_strfreev. (match_file_as): s/g_free/g_strfreev. * backend/ebook/e-book-util.c (e_book_name_and_email_query): fix the memory handling here. All there members of the vector need to be freed all the time. * backend/ebook/load-pine-addressbook.c (parse_line): free the string outside of the test that makes sure there are three entries. svn path=/trunk/; revision=12936
* We want to assume that a destination that comes from a card isJon Trowbridge2001-09-181-1/+1
| | | | | | | | | | | | 2001-09-17 Jon Trowbridge <trow@ximian.com> * backend/ebook/e-destination.c (e_destination_is_valid): We want to assume that a destination that comes from a card is automatically valid, but the right way to check that is by calling e_destination_from_card, not by checking if dest->priv->card != NULL. (Fixed bug #10017) svn path=/trunk/; revision=12930
* Do the right thing if the card we are trying to send to has no validJon Trowbridge2001-09-181-53/+56
| | | | | | | | | | 2001-09-17 Jon Trowbridge <trow@ximian.com> * backend/ebook/e-card.c (e_card_list_send): Do the right thing if the card we are trying to send to has no valid e-mail addresses. (bug #10137) svn path=/trunk/; revision=12927
* No loose name matches on family names. (#8802)Jon Trowbridge2001-09-151-1/+2
| | | | | | | | | 2001-09-15 Jon Trowbridge <trow@ximian.com> * backend/ebook/e-card-compare.c (e_card_compare_name): No loose name matches on family names. (#8802) svn path=/trunk/; revision=12857
* Make "stop" do nothing but set the stopped flag, as inJon Trowbridge2001-09-155-208/+178
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-15 Jon Trowbridge <trow@ximian.com> * backend/ebook/e-book-listener.c (e_book_listener_stop): Make "stop" do nothing but set the stopped flag, as in e-book-view-listener.c. (e_book_listener_destroy): Clean up our queue here, rather than in e_book_listener_stop. (response_free): Added. Move the rather lengthy bit of code needed to free a EBookListenerResponse into one place. (e_book_listener_check_queue): Properly deal with the stopped flag. (e_book_listener_queue_response): If the stopped flag is set, just drop the incoming response. * backend/ebook/e-book-view-listener.c (e_book_view_listener_stop): Make "stop" do nothing but set the stopped flag. (e_book_view_listener_destroy): Move all of the clean-up that used to be in e_book_view_listener_stop here. This considerably simplifies the logic required to avoid various race conditions. (e_book_view_listener_check_queue): Properly deal with the stopped flag. (e_book_view_listener_queue_response): Drop all incoming responses if we are stopped. 2001-09-14 Jon Trowbridge <trow@ximian.com> * backend/pas/pas-book.c (pas_book_queue_request): Hold a reference to the book on behalf of our idle function. (pas_book_check_queue): When we are finished, drop the reference we've been holding on behalf of the idle function. * backend/pas/pas-backend-file.c (pas_backend_file_process_create_card): Hold a reference to the book_view while sending our notifications. (pas_backend_file_process_remove_card): Hold a reference to the book_view while sending our notifications. * gui/contact-editor/e-contact-quick-add.c (quick_add_unref): Remove debugging spew. * backend/ebook/e-book-util.c: Remove a lot of unused code that worked around bugs that have long since been fixed. (simple_query_disconnect): Added. Breaks out the part of simple_query_free that disconnect signals. (simple_query_free): Replace code w/ a call to simple_query_disconnect. (simple_query_sequence_complete_cb): Call simple_query_disconnect before executing the callback, so that our callbacks don't get triggered by any book changes that might occur during that callback. * backend/ebook/e-book-view-listener.c (e_book_view_listener_check_queue): Changed to be consistent with e_book_listener_check_queue. (e_book_view_listener_queue_response): Also changed to use a high-frequency timeout. * backend/ebook/e-book-listener.c (e_book_listener_check_queue): OK, I've agonized over this stupid little function, and it should now be race-free. (e_book_listener_queue_response): We process our response queue in a high-frequency timeout rather than an idle. Using an idle function leads to some tricky race conditions and bad interactions with bonobo's semi-broken attempts to take over event processing. (e_book_view_listener_stop): Manually disable our timeout and clean up. svn path=/trunk/; revision=12851
* [Automake 1.5 fixes pointed out by Richard BoultonEttore Perazzoli2001-09-151-1/+1
| | | | | | | | | | | | <richard@tartarus.org>, as per #9258.] * backend/pas/Makefile.am: Rename `LDAP_BACKEND_SOURCES' to `LDAP_BACKEND_FILES'. * backend/ebook/Makefile.am: Set CLEANFILES directly instead of using `+='. svn path=/trunk/; revision=12839
* Fix vcard importingIain Holmes2001-09-131-1/+3
| | | | svn path=/trunk/; revision=12784
* free the values that are being leaked here.Larry Ewing2001-09-131-4/+15
| | | | | | | | | 2001-09-12 Larry Ewing <lewing@ximian.com> * backend/ebook/e-destination.c: free the values that are being leaked here. svn path=/trunk/; revision=12783
* See e_book_listener_check_queue below.Jon Trowbridge2001-09-094-91/+248
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-08 Jon Trowbridge <trow@ximian.com> * backend/ebook/e-book-view-listener.c (e_book_view_listener_check_queue): See e_book_listener_check_queue below. (e_book_view_listener_queue_response): See e_book_listener_queue_response below. * backend/ebook/e-book-listener.c (e_book_listener_check_queue): Explicitly prohibit reentrancy. Use gtk-unref rather than bobobo-unref. (e_book_listener_queue_response): Hold a gtk-ref to the listener while the idle function runs, not a bonobo-ref. As far as I can tell, it is impossible to avoid a race condition here when we have to worry about bonobo reentrancy. * gui/component/select-names/e-select-names-text-model.c (e_select_names_text_model_insert_length): Alter a copy of the original EDestination, rather than just using a new one. We need to do this to preserve prior-card information for possible reversion later. (e_select_names_text_model_delete): Ditto. * backend/ebook/e-destination.c (e_destination_clear_card): When clearing a destination where ->card != NULL, store it for possible reversion later. (e_destination_revert): If we have an old card stored, go back to using it for the destination. (e_destination_is_valid): Tries to detect obviously broken addresses. (e_destination_cardify): If our destination is invalid, first try to cardify simply by reverting to an older card. (e_destination_destroy): Unref any cached old card. (e_destination_copy): Copy the old card information. 2001-09-07 Jon Trowbridge <trow@ximian.com> * gui/component/select-names/e-select-names.c (sync_table_and_models): Show all rows in the table, and then remove the rows that correspond to entries in the ESelectNamesModels in the children. (real_add_address): Freeze/thaw our ESelectNamesModel, so that we don't change our table while we are in the middle of iterating over the selection. (remove_address): Just delete the address from the ESelectNamesModel, the signal handler will do the rest. (selected_rows_foreach_cb): Call remove_address to do our dirty work. (e_select_names_add_section): Connect to the 'changed' signal from the ESelectNamesModel, and call sync_table_and_models explicitly to get our initial state correct. * gui/component/select-names/e-select-names-table-model.c (fill_in_info): Deal with EDestinations in our table that don't come from cards. * gui/component/select-names/e-select-names-manager.c: Added another ESelectNamesModel* to the ESelectNamesManagerSection struct. Called 'original_model', this contains a copy of the model as it is when we begin using the SelectNames dialog. (section_copy): Copy the original model. (section_free): Free the original model. (e_select_names_manager_add_section_with_limit): Initialize the original model. (e_select_names_clicked): I've changed the semantics of this dialog quite a bit... no UI freeze can stop me! If OK is clicked, we do nothing. If Cancel is clicked, we revert to the 'original_model' copy of our address entry state before we started editting. Finally, we close the dialog before any of thing. Doing it last caused problems, because signals were being triggered which had dangling pointers as their closures. (e_select_names_manager_activate_dialog): Copy our current state to the original model, and share the same ESelectNamesModel between the dialog and the address entry in the composer.. (e_select_names_manager_get_cards): Removed. It had been #if 0/#endif-ed out for a while. * gui/component/select-names/e-select-names-model.c (e_select_names_model_freeze): Added. (e_select_names_model_thaw): Added. (e_select_names_model_uncardify): Added. If possible, "uncardifies" a specific model entry. (e_select_names_model_changed): Changed to pay attention to the freeze count. * gui/component/select-names/e-select-names-completion.c (clean_query_text): Strip leading/trailing whitespace from queries. * backend/ebook/e-destination.c (e_destination_uncardify): Added. Converts a card-associated destination into a text-associated destination w/ the e-mail address. (e_destination_list_to_vector): Added. A convenience routine. (e_destination_freev): Added. A convenience routine. (e_destination_touchv): Added. I'm lazy. svn path=/trunk/; revision=12709
* Check if the file is a VCard before importingIain Holmes2001-09-051-0/+4
| | | | svn path=/trunk/; revision=12610
* I18n fixes (mainly making buttons on the right side less Anglocentric :-)Chyla Zbigniew2001-09-031-47/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * backend/ebook/e-card-simple.c (field_data): Marked "name" and "short_name" fields for translation. (e_card_simple_get_name, e_card_simple_get_short_name): Return localized version of the name (using U_() macro). * gui/contact-editor/e-contact-editor.c (set_entry_changed_signals): Connect "changed" signal from "entry-web" entry to widget_changed. (changing this field wasn't making "Save and Close" button sensitive) * gui/widgets/Makefile.am (glade_DATA): Removed alphabet.glade. * gui/widgets/e-addressbook-view.c (button_labels, button_letters): New strings containing a list of labels and "values" of all buttons placed on the right side of the addressbook view (intended for localization). (struct LetterClosure): Changed the type of letter field to gunichar. (e_utf8_split): New function, similar to g_strsplit, but operates on UTF-8 strings. (jump_to_letter): Don't hardcode letters, build queries dynamically using UTF-8 and localized letters stored in button_letters. (connect_button): Removed. (create_alphabet): Don't use glade file, build buttons manually using (localized) labels from button_labels. Use (localized) values from button_letters when creating LetterClosure. * gui/widgets/e-minicard-view-widget.[ch] (e_minicard_view_widget_jump_to_letter): Changed the type of the second argument from char to gunichar. * gui/widgets/e-minicard-view.c (compare_to_utf_str): Renamed from compare_to_letter, now operates on UTF-8 string. (e_minicard_view_jump_to_letter): Changed the type of the second argument from char to gunichar + conversion to UTF-8 string. * gui/widgets/e-minicard-view.h (e_minicard_view_jump_to_letter): Changed the type of the second argument from char to gunichar. svn path=/trunk/; revision=12563
* Use e_card_get_vcard_assume_utf8 instead of e_card_get_vcard here sinceChristopher James Lahey2001-09-0211-292/+416
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-02 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-book.c (e_book_add_card, e_book_commit_card), backend/pas/pas-backend-file.c (do_create), backend/pas/pas-backend-ldap.c (create_card_handler, remove_card_handler, modify_card_handler, pas_backend_ldap_process_get_vcard, poll_ldap): Use e_card_get_vcard_assume_utf8 instead of e_card_get_vcard here since all internal communications and database storage are assumed to be utf8. * backend/ebook/e-card-simple.c, backend/ebook/e-card-simple.h (e_card_simple_duplicate): Simplified this function considerably. (e_card_simple_get_vcard_assume_utf8): Added this function. * backend/ebook/e-card.c, backend/ebook/e-card.h (e_card_new, e_card_load_cards_from_file, e_card_load_cards_from_string): Made these functions pay attention to charset attributes. (e_card_new_with_default_charset, e_card_load_cards_from_file_with_default_charset, e_card_load_cards_from_string_with_default_charset): New functions that let you change the default charset from UTF-8. (e_card_get_vcard): Made this write out charset attributes when necessary. (e_card_get_vcard_assume_utf8): New function that writes out a card without writing out charset attributes. * backend/ebook/evolution-vcard-importer.c (book_open_cb), backend/ebook/load-gnomecard-addressbook.c (book_open_cb), backend/ebook/test-card.c (main), gui/component/addressbook-component.c (destination_folder_handle_drop), gui/contact-editor/test-editor.c (main), gui/contact-list-editor/e-contact-list-editor.c (table_drag_data_received_cb), gui/widgets/e-addressbook-view.c (selection_received), gui/widgets/e-minicard-control.c (pstream_load): Changed the default charset to be used here to ISO-8859-1. * backend/ebook/load-gnomecard-addressbook.c (add_card_cb), backend/ebook/load-pine-addressbook.c (add_card_cb), backend/ebook/test-client-list.c (get_cursor_cb), backend/ebook/test-client.c (get_cursor_cb, get_card_cb): Use e_card_get_vcard_assume_utf8 to print out testing strings. * gui/component/select-names/e-select-names-model.c, gui/component/select-names/e-select-names-model.h (e_select_names_model_contains): Changed this to be const EDestination *dest to fix a warning. * gui/contact-editor/e-contact-editor.c (e_contact_editor_init): Translate window title here. svn path=/trunk/; revision=12558
* Use e_select_names_model_merge to combine the selected names with anyJon Trowbridge2001-08-303-2/+41
| | | | | | | | | | | | | | | | | | | | | | | 2001-08-29 Jon Trowbridge <trow@ximian.com> * gui/component/select-names/e-select-names-manager.c (e_select_names_clicked): Use e_select_names_model_merge to combine the selected names with any existing ones. This causes you to not lose addresses typed directly into the entry while the SelectNames dialog is up. (Bug #8058) * gui/component/select-names/e-select-names-model.c (e_select_names_model_merge): Merge the contents of one ESelectNamesModel into another, avoiding duplicates. * backend/ebook/e-destination.c (e_destination_equal): Added. Determines if two destinations appear to refer to the same recipient. * backend/ebook/e-card.c (e_card_list_send): Added cast to g_free args to silence compiler warnings. svn path=/trunk/; revision=12526
* This function can be re-entrant during the signal emission; Added extraJon Trowbridge2001-08-301-4/+14
| | | | | | | | | | | | 2001-08-29 Jon Trowbridge <trow@ximian.com> * backend/ebook/e-book-listener.c (e_book_listener_check_queue): This function can be re-entrant during the signal emission; Added extra ref/unrefs and checks to avoid problems if this happens. This is similar to my recent changes to e_book_view_listener_check_queue. (Fixes bug #7400) svn path=/trunk/; revision=12523
* Added ref/unref pair to make sure that our listener doesn't get finalizedJon Trowbridge2001-08-281-2/+14
| | | | | | | | | | | 2001-08-27 Jon Trowbridge <trow@ximian.com> * backend/ebook/e-book-view-listener.c (e_book_view_listener_check_queue): Added ref/unref pair to make sure that our listener doesn't get finalized during the signal emission and leave us with a dangling pointer. (Bug #7661) svn path=/trunk/; revision=12493
* Removed some debugging spew that I left in by mistake.Jon Trowbridge2001-08-281-2/+0
| | | | | | | | | | | | 2001-08-27 Jon Trowbridge <trow@ximian.com> * backend/ebook/e-card.c (e_card_list_send): Removed some debugging spew that I left in by mistake. * gui/widgets/e-addressbook-model.c (create_card): Removed debugging spew. svn path=/trunk/; revision=12492
* Do the right thing if the card we are trying to send to is a contact list.Jon Trowbridge2001-08-281-23/+86
| | | | | | | | | 2001-08-27 Jon Trowbridge <trow@ximian.com> * backend/ebook/e-card.c (e_card_list_send): Do the right thing if the card we are trying to send to is a contact list. (Bug #6580) svn path=/trunk/; revision=12491
* Put a freeze/thaw around our the set of operations that changes theJon Trowbridge2001-08-251-14/+18
| | | | | | | | | | | | | | | | 2001-08-24 Jon Trowbridge <trow@ximian.com> * backend/ebook/e-destination.c (e_destination_set_card): Put a freeze/thaw around our the set of operations that changes the internal state of our card, so 'changed' signal callbacks won't be invoked on a card in an intermediary state. This fixes the bug that was causing the e-mail addresses in cards to be blank when replying to a message. (An unexpected side-effect of toshok's change on 8/22 to make sure that priv->email != NULL). (e_destination_get_name): Code slightly rearranged for (IMO) clarity. svn path=/trunk/; revision=12466
* In the GUI, the toggle is labelled "hide addresses", not "show addresses"Jon Trowbridge2001-08-232-2/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-08-22 Jon Trowbridge <trow@ximian.com> * gui/contact-list-editor/e-contact-list-editor.c (extract_info): In the GUI, the toggle is labelled "hide addresses", not "show addresses" -- so we have to reverse the boolean value we read in. (fill_in_info): Same bug as before: since the GUI reads "hide", we have to initialize the toggle to '!show_addresses', not 'show_addresses'. * backend/ebook/e-destination.c (e_destination_list_show_addresses): Added. (e_destination_xml_encode): Encode the value of e_destination_list_show_addresses into the XML. (e_destination_xml_decode): Read and store the "show_addresses" flag. 2001-08-22 Jon Trowbridge <trow@ximian.com> * e-msg-composer-hdrs.c (set_recipients_from_destv): Added. Try to properly handle contact lists in which the addresses of the list members should be hidden. (e_msg_composer_hdrs_to_message): Changed to extract the destination data from the entries and pass it along to set_recipients_from_destv. 2001-08-22 Jon Trowbridge <trow@ximian.com> * mail-callbacks.c (ask_confirm_for_only_bcc): Provide alternative text for this dialog for the case when a message has only Bcc recipients because of a hidden contact list's addresses being moved from To/Cc to Bcc. (composer_get_message): Try to detect when our message has only Bcc recipients because of moving addresses around due to a hidden contact list, and show the dialog with the revised wording in this case. svn path=/trunk/; revision=12414
* make sure we don't get into a situation where priv->email == NULL.Chris Toshok2001-08-231-12/+20
| | | | | | | | | 2001-08-22 Chris Toshok <toshok@ximian.com> * backend/ebook/e-destination.c (e_destination_get_email): make sure we don't get into a situation where priv->email == NULL. svn path=/trunk/; revision=12393
* Wrap our addressbook table adapter in an ETableWithout, so that we canJon Trowbridge2001-08-211-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-08-20 Jon Trowbridge <trow@ximian.com> * gui/component/select-names/e-select-names.c (e_addressbook_create_ebook_table): Wrap our addressbook table adapter in an ETableWithout, so that we can make addresses appear and disappear when we remove/add them to the section lists (To/Cc/Bcc) on the right of the dialog. (real_add_address_cb): When we add an address, hide it in the main list. (e_select_names_init): Get pointer to our without table from the table's object data, and store it. (remove_address): When we remove an address, show it in the main list. (card_key): Added. Allocate a unique key from an ECard. (esn_get_key_fn): Added. Callback for ETableWithout. (esn_dup_key_fn): Added. Callback for ETableWithout. (esn_free_gotten_key_fn): Added. Callback for ETableWithout. (esn_free_duped_key_fn): Added. Callback for ETableWithout. * backend/ebook/e-card-simple.c (e_card_simple_get): Changed E_CARD_SIMPLE_FIELD_NAME_OR_ORG to first try the FILE_AS type. This allows the cards in the ESelectName dialog to appear in proper sort order (i.e. as 'Doe, John' rather than 'John Doe'). Fixes ximian #6002. svn path=/trunk/; revision=12334
* Call e_card_set_book here.Christopher James Lahey2001-08-146-172/+177
| | | | | | | | | | | | | | | | | | | 2001-08-14 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-book-view.c (add_book_iterator): Call e_card_set_book here. * backend/ebook/e-book.c (e_book_do_response_get_vcard): Call e_card_set_book here. * backend/ebook/e-card.c, backend/ebook/e-card.h: Pulled out the part where the uri is made part of the uid. Made uri a separate field. * backend/ebook/e-destination.c, backend/ebook/e-destination.h: Change this to use ECard's split uids and uris. svn path=/trunk/; revision=11991
* Changed get_card to be asyncronous.Christopher James Lahey2001-08-146-94/+141
| | | | | | | | | | | | | | | 2001-08-13 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-book-listener.c, backend/ebook/e-book-listener.h, backend/ebook/e-book.c, backend/ebook/e-book.h, backend/idl/addressbook.idl, backend/pas/pas-backend-file.c, backend/pas/pas-book.c, backend/pas/pas-book.h: Changed get_card to be asyncronous. * backend/ebook/e-card.c, backend/ebook/test-client.c: Changed these to deal with the new get_card functionality. svn path=/trunk/; revision=11984
* Hook up some magic to (basically) cardify an entry on focus-out. (What weJon Trowbridge2001-08-106-26/+441
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-08-09 Jon Trowbridge <trow@ximian.com> * gui/component/select-names/e-select-names-manager.c (e_select_names_manager_create_entry): Hook up some magic to (basically) cardify an entry on focus-out. (What we do is actually more complicated than that.) * gui/component/select-names/e-select-names-bonobo.c (entry_set_property_fn): After we set an entry's text, try to cardify it. We need to do this so that (for example) reply e-mails get properly cardified. * gui/component/select-names/e-select-names-model.c (e_select_names_model_duplicate): Use e_select_names_model_append, rather than manipulating lists directly. (e_select_names_model_insert): Connect "changed" signal proxy for added EDestination. (e_select_names_model_append): Ditto. (e_select_names_model_replace): Ditto, and disconnect signals for replaced EDestination. (e_select_names_model_delete): Ditto on the disconnection. (e_select_names_model_delete_all): Ditto. (e_select_names_model_cardify): Added. Try to cardify a specified EDestination. (e_select_names_model_cancel_cardify): Added. Cancel the pending cardification of a single EDestination. (e_select_names_model_cardify_all): Added. Cardify all of the EDestinations in the model. (e_select_names_model_cancel_cardify_all): Added. Cancel's any and all pending cardifications. * backend/ebook/e-destination.c (e_destination_class_init): Added "changed" and "cardified" signals. (e_destination_freeze): Added (static). (e_destination_thaw): Added (static). (e_destination_clear_card): Reset allow_cardify and cannot_cardify, cancel any pending cardifications, and emit the "changed" signal. (e_destination_clear_strings): Emit the "changed" signal. (e_destination_clear): Do freeze/thaw to prevent multiple signal emissions. (e_destination_set_card): Check that the card we are setting is not equal to the current card, and emit the "changed" signal if we are actually changing. (e_destination_set_card_uri): Emit "changed" signal, if necessary. (e_destination_set_name): Emit "changed" signal, if necessary. (e_destination_set_email): Emit "changed" signal, if necessary. (e_destination_set_html_mail_pref): Emit "changed" signal, if necessary. (use_card_cb): If we've just loaded/set the ECard, emit the "changed" signal. (e_destination_set_raw): Emit "changed" signal, if necessary. (e_destination_allow_cardification): Added. (e_destination_set_allow_cardification): Added. (e_destination_cardify): Added. Tries to automatically convert a string-based EDestination to one based on an ECard. (e_destination_cardify_delayed): Added. Cardifies in a timeout. (e_destination_cancel_cardify): Added. Cancels any pending cardifications. (e_destination_xml_decode): Added freeze/thaw. * backend/ebook/e-book-util.c (e_book_nickname_query): Added. A canned simple query for nicknames. * backend/ebook/e-card.c (e_card_email_find_number): Added. Given a card and an string containing an email address, return the index number of the address inside of the card, or -1 if the address is not found. svn path=/trunk/; revision=11837
* new EBookOp destructor (e_book_unqueue_op): use e_book_op_freeRadek Doulik2001-08-071-16/+22
| | | | | | | | | | | | | | | | 2001-08-06 Radek Doulik <rodo@ximian.com> * backend/ebook/e-book.c (e_book_op_free): new EBookOp destructor (e_book_unqueue_op): use e_book_op_free (e_book_do_response_create_card): ditto (e_book_do_response_generic): ditto (e_book_do_response_get_cursor): ditto (e_book_do_response_get_view): ditto (e_book_do_response_get_changes): ditto (e_book_do_response_open): ditto (e_book_do_response_get_supported_fields): ditto svn path=/trunk/; revision=11696
* set op->listener to NULL to catch possible use of freed opRadek Doulik2001-08-052-1/+8
| | | | | | | | | | | | | | | | | 2001-08-05 Radek Doulik <rodo@ximian.com> * backend/ebook/e-book.c (e_book_do_response_get_view): set op->listener to NULL to catch possible use of freed op (e_book_do_response_get_changes): ditto * backend/ebook/e-book-view-listener.c (e_book_view_listener_check_queue): this callback could be (and indeed is) called from signal emited above, signal handler could call e_book_view_listener_stop, so we need to check if idle is still set and if not we don't want to unref again svn path=/trunk/; revision=11692
* Made it so that if there's one less match than possible compares areChristopher James Lahey2001-08-051-1/+1
| | | | | | | | | | 2001-08-04 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-card-compare.c (e_card_compare_name): Made it so that if there's one less match than possible compares are considered more VAGUE. Fixes Ximian bug #3400. svn path=/trunk/; revision=11685
* Changed the criteria of whether the first part of each iteration matchedChristopher James Lahey2001-08-041-29/+25
| | | | | | | | | | | 2001-08-03 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-card.c (e_card_name_match_string): Changed the criteria of whether the first part of each iteration matched or the second one did. Before it got it wrong sometimes and caused the pointer to jump off the end of the array. svn path=/trunk/; revision=11641
* Made the list of E_CARD_PHONE types in phone_correspondences more completeChristopher James Lahey2001-08-033-51/+86
| | | | | | | | | | | | | | | | | | | | | | | 2001-08-03 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-card-simple.c (e_card_simple_sync_card, fill_in_info): Made the list of E_CARD_PHONE types in phone_correspondences more complete by adding the new 5 E_CARD_PHONE types. Also, made it a bit less restrictive for some types (E_CARD_PHONE_HOME will actually match E_CARD_SIMPLE_PHONE_ID_HOME now.) Made e_card_simple_sync_card and fill_in_info search for an exact match in the list of phone_correspondences and then look for a partial match. Got rid of not going forward when doing a remove from an EList since EList handles this case automatically. * backend/ebook/e-card-types.h: Added E_CARD_PHONE types for assistant, callback, radio, telex, and ttytdd. * backend/ebook/e-card.c (get_phone_flags, set_phone_flags): Handle the new E_CARD_PHONE types. svn path=/trunk/; revision=11612
* Add camel dependency.Jon Trowbridge2001-08-033-129/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-08-02 Jon Trowbridge <trow@ximian.com> * printing/Makefile.am (ecpsdir): Add camel dependency. * gui/component/Makefile.am: Add camel dependency. * backend/ebook/Makefile.am: Add camel dependency. * gui/component/addressbook-factory.c (main): Properly init camel. * backend/ebook/e-destination.c (e_destination_clear_strings): Clear ->raw. (e_destination_is_empty): We aren't empty if ->raw is set.. (e_destination_set_raw): Replaces e_destination_set_string. (e_destination_get_name): Use camel's parser to extract the name from ->raw. (e_destination_get_email): Use camel's parser to extract the email address from ->raw. (e_destination_get_address): Use camel to produce properly quoted, RFC-compliant addresses. Thanks camel! (Bug #5860) * gui/component/select-names/e-select-names-completion.c (emailify_match): Always append an e-mail address, as long as it doesn't have one already at it's beginning or end. Don't limit self to just emailifying entries tied to cards with multiple addresses. (I didn't really want to do this, but people seem to like keeping multiple cards for the same person, and other solutions (like scanning all matches for duplicate names, and only emailifying those) just seemed like way too much work for such a limited payoff.) * gui/component/select-names/e-select-names-text-model.c: s/e_destination_set_string/e_destination_set_raw/. * gui/component/select-names/e-select-names-popup.c (popup_menu_card): Quote _'s in our popup menus, so that "foo_bar" doesn't get displayed as "foobar" w/ the 'b' underlined. (Bug #5558) (popup_menu_nocard): Ditto. 2001-08-02 Jon Trowbridge <trow@ximian.com> * Makefile.am: Added camel dependency (now needed by ebook). 2001-08-02 Jon Trowbridge <trow@ximian.com> * gui/Makefile.am: Added camel dependency (now needed by ebook). 2001-08-02 Jon Trowbridge <trow@ximian.com> * Makefile.am: Added camel dependency (now needed by ebook). svn path=/trunk/; revision=11602
* Removed thrash checking code here since thrashing shouldn't happen nowChristopher James Lahey2001-08-012-83/+78
| | | | | | | | | | | | | | 2001-08-01 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-book-view-listener.c (e_book_view_listener_check_queue): Removed thrash checking code here since thrashing shouldn't happen now that we've cleaned this up some. * backend/ebook/e-book.c (e_book_do_response_get_view): Properly handle cases where construction fails. svn path=/trunk/; revision=11539
* Added #include <e-util/e-path.h>.Christopher James Lahey2001-07-311-0/+2
| | | | | | | | | | | | | | 2001-07-30 Christopher James Lahey <clahey@ximian.com> * backend/ebook/evolution-vcard-importer.c: Added #include <e-util/e-path.h>. 2001-07-23 Zbigniew Chyla <cyba@gnome.pl> * gui/component/addressbook-config.c (addressbook_source_dialog): Convert translated string to UTF8 before calling put_html. svn path=/trunk/; revision=11496
* Properly handle the case where our "cleaned" completion is the emptyJon Trowbridge2001-07-311-19/+81
| | | | | | | | | | | | | | | | | 2001-07-30 Jon Trowbridge <trow@ximian.com> * gui/component/select-names/e-select-names-completion.c (e_select_names_completion_do_query): Properly handle the case where our "cleaned" completion is the empty string. This happens, for example, if the query text is the string "\"". (Bug #5610). * backend/ebook/e-destination.c (e_destination_get_address_textv): Reassure fejj that I'm not doing something stupid here. (e_destination_get_address): Fix address quoting. This is a stop-gap measure until I can change this code to use Camel's superior address-handling routines. (Also Bug #5610) svn path=/trunk/; revision=11487
* Removed some debugging chatter.Jon Trowbridge2001-07-261-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-07-26 Jon Trowbridge <trow@ximian.com> * backend/ebook/e-card.c: Removed some debugging chatter. * gui/component/select-names/e-select-names-manager.c (e_select_names_manager_create_entry): Store the completion handler in the entry's object data. * gui/component/select-names/e-select-names-bonobo.c (entry_get_property_fn): Added support for getting "destinations" and "allow_contact_lists" properties. (entry_set_property_fn): Added support for setting "destinations" and "allow_contact_lists" properties. (impl_SelectNames_get_entry_for_section): Added definitions for "destinations" and "allow_contact_lists" properties. * gui/component/select-names/e-select-names-completion.c (e_select_names_completion_get_match_contact_lists): Added. (e_select_names_completion_set_match_contact_lists): Added. Controls whether contact lists are offered as options during completion. (book_query_process_card_list): Check if match_contact_lists is set before (duh!) matching on a contact list. (e_select_names_completion_init): Set match_contact_lists to TRUE by default. 2001-07-26 Jon Trowbridge <trow@ximian.com> * e-msg-composer-hdrs.c (set_recipients): Get "destinations", rather than "text" from the entry_widget. (The getters/setters in the control have been made more symmetric.) svn path=/trunk/; revision=11422
* Properly dup the results of e_destination_get_email.Jon Trowbridge2001-07-252-3/+3
| | | | | | | | | | | | | | | | 2001-07-25 Jon Trowbridge <trow@ximian.com> * backend/ebook/e-destination.c (e_destination_get_name): Properly dup the results of e_destination_get_email. * gui/component/select-names/e-select-names-popup.c (e_select_names_popup): Check that our destination isn't empty before building our popup. (Bug #5250) * backend/ebook/e-destination.c (e_destination_is_empty): Made argument const. svn path=/trunk/; revision=11395
* Added fallbacks for the name in the case of an e-card, to avoid theJon Trowbridge2001-07-251-1/+13
| | | | | | | | | | 2001-07-24 Jon Trowbridge <trow@ximian.com> * backend/ebook/e-destination.c (e_destination_get_name): Added fallbacks for the name in the case of an e-card, to avoid the "nameless contact" bug. svn path=/trunk/; revision=11358
* Don't stop the idle_queue and unref from here, since this might be calledDan Winship2001-07-251-11/+0
| | | | | | | | | | | | | | | | | * backend/ebook/e-book-listener.c (e_book_listener_stop): Don't stop the idle_queue and unref from here, since this might be called from inside e_book_listener_check_queue, and we don't want to return to that function with the listener having been destroyed. (e_book_listener_check_queue): Don't exit early if the queue is stopped. Proceed through the check if the queue is NULL (which is must be if the queue is stopped), and then reach the existing code to remove the idle handler. Combined with the above, this fixes ximian #4485 (again). This is not a plot to boost my showstopper-bugfixing count by fixing the same bug over and over again. svn path=/trunk/; revision=11346
* Re-fix for my 07-18 not-quite-fix.Dan Winship2001-07-244-8/+63
| | | | | | | | | | | | | | | | | | | | | * backend/ebook/e-book-listener.c: Add a "stopped" flag like EBookViewListener. (e_book_listener_check_queue): Don't emit signals if the listener is stopped. (e_book_listener_queue_generic_response, etc): Don't queue responses if the listener is stopped. (e_book_listener_stop): Flush the queue and stop queue/emitting further responses. * backend/ebook/e-book.c (e_book_unload_uri): Revert the previous change and call e_book_listener_stop() instead. * backend/ebook/e-book-view-listener.c (e_book_view_listener_stop): When removing an idle handler, unref the listener as well, since e_book_view_listener_queue_response will have ref'ed it. svn path=/trunk/; revision=11306
* Flush the listener's queue before unreffing it to ensure that it doesn'tDan Winship2001-07-193-5/+8
| | | | | | | | | | | | | | | | * backend/ebook/e-book.c (e_book_unload_uri): Flush the listener's queue before unreffing it to ensure that it doesn't emit any more "responses_queued" signals after the EBook is destroyed. * backend/ebook/e-book-listener.c (e_book_listener_check_queue, e_book_listener_queue_response, e_book_listener_new): Use bonobo_object_ref/unref rather than gtk_object_ref/unref. * backend/ebook/e-book-view-listener.c (e_book_view_listener_queue_response, e_book_view_listener_new): Likewise. svn path=/trunk/; revision=11216
* prune the list of cards that match our query using the avoid list here,Chris Toshok2001-07-191-17/+20
| | | | | | | | | | | | | 2001-07-18 Chris Toshok <toshok@ximian.com> * backend/ebook/e-card-compare.c (simple_query_cb): prune the list of cards that match our query using the avoid list here, instead of using the avoid list in the query itself, since ldap can't handle that. (use_common_book_cb): remove the block of code including the avoid list in the query sent to wombat. svn path=/trunk/; revision=11211
* Hold a reference to our listener while the idle function is active.Jon Trowbridge2001-07-183-10/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-07-17 Jon Trowbridge <trow@ximian.com> * backend/ebook/e-book-view-listener.c (e_book_view_listener_queue_response): Hold a reference to our listener while the idle function is active. (e_book_view_listener_check_queue): Only unref the listener when the idle function is finished. * gui/component/select-names/e-select-names-manager.c (e_select_names_clicked): Instead of replacing section->model with source, copy source onto section->model with e_select_names_model_overwrite_copy. #if 0/#endif out all of the stuff related to ETextModels, because it doesn't make any sense to me, and everything appears to work without it. (Die bug #2059. Die! Die! Die!) * gui/component/select-names/e-select-names-model.c (e_select_names_model_overwrite_copy): Added. Copies the contents of one ESelectNamesModel onto another. * backend/ebook/e-destination.c (e_destination_copy): Made the argument const. svn path=/trunk/; revision=11165
* Removed old, broken code and annoying g_messages.Jon Trowbridge2001-07-182-50/+9
| | | | | | | | | | | | | | | | | 2001-07-17 Jon Trowbridge <trow@ximian.com> * backend/ebook/e-destination.c (e_destination_set_string): Removed old, broken code and annoying g_messages. * backend/ebook/e-book-listener.c (e_book_listener_queue_response): Hold a reference to the listener while the idle function is active. (e_book_listener_check_queue): Only release our reference to the listener when the queue is empty. These two changes fix a race condition, since the listener could be unrefed while the listener was still active. (Seems to fix bug #4485) svn path=/trunk/; revision=11164
* Use other folders to import intoIain Holmes2001-07-171-2/+9
| | | | svn path=/trunk/; revision=11135
* Commented out some unused variables and labels. (e_destination_importv):Christopher James Lahey2001-07-151-0/+7
| | | | | | | | | | | | | | | 2001-07-15 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-destination.c (e_destination_set_string): Commented out some unused variables and labels. (e_destination_importv): Check for the xml not parsing correctly and just return NULL here. * gui/component/select-names/e-select-names-model.c (e_select_names_model_import_destinationv): Handle a NULL destv here. svn path=/trunk/; revision=11112
* Oops. I introduced my own bug, accidently set `email' to a g_free'dJeffrey Stedfast2001-07-131-1/+1
| | | | | | | | | | 2001-07-12 Jeffrey Stedfast <fejj@ximian.com> * backend/ebook/e-destination.c (e_destination_xml_decode): Oops. I introduced my own bug, accidently set `email' to a g_free'd pointer - eek! svn path=/trunk/; revision=11073
* Optimized the same way I optimized g_strsplit. If you use a GPtrArrayJeffrey Stedfast2001-07-131-94/+63
| | | | | | | | | | | | | | 2001-07-12 Jeffrey Stedfast <fejj@ximian.com> * backend/ebook/e-destination.c (e_destination_importv): Optimized the same way I optimized g_strsplit. If you use a GPtrArray instead of a linked list, you save yourself from having to iterate through the list an extra 3 times. (e_destination_xml_decode): Do NOT, I repeat: do NOT! e_utf8_xml1_decode something which is already in UTF-8 or you'll corrupt it!! I smack thee who hath done this evil deed! svn path=/trunk/; revision=11069
* Check the file even if the extension is NULLIain Holmes2001-07-131-6/+3
| | | | svn path=/trunk/; revision=11066
* Crash fix because strcmp() hates NULL arguments. Bug #3777.Jason Leach2001-07-121-1/+9
| | | | | | | | | 2001-07-12 Jason Leach <jleach@ximian.com> * backend/ebook/evolution-vcard-importer.c (support_format_fn): Crash fix because strcmp() hates NULL arguments. Bug #3777. svn path=/trunk/; revision=11034
* Check that str isn't the empty string before doing an insert.Jon Trowbridge2001-07-091-11/+41
| | | | | | | | | | | | | | | | | | 2001-07-08 Jon Trowbridge <trow@ximian.com> * gui/component/select-names/e-select-names-text-model.c (e_select_names_text_model_insert_length): Check that str isn't the empty string before doing an insert. * backend/ebook/e-destination.c (e_destination_set_string): We were being too smart for our own good here, and causing problems for the completion code... (bug #4253, bug #4255, bug #4280) (e_destination_set_name): Clear any cached address. (e_destination_set_email): Clear any cached address. (e_destination_get_address): Handle the cases where the name contains some e-mail information. svn path=/trunk/; revision=10901
* Detect the embedded EDestination XML, and convert it to a nice-lookingJon Trowbridge2001-07-079-374/+774
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-07-07 Jon Trowbridge <trow@ximian.com> * gui/widgets/e-minicard.c (add_field): Detect the embedded EDestination XML, and convert it to a nice-looking e-mail address. * gui/contact-list-editor/e-contact-list-editor.c: Adjusted to reflect changes to EContactListModel. (Yeah, this is vague, but the changes are _really_ obvious and boring.) * gui/contact-list-editor/e-contact-list-model.c: Revamped to make everything an EDestination, rather than storing either cards or strings. * gui/component/select-names/e-select-names-text-model.c (e_select_names_text_model_insert_length): Use e_destination_get_textrep. * gui/component/select-names/e-select-names-table-model.c (fill_in_info): Use e_destination_get_name and e_destination_get_email. * gui/component/select-names/e-select-names-popup.c (popup_menu_card): Use e_destination_get_name instead of e_card_name_to_string. (quick_add_cb): Use e_destination_get_address. (popup_menu_nocard): Use e_destination_get_name. * gui/component/select-names/e-select-names-model.c (e_select_names_model_changed): Removed obsolete debugging code. (e_select_names_model_get_textification): Use e_destination_get_textrep\. (e_select_names_model_get_address_text): Use e_destination_get_address. (e_select_names_model_get_string): Use e_destination_get_textrep. (e_select_names_model_replace): Use e_destination_get_textrep. (e_select_names_model_name_pos): Use e_destination_get_textrep. * gui/component/select-names/e-select-names-completion.c (emailify_match): Match only if this isn't a contact list. (match_email): Match only if this isn't a contact list. (match_name): Do the right thing in the case of a contact list. (book_query_process_card_list): Don't construct a match for each possible e-mail address if this is a contact list. * backend/ebook/e-destination.c: Major-league de-crufting and rationalization, combined with lots of hacks to make things work properly with contact lists. (e_destination_copy): Copy contact list info. (e_destination_clear_card): Clear contact list info. (e_destination_is_empty): If we contain a contact list, we aren't empty. (e_destination_set_card_uri): Added. Allows us to set a destination by card URI. (e_destination_set_name): Allows the contact's name only ("Jane Smith") to be set. (e_destination_set_email): Allows the contact's e-mail only ("jane@assbarn.com") to be set. (e_destination_set_string): Takes a free-form string containing a contact's name and/or e-mail, and tries to do the right thing with it. (e_destination_contains_card): Renamed. Used to be e_destination_has_card. (e_destination_from_card): Added. Returns TRUE if the EDestination comes from either a ECard (which we presently hold) or is specified by an ECard URI. (e_destination_use_card): Allows an EDestination's ECard to be accessed, via a callback. If we only are holding the URI, the card will be loaded and stored in the EDestination. (e_destination_get_name): Returns the name only ("Jane Smith"), or NULL. (e_destination_get_email): Returns the email only ("jane@assbarn.com"), or NULL. (e_destination_get_address): Added. Returns a "full address" if both the name & e-mail are available ("Jane Smith <jane@assbarn.com>"), or just the e-mail if the name is unknown ("jane@assbarn.com>"). If the destination is a contact list, returns a comma-separated list of addresses. (e_destination_get_textrep): Added. Returns a "text representation" of the EDestination. This is what is now displayed for completed, "cardified" destinations in addressbook entries. (e_destination_is_evolution_list): Check to see if this destination is for a contact list. (e_destination_xml_encode): Added. Build an XML data structure representing an EDestination. (e_destination_xml_decode): Added. Parse an XML data structure, constructing an EDestination. (e_destination_export): Added. Returns a null-terminated string containing an XML representation of the EDestination, with newlines and excess whitespace removed. (e_destination_import): Added. Parses a string containing an XML representation of an EDestination. (e_destination_exportv): Added. Returns a null-terminated string containing an XML representation of a collection of EDestinations, with newlines and excess whitespace removed. (e_destination_importv): Added. Takes an XML representation of a collection of destinations, parses it, and returns a vector of EDestinations. * backend/ebook/e-card.c (e_card_duplicate): Copy the ->book pointer. (e_card_get_id): Check that the argument is valid. (e_card_set_id): Check that the argument is valid. (e_card_get_book): Added. Return the EBook the ECard came from. (e_card_get_uri): Added. Tries to returns a URI for the ECard, which is of the form (EBook URI)/(ECard unique ID). Returns NULL if the EBook URI or the ID are unknown/not set. (e_card_get_vobject): If we have the URI, use it as the VCUniqueStringProp, rather than just the ID. This is a hack to make DnD work properly. (parse_id): Detect if the unique ID we've been passed is a URI or just a plain card ID, and do the right thing in either case. (e_card_uri_extract_book_uri): Added. Convenience function for parsing card URIs. (e_card_uri_extract_card_id): Added. Convenience function for parsing card URIs. (e_card_load_uri): Added. Allows an ECard to be loaded by its URI. * backend/ebook/e-book-view.c: Added a EBook * to the _EBookViewPrivate struct. This is meant to contain the EBook the EBookView is associated with. (add_book_iterator): Added. A convenience function for attaching the EBook to a GList of cards (if no EBook is already stored). (e_book_view_do_added_event): Record the EBook in the added ECards. (e_book_view_do_modified_event): Record the EBook in the modified ECards. (e_book_view_set_book): Added. Stores a pointer to the EBookView's "parent" EBook. (e_book_view_init): Init book_view->priv->book to NULL. (e_book_view_destroy): Unref book_view->priv->book. * backend/ebook/e-book.c: Added a uri field to _EBookPrivate. (e_book_unqueue_op): Removed debugging spew. (e_book_do_response_get_view): Attach the current EBook to the created EBookView. (e_book_do_response_get_changes): Attach the current EBook to the created EBookView. (e_book_load_uri): Save a copy of the uri in the EBook. (e_book_get_uri): Added. Just returns book->priv->uri. (e_book_get_card): Attach a pointer to the Ebook to the newly-loaded ECard. (e_book_add_card): Attach a pointer to the EBook to the newly-added ECard. (e_book_commit_card): Attach a pointer to the EBook to the committed ECard. (e_book_init): Initialize the uri to NULL. (e_book_destroy): Free the uri string on destruction. svn path=/trunk/; revision=10882
* Set info->avoid = NULL. This shouldn't make a difference, but it can'tChristopher James Lahey2001-07-051-0/+1
| | | | | | | | | | 2001-07-05 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-card-compare.c (match_search_info_free): Set info->avoid = NULL. This shouldn't make a difference, but it can't hurt. svn path=/trunk/; revision=10802
* added $(BONOBO_CONF_LIBS) to get it to compile.Damon Chaplin2001-07-031-0/+1
| | | | | | | | | 2001-07-03 Damon Chaplin <damon@ximian.com> * backend/ebook/Makefile.am (evolution_vcard_importer_LDADD): added $(BONOBO_CONF_LIBS) to get it to compile. svn path=/trunk/; revision=10734
* use ECARD_UID_LINK_PREFIX.Chris Toshok2001-07-023-0/+52
| | | | | | | | | | | | | | | | | | | | | | 2001-07-01 Chris Toshok <toshok@ximian.com> * gui/contact-list-editor/e-contact-list-editor.c (fill_in_info): use ECARD_UID_LINK_PREFIX. * gui/contact-list-editor/e-contact-list-model.c (e_contact_list_model_get_email): use ECARD_UID_LINK_PREFIX. * backend/ebook/e-destination.h: add prototype for e_destination_importv_list. * backend/ebook/e-destination.c (e_destination_importv_list): new function, take an ECard corresponding to an address list and resolve any linked cards, returning an EDestination vector. * backend/ebook/e-card.h (ECARD_UID_LINK_PREFIX): #define this here, since we need to use it in a few places. svn path=/trunk/; revision=10667
* Added related_contacts field.Christopher James Lahey2001-07-022-6/+30
| | | | | | | | | | | | | | | | | | | | | | | 2001-07-02 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-card.c, backend/ebook/e-card.h: Added related_contacts field. * gui/component/select-names/e-select-names-model.c, gui/component/select-names/e-select-names-model.h (e_select_names_model_import_destinationv): Added this function. * gui/contact-editor/contact-editor.glade: Replaced the entry here for related contacts with a table which is filled in in the C code. * gui/contact-editor/e-contact-editor.c, gui/contact-editor/e-contact-editor.h (add_lists): Added a select names entry here for the related contacts field. * gui/widgets/Makefile.am: Removed all the test programs here since there are circular dependencies now. svn path=/trunk/; revision=10666
* Fall back to use the name field if all else fails (which can happen withJon Trowbridge2001-07-021-0/+6
| | | | | | | | | | 2001-07-01 Jon Trowbridge <trow@ximian.com> * backend/ebook/e-destination.c (e_destination_get_string): Fall back to use the name field if all else fails (which can happen with imported EDestinations). svn path=/trunk/; revision=10665
* Fix for the "recipient not specified" bug --- we were not correctlyJon Trowbridge2001-07-021-1/+7
| | | | | | | | | | 2001-07-01 Jon Trowbridge <trow@ximian.com> * backend/ebook/e-destination.c (e_destination_is_empty): Fix for the "recipient not specified" bug --- we were not correctly checking for whether or not an EDestination was actually empty. svn path=/trunk/; revision=10664
* Check args. Somewhere in the code (somewhere in the minicard stuff) thisJon Trowbridge2001-07-011-0/+2
| | | | | | | | | | | 2001-06-30 Jon Trowbridge <trow@ximian.com> * backend/ebook/e-card.c (e_card_evolution_list): Check args. Somewhere in the code (somewhere in the minicard stuff) this can be called with a NULL arg, which was causing crashes. (e_card_evolution_list_show_addresses): Check args. svn path=/trunk/; revision=10644
* I was accidentally comparing characters and strings here, and didn't seeJon Trowbridge2001-07-011-13/+21
| | | | | | | | | | | | 2001-06-30 Jon Trowbridge <trow@ximian.com> * backend/ebook/e-destination.c (build_field): I was accidentally comparing characters and strings here, and didn't see the compiler warning. Fixed. (e_destination_exportv): Don't export any empty destinations. (bug#3825). svn path=/trunk/; revision=10635
* Make the standard for considering two cards to be match stricter.Jon Trowbridge2001-06-305-46/+361
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-06-30 Jon Trowbridge <trow@ximian.com> * gui/merging/e-card-merging.c (match_query_callback): Make the standard for considering two cards to be match stricter. * gui/component/select-names/e-select-names-completion.c (make_match): Use the card's use-score to set the match's sort_major value. (match_name): Removed obsolete code. (e_select_names_completion_begin): Added (double) cast to make match->score calculation come out properly. * backend/ebook/e-card.c: Added X-EVOLUTION-LAST-USE and X-EVOLUTION-USE-SCORE to attribute_jump_array. (e_card_get_today): Added. A convenience routine for getting today's date and putting it in a GDate. (e_card_get_use_score): Added. Compute the current, time-decayed, use-score for the card. (e_card_touch): Increment the use-score by one; update the last used date. (e_card_date_to_string): Added as a convenience routine, getting rid of some code duplication. (e_card_get_vobject): Add handlers for X-EVOLUTION-USE-SCORE and X-EVOLUTION-LAST-USE. (parse_last_use): Added. (parse_use_score): Added. (e_card_class_init): Added args for last-use and use-score. (e_card_get_arg): Added handlers for last-use and use-score. o (e_card_set_arg): Added handlers for last-use and use-score. * backend/ebook/e-destination.c: Added pending_card_id to EDestinationPrivate struct. (e_destination_copy): Copy the pending_card_id. (e_destination_is_empty): Check for a pending_card_id. We are non-empty if we have one. (e_destination_clear_card): Clear pending_card_id. (e_destination_set_card): Clear pending_card_id. (e_destination_has_pending_card): Added. (e_destination_use_card): Added. An asynchronous way to load a pending card and then apply a callback to it. (build_field): Be paranoid, map our special characters to '_'. (e_destination_export): Use EXPORT_MAX_FIELDS symbol rather than a hard-wired array size. Added the "card" entry. (e_destination_import): Fix bug in handling of the "name" field. Process the "card" field. (e_destination_touch): "Touch" and commit the ECard corresponding to the e-mail address in the destination. (A query against the local addressbook is actually performed, in case the destination isn't cardified. * backend/ebook/e-card-compare.c (e_card_compare_name): Revamp the way E_CARD_MATCH_FOO results are mapped to comparison results. Report better matches when the family name is matched. svn path=/trunk/; revision=10626
* sJose Maria Celorio2001-06-291-0/+1
| | | | svn path=/trunk/; revision=10593
* add support for X-EVOLUTION-LIST and X-EVOLUTION-LIST-SHOW-ADDRESSES.Chris Toshok2001-06-292-0/+81
| | | | | | | | | | | | | | | | | 2001-06-28 Chris Toshok <toshok@ximian.com> * backend/ebook/e-card.c (e_card_get_vobject): add support for X-EVOLUTION-LIST and X-EVOLUTION-LIST-SHOW-ADDRESSES. (parse_list): new function, parse the boolean X-EVOLUTION-LIST. (parse_list_show_addresses): new function, parse the boolean X-EVOLUTION-LIST-SHOW-ADDRESSES. (e_card_class_init): add args for "list" and "list_show_addresses". (e_card_set_arg): add support for list and list_show_addresses. (e_card_get_arg): same. (e_card_init): init list and list_show_addresses. svn path=/trunk/; revision=10585
* Add a huge steaming pile of code to handle the case of single-addressJon Trowbridge2001-06-251-4/+7
| | | | | | | | | | | | | | | | | | 2001-06-25 Jon Trowbridge <trow@ximian.com> * gui/component/e-address-popup.c: Add a huge steaming pile of code to handle the case of single-address merging. In other words, if you go to "harvest" an address by right-clicking on it in the mail viewer, and you already have a closely-matching contact (w/ a different e-mail address), this gives you the option of editting that contact's e-mail addresses to add the one you just clicked on. * backend/ebook/e-card-compare.c (match_search_info_free): It is amazing how much better things work when you don't try to dereference the pointer you just freed. svn path=/trunk/; revision=10469
* Update the copyrights, replacing Helix Code with Ximian andEttore Perazzoli2001-06-2318-37/+37
| | | | | | helixcode.com with ximian.com all over the place. svn path=/trunk/; revision=10440
* Renamed. (The old name, edit_contact_info_have_book_cb was a hold-overJon Trowbridge2001-06-221-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-06-21 Jon Trowbridge <trow@ximian.com> * gui/component/select-names/e-select-names-popup.c (make_contact_editor_cb): Renamed. (The old name, edit_contact_info_have_book_cb was a hold-over from before, when we weren't using e_book_use_local_address_book.) * gui/component/e-address-popup.c (e_address_popup_schedule_refresh): A Added. We now do the name refreshes in an idle function, rather than in the setters. (e_address_popup_set_free_form): Added. Properly handle inputs of the form "Foo <bar@zar.com>", extracting the name and e-mail address. (e_address_popup_set_name): Check to make sure that the free-form handler shouldn't be used to handle the input. Schedule a refresh after making any changes. (e_address_popup_set_email): Check to make sure that the free-form handler shouldn't be used to handle the input. Schedule a refresh after making any changes. (e_address_popup_name_only_matches): Temporary place-holder for handling name-only matches. (query_cb): If our initial query fails (and included e-mail information), do a name-only query. This is to handle the case of adding new e-mail addresses to existing contacts. (e_address_popup_query): Eliminated the "common_book" crap; using e_book_use_local_address_book instead. * backend/ebook/e-card-compare.c (match_search_info_free): Make sure that the ->avoid list gets properly freed. svn path=/trunk/; revision=10374
* fix memory leak.Chris Toshok2001-06-211-1/+1
| | | | | | | | | | 2001-06-20 Chris Toshok <toshok@ximian.com> * backend/ebook/e-book-listener.c (e_book_listener_queue_get_supported_fields_response): fix memory leak. svn path=/trunk/; revision=10350
* Changed attachData to accept a sequence of chars rather than a string.Dave Camp2001-06-211-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | 2001-06-20 Dave Camp <dave@ximian.com> * Evolution-Composer.idl: Changed attachData to accept a sequence of chars rather than a string. * evolution-composer.c (impl_Composer_attach_data): Changed the 'data' argument to a GNOME_Evolution_Composer_AttachmentData, and pass data->_buffer and data->_length to camel_mime_part_set_content(). 2001-06-20 Dave Camp <dave@ximian.com> * gui/itip-utils.c (itip_send_comp): Changed attach_data to be a GNOME_Evolution_Composer_AttachmentData rather than a CORBA_char*. 2001-06-20 Dave Camp <dave@ximian.com> * backend/ebook/e-card.c (e_card_list_send): Changed attach_data to be a GNOME_Evolution_Composer_AttachmentData rather than a CORBA_char*. svn path=/trunk/; revision=10343
* rename ce_book_found_fields to this, remove the fetching of fields (theChris Toshok2001-06-202-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-06-19 Chris Toshok <toshok@ximian.com> * contact-editor/e-contact-quick-add.c (ce_have_book): rename ce_book_found_fields to this, remove the fetching of fields (the contact editor code handles that now.), and change the add_card signal to card_added. (card_added_cb): copied somewhat from merge_cb above. we don't need to do the merge here, just call the callback. * contact-editor/e-contact-editor.c (e_contact_editor_class_init): track signal change. add book arg, and is_read_only -> editable. (wants_html_changed): if the card isn't already changed, flag it as such (and update the commands.) (phone_entry_changed): same. (email_entry_changed): same. (address_text_changed): same. (name_entry_changed): same. (company_entry_changed): same. (full_name_clicked): is_read_only -> editable. (full_addr_clicked): same. (card_added_cb): new function, emit our card_added signal, and close the dialog if we're supposed to. properly deal with error status here. (card_modified_cb): same, modulo card_added -> card_modified. (save_card): actually call e_card_merging_book_{add/commit}_card instead of using a signal. Also, add a gboolean arg to tell whether or not to close the dialog after saving the card. (card_deleted_cb): new function, just emit our "card_deleted" signal. (delete_cb): actually call e_book_remove_card here, instead of using a signal. (tb_save_and_close_cb): call save_card with TRUE for should_close. (e_contact_editor_init): init changed = FALSE; (e_contact_editor_destroy): unref our book if we have one. (e_contact_editor_new): new signature, set the "book" arg, and call e_book_get_supported_fields here. (supported_fields_cb): new function, show the contact editor. (e_contact_editor_set_arg): initialize changed to FALSE when setting the card (but *after*, since the changed callbacks will set it to TRUE.) also, call command_state_changed if editable changes. also handle setting "book". oh, and is_read_only -> editable. (command_state_changed): new function - set the state of the commands we care about. (e_contact_editor_get_arg): add "book" handling, and is_read_only -> editable. (_phone_arrow_pressed): is_read_only -> editable. (_email_arrow_pressed): same. (_address_arrow_pressed): same. (enable_writable_fields): same. (set_editable): rename set_read_only to this, and is_read_only -> editable. * contact-editor/e-contact-editor.h (struct _EContactEditor): is_read_only -> editable, add a "changed" flag so we can sensitize commands correctly, and add an EBook* arg to e_contact_editor_new and to the EContactEditor struct. Also, change all the signals to past tense, and send the EBookStatus in them. * contact-editor/e-contact-editor-address.c (e_contact_editor_address_class_init): is_read_only -> editable. (e_contact_editor_address_set_arg): same. (e_contact_editor_address_get_arg): same. * contact-editor/e-contact-editor-address.h (struct _EContactEditorAddress): same. * contact-editor/e-contact-editor-fullname.c (e_contact_editor_fullname_class_init): same. (e_contact_editor_fullname_set_arg): same. (e_contact_editor_fullname_get_arg): same. * contact-editor/e-contact-editor-fullname.h (struct _EContactEditorFullname): same. * contact-editor/Makefile.am: don't build contact-editor-test now, until contact-editor gets moved to gui/ and we can more easily depend on the e_card_merging_* calls. * backend/pas/pas-backend-ldap.c (ldap_error_to_response): return CardIdAlreadyExists for LDAP_ALREADY_EXISTS. * backend/idl/addressbook.idl: Add CardIdAlreadyExists to the BookListener status enum. * backend/ebook/e-book-types.h: add E_BOOK_STATUS_CARD_ID_ALREADY_EXISTS. * backend/ebook/e-book-listener.c (e_book_listener_convert_status): add support for CardIdAlreadyExists. svn path=/trunk/; revision=10317
* Made e_card_simple_get_id return const char *.Christopher James Lahey2001-06-114-4/+4
| | | | | | | | | | | | | | | | | | | 2001-06-11 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-card-simple.c, backend/ebook/e-card-simple.h: Made e_card_simple_get_id return const char *. * backend/ebook/e-card.c, backend/ebook/e-card.h: Made e_card_get_id return const char *. * gui/component/e-cardlist-model.c (e_cardlist_model_add): Made id variable const here. Added a break to make it slightly more efficient. * gui/widgets/e-minicard.c, gui/widgets/e-minicard.h: Made e_minicard_get_card_id return const char *. svn path=/trunk/; revision=10183
* Rolled back the change 2 ago, dated 06/11/2001 01:51 in CVS, involvingChristopher James Lahey2001-06-113-101/+62
| | | | | | | | | | | 2001-06-11 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-book-listener.c, backend/ebook/e-book-listener.h, backend/ebook/e-book.c: Rolled back the change 2 ago, dated 06/11/2001 01:51 in CVS, involving e-book-listener.[ch] and e-book.c. svn path=/trunk/; revision=10181
* Made it so that all of these functions queue their ops before callingChristopher James Lahey2001-06-111-16/+58
| | | | | | | | | | | | | | | | 2001-06-11 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-book.c (e_book_load_uri, e_book_get_supported_fields, e_book_authenticate_user, e_book_remove_card_by_id, e_book_add_vcard, e_book_commit_vcard, e_book_get_cursor, e_book_get_book_view, e_book_get_changes): Made it so that all of these functions queue their ops before calling their CORBA functions. This way, if the response is sent back before the CORBA function returns there's no problem. Added e_book_unqueue_op so that the op could be unqueued if the CORBA call fails. svn path=/trunk/; revision=10180
* Added this function to put a response back into the queue.Christopher James Lahey2001-06-113-62/+101
| | | | | | | | | | | | | | | | 2001-06-11 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-book-listener.c, backend/ebook/e-book-listener.h (e_book_listener_unpop_response): Added this function to put a response back into the queue. * backend/ebook/e-book.c (e_book_check_listener_queue, e_book_queue_op): Handle the case where the op hasn't been queued yet when we get the response. In this case we unpop the response. Also, when queueing an op, we check to see if there are any responses waiting. svn path=/trunk/; revision=10179
* Added this function to let you do slightly more complicated searches.Christopher James Lahey2001-06-112-5/+59
| | | | | | | | | | | | | | 2001-06-11 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-card-compare.c, backend/ebook/e-card-compare.h (e_card_locate_match_full): Added this function to let you do slightly more complicated searches. * gui/merging/e-card-merging.c (e_card_merging_book_add_card): Use e_card_locate_match_full to check if the card exists in the book it's being added to instead of in the default book. svn path=/trunk/; revision=10178
* Null terminate the strv here. (e_card_locate_match): ref here instead ofChristopher James Lahey2001-06-092-26/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-06-09 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-card-compare.c (use_common_book_cb): Null terminate the strv here. (e_card_locate_match): ref here instead of unref. * backend/ebook/e-card-simple.c (e_card_simple_get): Handle a NULL card here. * contact-editor/Makefile.am (INCLUDES), gui/widgets/Makefile.am (INCLUDES): Added addressbook/gui/merging here. * contact-editor/e-contact-quick-add.c (book_ready_cb), gui/component/addressbook-component.c (dnd_drop_book_open_cb), gui/widgets/e-addressbook-table-adapter.c (addressbook_append_row), gui/widgets/e-addressbook-util.c (add_card_cb), gui/widgets/e-addressbook-view.c (selection_received), gui/widgets/e-minicard-control.c (book_open_cb): Use e_card_merging_book_add_card instead of e_book_add_card here. * gui/Makefile.am (SUBDIRS): Added merging. * gui/component/Makefile.am (evolution_addressbook_LDADD), gui/widgets/Makefile.am (minicard_test_LDADD, minicard_widget_test_LDADD): Added libecardmerging.a here. * gui/merging/, gui/merging/.cvsignore, gui/merging/Makefile.am: New addressbook library. * gui/merging/e-card-duplicate-detected.glade: Glade file for duplicate detected dialog. * gui/merging/e-card-merging.c, gui/merging/e-card-merging.h: New files for detecting duplicates before adding and putting up a dialog if duplicates are found. * gui/widgets/e-minicard-view.c: Include e-addressbook-util.h here. svn path=/trunk/; revision=10170
* Copy dates as they come in.Christopher James Lahey2001-06-061-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | 2001-06-05 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-card.c (e_card_set_arg): Copy dates as they come in. * backend/pas/pas-backend-file.c (pas_backend_file_changes_foreach_key, pas_backend_file_changes, pas_backend_file_process_remove_card, pas_backend_file_process_modify_card, pas_backend_file_build_all_cards_list, pas_backend_file_get_vcard, pas_backend_file_maybe_upgrade_db): memset DBTs to 0 before using them. (pas_backend_file_build_all_cards_list): Reindented. * contact-editor/contact-editor.glade: Replaced GnomeDateEdits with a custom widget that creates an EDateEdit. * contact-editor/e-contact-editor.c: Use an EDateEdit here instead of a GnomeDateEdit. svn path=/trunk/; revision=10125
* Added. Code for testing if two ECards appear to pertain to the sameJon Trowbridge2001-06-053-0/+513
| | | | | | | | | | | 2001-06-04 Jon Trowbridge <trow@ximian.com> * backend/ebook/e-card-compare.c: Added. Code for testing if two ECards appear to pertain to the same contact (using loose matching rules, as opposed to requiring exact equality) and to query the addressbook for the "best match" to ECard. svn path=/trunk/; revision=10114
* Fix linking order for `$(DB3_LDADD)'s so that we avoid pullingEttore Perazzoli2001-06-031-3/+3
| | | | | | | functions from a different Berkeley DB library when we really don't mean to. svn path=/trunk/; revision=10105
* Add a bunch of missing `$(DB3_LDADD)'s.Ettore Perazzoli2001-06-021-8/+9
| | | | svn path=/trunk/; revision=10085
* ref the listener for the duration of this function, since emittingDan Winship2001-05-231-0/+6
| | | | | | | | | | | * backend/ebook/e-book-listener.c (e_book_listener_check_queue): ref the listener for the duration of this function, since emitting "responses_queued" may cause it to be unreffed by its EBook in some cases, which could cause the second response_queue check to look at garbage data if it got destroyed. (e_book_listener_destroy): Call g_source_remove if idle_id is set. svn path=/trunk/; revision=9935
* Return the serialized EDestinations (rather than just a string w/ e-mailJon Trowbridge2001-05-184-16/+409
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-05-18 Jon Trowbridge <trow@ximian.com> * gui/component/select-names/e-select-names-bonobo.c (entry_get_property_fn): Return the serialized EDestinations (rather than just a string w/ e-mail addresses) through the bonobo component's property bag. * gui/component/select-names/e-select-names-model.c (e_select_names_model_export_destinationv): Added. A convenience routine for serializing the model's EDestinations into a string. * gui/component/select-names/e-select-names-popup.c (add_html_mail): Added. Puts in a check menu item for whether or not the recipient wants HTML mail. (popup_menu_card): Add menu item for HTML mail. Enable edit contact info item. (popup_menu_nocard): Add menu item for HTML mail. Enable edit contact info item. * backend/ebook/e-book-util.c (e_book_use_local_address_book): Added. Fetches the local addressbook and caches it on the first call. This is meant to be an easy and efficient way to get at the local addressbook with the minimum of code. (e_book_query_address_locally): Added. Convenience code that does an e-mail only e_book_name_and_email_query against the local address book. * backend/ebook/e-destination.c (e_destination_set_html_mail_pref): Added. Allows the intended recipient's HTML mail preference to be manipulated. (e_destination_get_email_verbose): Added. Cleaned up to use e_destination_get_name. (e_destination_get_html_mail_pref): Added. Read the recipient's HTML mail preference. If the destination is linked to a card, the preference is taken from the card (unless it has been explicitly overridden by a called to e_destination_set_html_mail_pref). (e_destination_get_address_textv): Added. Form a unified address string from a NULL-terminated vector of EDestinations. (e_destination_export): Added. Serialize an EDestination to a string. (e_destination_import): Added. Unserialize a string to build an EDestination. (e_destination_exportv): Added. Serialize a NULL-terminated vector of EDestinations to a string. (e_destination_importv): Added. Unserialize a string to build a NULL-terminated vector of EDestinations. * gui/component/select-names/e-select-names-completion.c: Implemented local versions of g_strcasecmp and g_strncasecmp (which should really be in glib, I think...) for utf8, and used them to make this code utf8-safe. 2001-05-18 Jon Trowbridge <trow@ximian.com> * Makefile.am (evolution_mail_LDADD): Added libebook.la (which is now required by the composer.) 2001-05-18 Jon Trowbridge <trow@ximian.com> * e-msg-composer-hdrs.c (set_recipients): Properly unserialize the string returned by the "text" property of the bonobo control, convert it into EDestinations, and use them to get the e-mail addresses of our recipients. 22001-05-18 Jon Trowbridge <trow@ximian.com> * Makefile.am (SUBDIRS): Changed build order. Now addressbook gets built before mail. svn path=/trunk/; revision=9878
* add prototype for addressbook_expand_uri.Chris Toshok2001-05-142-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | 2001-05-13 Chris Toshok <toshok@ximian.com> * gui/component/addressbook.h: add prototype for addressbook_expand_uri. * gui/component/addressbook-component.c (destination_folder_handle_drop): create an EBook for @physical_uri. (dnd_drop_book_open_cb): actually add the dropped cards. * gui/component/addressbook.c (addressbook_expand_uri): abstract this code out from the set_prop method so we can use it in the component. (set_prop): call addressbook_expand_uri. * backend/ebook/e-card.c (e_card_load_cards_from_string): new function. * backend/ebook/e-card.h: add prototype for e_card_load_cards_from_string. svn path=/trunk/; revision=9788
* load pixmaps for MessageCopy and MessageForwardAttached. Thanks WayneGediminas Paulauskas2001-05-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | 2001-05-12 Gediminas Paulauskas <menesis@delfi.lt> * folder-browser-factory.c: load pixmaps for MessageCopy and MessageForwardAttached. Thanks Wayne Davis <wfdavis@seas.upenn.edu> for a patch. 2001-05-12 Gediminas Paulauskas <menesis@delfi.lt> * evolution-mail.xml: add pixmaps for MessageCopy and MessageForwardAttached. Thanks Wayne Davis <wfdavis@seas.upenn.edu> for a patch. 2001-05-12 Gediminas Paulauskas <menesis@delfi.lt> * po/POTFILES.in: update with new/moved files. Also: remove duplicated DATADIR from mail/Makefile.am fix warning in e-search-bar.c svn path=/trunk/; revision=9782
* If the name is set and the full_name or file_as haven't been yet, setChristopher James Lahey2001-05-121-0/+18
| | | | | | | | | 2001-05-11 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-card.c (e_card_set_arg): If the name is set and the full_name or file_as haven't been yet, set them. svn path=/trunk/; revision=9770
* Importer changesIain Holmes2001-05-093-30/+59
| | | | svn path=/trunk/; revision=9722
* Removed e-card-pairs.h since we're not using it.Christopher James Lahey2001-05-086-83/+194
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-05-08 Christopher James Lahey <clahey@ximian.com> * backend/ebook/Makefile.am (libebookinclude_HEADERS): Removed e-card-pairs.h since we're not using it. * backend/ebook/e-book-view.c (e_book_view_check_listener_queue): Added break; to default: case here. * backend/ebook/e-card-simple.c, backend/ebook/e-card-simple.h: Added changed variable so as to avoid sync_card when possible. (e_card_simple_destroy): Free all the data here properly. (e_card_simple_get_arg): Slight simplification here. (fill_in_info, e_card_simple_arbitrary_foreach, e_card_simple_get_arbitrary): Call e_card_free_empty_lists here to save a bit of memory. * backend/ebook/e-card.c, backend/ebook/e-card.h: Fixed up includes a bit. (e_card_list_get_vcard, e_card_list_send): Added these functions for acting on a group of cards. (parse_org): Cleaned up this function a bit. (e_card_free_empty_lists): Added this function to delete unnecessary ELists and save a bit of memory. (e_v_object_get_child_value): Made this return NULL if not found instead of g_strdup(""). * contact-editor/e-contact-save-as.c, contact-editor/e-contact-save-as.h (e_contact_list_save_as): Added this function to save multiple contacts. * gui/widgets/Makefile.am: Commented out reflow test. (libeminicard_a_SOURCES): Added e-minicard-view-model.c and e-minicard-view-model.h. * gui/widgets/e-minicard-view-model.c, gui/widgets/e-minicard-view-model.h: Model for use in EMinicardView. * gui/widgets/e-minicard-view.c, gui/widgets/e-minicard-view.h: Reworked this to use the new EReflow stuff. * gui/widgets/e-minicard.c (e_minicard_event): Doesn't handle right click menus now. Emits a signal on the parent canvas item instead. * printing/e-contact-print-envelope.c, printing/e-contact-print-envelope.h (e_contact_print_envelope_list_dialog_new): Added this function to print multiple envelopes (only prints first for now.) * printing/e-contact-print.c, printing/e-contact-print.h (e_contact_print_card_list_dialog_new): Added this function to print multiple cards. Only prints the first for now. svn path=/trunk/; revision=9711
* Added.Jon Trowbridge2001-04-172-4/+31
| | | | | | | | | | | | | | | | | | | | | | | | 2001-04-16 Jon Trowbridge <trow@ximian.com> * backend/ebook/e-destination.c (e_destination_get_name): Added. * gui/component/select-names/e-select-names.c (real_add_address_cb): Use e_select_names_model_append. It's nicer. * gui/component/select-names/e-select-names-model.c (e_select_names_model_append): Added. * gui/component/select-names/e-select-names-completion.c (book_query_process_card_list): Filter out completion matches that don't have an associated e-mail address. (book_query_score): Give a bonus to the primary address, so that it always comes up first in the completion results. * gui/component/e-address-popup.c (e_address_popup_refresh_names): Convert utf8 strings into gtk strings before displaying. svn path=/trunk/; revision=9390
* Added the function e_book_view_listener_stop to tell the book viewChristopher James Lahey2001-04-153-5/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-04-14 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-book-view-listener.c, backend/ebook/e-book-view-listener.h: Added the function e_book_view_listener_stop to tell the book view listener to stop sending signals. * backend/ebook/e-book-view.c (e_book_view_destroy): Tell the EBookViewListener to stop when we're destroyed. * backend/pas/pas-backend-file.c (view_destroy, pas_backend_file_process_get_book_view, pas_backend_file_process_get_changes): Cleaned these up a bit using bonobo_object_ref and bonobo_object_unref. (pas_backend_file_process_get_book_view, pas_backend_file_process_get_changes): bonobo_object_release_unref the EBookListener here. * backend/pas/pas-backend-ldap.c (pas_backend_ldap_process_get_book_view): Cleaned this up a bit using bonobo_object_ref. Make sure to unref the listener when we're done with it. Put the new book_view in the list before telling the book_listener that it's ready. * backend/pas/pas-book-view.c (pas_book_view_construct): Cleaned this up a bit using bonobo_object_dup_ref. (pas_book_view_destroy): Cleaned this up a bit using bonobo_object_release_unref. * backend/pas/pas-book.c (pas_book_queue_get_book_view, pas_book_queue_get_changes): bonobo_object_dup_ref here instead of just duplicating. svn path=/trunk/; revision=9313
* Ref the cursor here when we receive it.Christopher James Lahey2001-04-153-74/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | 2001-04-14 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-book-listener.c (impl_BookListener_respond_get_cursor): Ref the cursor here when we receive it. (impl_BookListener_respond_get_view, impl_BookListener_respond_get_changes): Ref the book_view here when we receive it. (impl_BookListener_respond_open_book): Ref the book here when we receive it. (e_book_listener_destroy): Unref the objects in our queue here. * backend/ebook/e-book-view.c (e_book_view_construct): Cleaned this up using bonobo_object_dup_ref. (e_book_view_destroy): Cleaned this up using bonobo_object_release_unref. * backend/ebook/e-book.c (e_book_do_response_get_cursor, e_book_do_response_get_view, e_book_do_response_get_changes, e_book_unload_uri): Cleaned this up using bonobo_object_release_unref. svn path=/trunk/; revision=9311
* Do this everywhere, also fixup CLEANFILESMichael Meeks2001-04-141-0/+3
| | | | | | | | | | Do this everywhere, also fixup CLEANFILES 2001-04-14 Michael Meeks <michael@ximian.com> * Makefile.am (dist-hook): remove built sources from dist. svn path=/trunk/; revision=9309
* put the business address into the pilot record as that is what we put intoJP Rosevear2001-04-133-70/+0
| | | | | | | | | | | | | | | | | | 2001-04-12 JP Rosevear <jpr@ximian.com> * conduit/address-conduit.c (local_record_from_ecard): put the business address into the pilot record as that is what we put into the desktop record (ecard_from_remote_record): set both the address label and delivery address to avoid bad parser guessing, fixes #2143 * backend/ebook/e-card-types.h: remove deprecated pilot code * backend/ebook/e-card.c: ditto * backend/ebook/e-card.h: ditto svn path=/trunk/; revision=9279
* Added E_CARD_SIMPLE_FIELD_LAST_SIMPLE_STRING.Christopher James Lahey2001-04-111-1/+2
| | | | | | | | | | | | | | | | | | | 2001-04-11 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-card-simple.h: Added E_CARD_SIMPLE_FIELD_LAST_SIMPLE_STRING. * gui/component/addressbook-component.c (accepted_dnd_types): Fixed a warning here. * gui/widgets/e-addressbook-model.c: Modified this to have more columns, but not let them be edited if they're not a simple string. * gui/widgets/e-minicard-view.c (e_minicard_view_init): Fixed a warning and a memory leak here. svn path=/trunk/; revision=9230
* i18n fixes, added missing includes.Gediminas Paulauskas2001-04-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-04-10 Gediminas Paulauskas <menesis@delfi.lt> * AUTHORS: /me is a translator. * configure.in (EVO_CHECK_LIB): fail with AC_MSG_ERROR, not echo && exit 1. 2001-04-10 Gediminas Paulauskas <menesis@delfi.lt> * backend/ebook/evolution-gnomecard-importer.c: added missing #include. * contact-editor/e-contact-editor.c (_arrow_pressed): popup menu items were not translated after selecting one of them. * gui/widgets/e-addressbook-view.c: mark popup menu items with N_(). Updated list[] for translators. * gui/widgets/e-minicard.c: same. * gui/widgets/e-minicard-view-widget.c (e_minicard_view_widget_set_arg): fix warning for "editable" arg. * gui/widgets/e-minicard-view.c: convert "empty_message" to utf8. 2001-04-10 Gediminas Paulauskas <menesis@delfi.lt> * widgets/e-summary-subwindow.c: added some missing includes. * widgets/e-summary-title-button.h: same. 2001-04-10 Gediminas Paulauskas <menesis@delfi.lt> * menus/gal-view-menus.c: convert label to utf8. svn path=/trunk/; revision=9215
* Unref and unregister the factory on exitIain Holmes2001-04-031-0/+2
| | | | svn path=/trunk/; revision=9106
* Call e_select_names_model_clean after adding address. This should dealJon Trowbridge2001-03-312-0/+10
| | | | | | | | | | | | | | | | | 2001-03-31 Jon Trowbridge <trow@ximian.com> * gui/component/select-names/e-select-names.c (real_add_address_cb): Call e_select_names_model_clean after adding address. This should deal with the bug reports related to stray commas. * gui/component/select-names/e-select-names-model.c (e_select_names_model_clean): Added. Remove all empty destinations. * backend/ebook/e-destination.c (e_destination_is_empty): Added. Check if an EDestination is in essentially a null state. svn path=/trunk/; revision=9067
* Added #include <libgnome/gnome-paper.h>Jon Trowbridge2001-03-301-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-29 Jon Trowbridge <trow@ximian.com> * printing/e-contact-print.c: Added #include <libgnome/gnome-paper.h> * printing/e-contact-print-envelope.c: Added #include <time.h> and #include <libgnome/gnome-paper.h> * gui/component/select-names/e-select-names-completion.c (match_email): Better handle matching of "nameless" contacts. * backend/ebook/e-destination.c (e_destination_get_string): Better handle the case of a "nameless" contact. 2001-03-29 Jon Trowbridge <trow@ximian.com> * camel-filter-driver.c (camel_filter_driver_filter_message): Save the source URL using camel_mime_message_set_source. * camel-mime-message.c (camel_mime_message_set_source): Renamed camel_mime_message_set_identity to this. Sets the X-Evolution-Source header. (camel_mime_message_get_source): Returns the X-Evolution-Source header. 2001-03-29 Jon Trowbridge <trow@ximian.com> * mail-callbacks.c: Added #include <time.h> to get things to compile. * mail-callbacks.c (mail_generate_reply): Look at the X-Evolution-Source header, and try to find a corresponding account. If this works, send the mail from this account. If not, use the default account. * mail-ops.c (send_queue_send): Strip out the X-Evolution-Source header before sending. * mail-config.c (mail_config_get_account_by_source_url): Added. Look up accounts by source URL. svn path=/trunk/; revision=9032
* Clean up #includes. Replace <gnome.h>, <bonobo.h> and <gtk/gtk.h> withKjartan Maraas2001-03-3017-35/+61
| | | | | | | | | 2001-03-29 Kjartan Maraas <kmaraas@gnome.org> * *.*: Clean up #includes. Replace <gnome.h>, <bonobo.h> and <gtk/gtk.h> with more finegrained headers where needed. svn path=/trunk/; revision=9026