aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/backend/ebook/e-book-util.c
Commit message (Collapse)AuthorAgeFilesLines
* This commit was manufactured by cvs2svn to create tagGNOME_VFS_2_5_1nobody2003-06-291-808/+0
| | | | | | 'GNOME_VFS_2_5_1'. svn path=/tags/GNOME_VFS_2_5_1/; revision=21653
* 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-311-2/+2
| | | | | | | * backend/ebook/e-book-util.c (e_book_get_default_book_uri): constify return value svn path=/trunk/; revision=20596
* check the status, not the book, and unref the book here.Chris Toshok2003-02-071-33/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Remove cruft. (libebookincludedir): Use privincludedir.Dan Winship2003-02-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | * 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
* [ 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
* 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
* add prototypes for e_utf8_casefold_collate{_len}Chris Toshok2002-11-081-0/+23
| | | | | | | | | | | | 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
* 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
* ignore the generated marshaller files.Chris Toshok2002-11-061-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* don't call bonobo_activation_init directly.Chris Toshok2002-11-051-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-031-45/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* take and pass the CallStatus to our listener.Chris Toshok2002-08-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* If invoked from a non-contact folder, add the contact to the defaultDan Winship2002-08-131-68/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* 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-241-22/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Append /addressbook.db to the end of the default URI if it starts withDan Winship2002-04-191-2/+9
| | | | | | | | | | | * 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
* New functions that take a file:// url ending in the directory name andChristopher James Lahey2002-02-141-7/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* go slow and clear the map if the last uri and the current uri do not matchJP Rosevear2001-12-191-0/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Fixing the license text.Ettore Perazzoli2001-10-281-1/+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-271-2/+2
| | | | | | 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
* Strip out commas before forming our query. (match_name): UseJon Trowbridge2001-10-041-2/+1
| | | | | | | | | | | | | | | | | | | | | | 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
* Use the default e-mail address if we have nothing else to go on.Jon Trowbridge2001-09-201-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* use g_strfreev. (match_name): s/g_free/g_strfreev. (match_file_as):Larry Ewing2001-09-181-5/+5
| | | | | | | | | | | | | | | | | | | 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
* Make "stop" do nothing but set the stopped flag, as inJon Trowbridge2001-09-151-64/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Hook up some magic to (basically) cardify an entry on focus-out. (What weJon Trowbridge2001-08-101-0/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Return the serialized EDestinations (rather than just a string w/ e-mailJon Trowbridge2001-05-181-0/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Clean up #includes. Replace <gnome.h>, <bonobo.h> and <gtk/gtk.h> withKjartan Maraas2001-03-301-1/+4
| | | | | | | | | 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
* Added. Call me old-fashioned, but I just prefer to have a real API ratherJon Trowbridge2001-03-231-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-23 Jon Trowbridge <trow@ximian.com> * gui/widgets/e-minicard-widget.c (e_minicard_widget_set_card): Added. Call me old-fashioned, but I just prefer to have a real API rather than doing everything via gtk_object_get/set-type calls. (e_minicard_widget_set_arg): Changed to call e_minicard_widget_set_card. * backend/ebook/e-book-util.c: Small changes to get rid of compiler warnings. (Casting out const, removed unused variables, etc.) Removed some debugging messages. * gui/component/addressbook-factory.c (main): Added call to e_address_popup_factory_init. * gui/component/e-address-popup.c: Added. A popup gadget that is invoked (as a bonobo control) when an address is left-clicked in the mailer. The addressbook is queries, and the address is either displayed as a minicard (if it already exists) or in a "generic format". A button is provided for editting/adding the contact. Some of the semantics of this widget are a bit... non-standard, because of bonobo issues. I can't really seem to replicate popup-menu behavior because of how bonobo propogates events, etc. so I've tried to produce something that I think is non-annoying. YMMV. 2001-03-23 Jon Trowbridge <trow@ximian.com> * mail-display.c (handle_embedded_address_object): #ifdef away some code I don't quite want to delete yet. (html_button_press_event): Remove some of Radek's placeholder code, replace it with code to create my AddressPopup bonobo control. * mail-format.c: Remove some obsolete code that if #ifdef-ed out a while ago. * mail-ops.c (send_queue_send): Strip out the X-Evolution-Identity header when sending. 2001-03-23 Jon Trowbridge <trow@ximian.com> * camel-filter-driver.c (camel_filter_driver_filter_message): Don't call camel_mime_message_set_identity. (The call is commented out, left over from some earlier experimentation that I want to be able to remember later...) * camel-mime-message.c (camel_mime_message_set_identity): Added. A function to set the X-Evolution-Identity header. svn path=/trunk/; revision=8916
* Added addressbook querying and "cardification" functions, which are turnedJon Trowbridge2001-03-161-0/+444
2001-03-15 Jon Trowbridge <trow@ximian.com> * gui/component/e-address-widget.c: Added addressbook querying and "cardification" functions, which are turned off by default for now because of addressbook bugs. Added a popup menu option to turn queries on, so that others can enjoy the thrill of massive flaming death. * gui/component/addressbook-factory.c (main): Made warnings always be fatal. * backend/pas/pas-book-view.c: Added some debugging spew. * backend/pas/pas-backend-file.c (pas_backend_file_search): Added a little experimental code to try to make file searches scale better. #if 0/#endif-ed out for now. * contact-editor/e-contact-quick-add.c: #included e-book-util.h. * backend/ebook/e-card.c (e_card_name_match_string): Added. Looser name-matching function. (e_card_email_match_string): Added. Loose e-mail matching. * backend/ebook/e-book-view-listener.c (e_book_view_listener_check_queue): Added code to cause us to abort rather than get trapped in a 100%-CPU-consuming loop in certain situations. Now we just need to figure out how to avoid these situations altogether. * backend/ebook/e-book-util.c: Added. Now contains the simple query stuff and the open local addressbook functions. * backend/ebook/e-book.c: Moved simple query stuff and open local addressbook functions into e-book-util.c. 2001-03-15 Jon Trowbridge <trow@ximian.com> * wombat.c (main): If we can't initialize a service on startup, tell us which one before terminating. svn path=/trunk/; revision=8754