aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/gui/component/select-names/e-select-names-completion.c
Commit message (Collapse)AuthorAgeFilesLines
* This is the last we see of ESelectNames.Hans Petter Jansson2004-12-231-1236/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-12-23 Hans Petter Jansson <hpj@novell.com> This is the last we see of ESelectNames. * gui/component/select-names/Evolution-Addressbook-SelectNames.idl * gui/component/select-names/GNOME_Evolution_Addressbook_SelectNames.server.in.in * gui/component/select-names/Makefile.am * gui/component/select-names/e-select-names-bonobo.c * gui/component/select-names/e-select-names-bonobo.h * gui/component/select-names/e-select-names-completion.c * gui/component/select-names/e-select-names-completion.h * gui/component/select-names/e-select-names-config-keys.h * gui/component/select-names/e-select-names-config.c * gui/component/select-names/e-select-names-config.h * gui/component/select-names/e-select-names-factory.c * gui/component/select-names/e-select-names-factory.h * gui/component/select-names/e-select-names-manager.c * gui/component/select-names/e-select-names-manager.h * gui/component/select-names/e-select-names-marshal.list * gui/component/select-names/e-select-names-model.c * gui/component/select-names/e-select-names-model.h * gui/component/select-names/e-select-names-popup.c * gui/component/select-names/e-select-names-popup.h * gui/component/select-names/e-select-names-section.etspec * gui/component/select-names/e-select-names-table-model.c * gui/component/select-names/e-select-names-table-model.h * gui/component/select-names/e-select-names-text-model.c * gui/component/select-names/e-select-names-text-model.h * gui/component/select-names/e-select-names.c * gui/component/select-names/e-select-names.etspec * gui/component/select-names/e-select-names.h * gui/component/select-names/recipient.glade * gui/component/select-names/select-names.glade: Begone. svn path=/trunk/; revision=28191
* addressbook/gui/component/addressbook-migrate.cHans Petter Jansson2004-12-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-12-08 Hans Petter Jansson <hpj@novell.com> * addressbook/gui/component/addressbook-migrate.c * addressbook/gui/component/select-names/e-select-names-completion.c * addressbook/gui/component/select-names/e-select-names-manager.c * addressbook/gui/component/select-names/e-select-names-model.h * addressbook/gui/contact-list-editor/e-contact-list-editor.h * addressbook/gui/contact-list-editor/e-contact-list-model.h * addressbook/gui/widgets/e-minicard.c * addressbook/gui/widgets/eab-gui-util.c * addressbook/importers/evolution-ldif-importer.c * addressbook/importers/evolution-vcard-importer.c: Include <libebook/e-destination.h> from evolution-data-server. * addressbook/util/Makefile.am: Remove e-destination.[ch] from here. * addressbook/util/e-destination.[ch]: Removed. * plugins/shared-folder/share-folder-common.c: Include <libebook/e-destination.h> from evolution-data-server. * calendar/gui/e-meeting-list-view.c * calendar/gui/e-select-names-editable.c * calendar/gui/dialogs/alarm-dialog.c * calendar/gui/dialogs/e-delegate-dialog.c: Include <libebook/e-destination.h> from evolution-data-server. * composer/e-msg-composer-hdrs.h: Include <libebook/e-destination.h> from evolution-data-server. * mail/importers/pine-importer.c: Include <libebook/e-destination.h> from evolution-data-server. svn path=/trunk/; revision=28094
* remove camel, add ADDRESSBOOK_LIBS.Not Zed2004-12-031-1/+1
| | | | | | | | | | | | | | | | | | | | 2004-11-16 Not Zed <NotZed@Ximian.com> * util/Makefile.am (libeabutil_la_LIBADD): remove camel, add ADDRESSBOOK_LIBS. * conduit/Makefile.am (libeaddress_conduit_la_LIBADD): remove camel. * gui/component/Makefile.am (libevolution_addressbook_la_LIBADD): remove camel. 2004-11-15 Not Zed <NotZed@Ximian.com> * *.c: Moved various things from e-util to libedataserver, where appropriate. svn path=/trunk/; revision=28048
* revert this change.Chris Toshok2004-06-221-12/+1
| | | | svn path=/trunk/; revision=26450
* make completion respect your download limit for a given source. speeds upChris Toshok2004-06-221-1/+12
| | | | | | | | | | | | 2004-06-21 Chris Toshok <toshok@ximian.com> * gui/component/select-names/e-select-names-completion.c (e_select_names_completion_start_query): make completion respect your download limit for a given source. speeds up completion substantially (or rather, speeds up switching of queries) when the ldap server has tons of entries. svn path=/trunk/; revision=26449
* use the new e_destination_export_to_vcard_attribute call to build up theChris Toshok2004-04-101-41/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-04-09 Chris Toshok <toshok@ximian.com> * importers/evolution-ldif-importer.c (resolve_list_card): use the new e_destination_export_to_vcard_attribute call to build up the attributes. * importers/evolution-vcard-importer.c (process_item_fn): if we're importing a vcard that we wrote out previously containing xml in the EMAIL attributes, DTRT and strip it out and use e_destination_export_to_vcard_attribute to build up the proper attribute. * util/Makefile.am (libeabutil_la_SOURCES): remove eab-destination.[ch] and add e-destination.[ch]. * printing/e-contact-print.c (e_contact_print_contact): we don't have to worry about the "<?xml..." EMAIL fields anymore. * gui/widgets/eab-gui-util.c (eab_send_contact_list): just use the value as the address (since that's what it is) in the list case. * gui/widgets/eab-contact-display.c (render_contact_list): remove the EABDestination stuff from here. (eab_contact_display_render_compact): same. * gui/widgets/e-minicard.c (activiate_editor): fix warnings - use EAB_EDITOR instead of G_OBJECT. (add_field): we don't have to worry about the "<?xml..." EMAIL fields anymore. (remodel): same. * gui/widgets/e-addressbook-treeview-adapter.c (adapter_get_value): we don't have to worry about the "<?xml..." EMAIL fields anymore. * gui/widgets/e-addressbook-table-adapter.c (addressbook_value_at): we don't have to worry about the "<?xml..." EMAIL fields anymore. * gui/contact-list-editor/e-contact-list-model.c (contact_list_value_at): eab->e. (contact_list_model_dispose): we're not a GtkObject, we're a GObject. rename _destroy to _dispose, and chain up to the parent class's ::dispose. (e_contact_list_model_class_init): GtkObject -> GObject, and destroy -> dispose. (e_contact_list_model_init): GtkObject -> GObject, and EAB -> E. (e_contact_list_model_add_destination): EAB -> E. (e_contact_list_model_add_email): same. (e_contact_list_model_add_contact): same. (e_contact_list_model_get_destination): same. * gui/contact-list-editor/e-contact-list-editor.c (table_drag_data_received_cb): add email num arg to e_contact_list_model_add_contact. (extract_info): fill in the vcard attributes instead of just generating xml. (fill_in_info): extract the values from the vcard attributes. * gui/component/select-names/e-select-names-text-model.c (e_select_names_text_model_insert_length): eab->e, and don't sometimes copy, sometimes ::new. always ::new. (e_select_names_text_model_delete): same. (e_select_names_text_model_obj_count): same. (nth_obj_index): same. * gui/component/select-names/e-select-names-table-model.c (fill_in_info): eab -> e. * gui/component/select-names/e-select-names-popup.c (make_contact_editor_cb): eab -> e. (change_email_num_cb): same. (toggle_html_mail_cb): same. (populate_popup_contact): same, and remove code that checks for <?xml, then imports the EDestination. (quick_add_cb): eab -> e. (populate_popup_nocontact): same. (e_select_names_populate_popup): same. * gui/component/select-names/e-select-names-model.h: eab -> e, and remove prototypes for nuked functions. * gui/component/select-names/e-select-names-model.c (destination_changed_proxy, send_changed, connect_destination, disconnect_destination): nuke. (e_select_names_model_duplicate): EAB -> E. (e_select_names_model_get_textification): same. (e_select_names_model_get_address_text): same. (e_select_names_model_get_destination): same. (e_select_names_model_export_destinationv): same. (send_changed): same. (e_select_names_model_import_destinationv): same. (e_select_names_model_get_contact): same. (e_select_names_model_contains): same. (e_select_names_model_insert): same, and remove call to connect_destination. (e_select_names_model_append): same. (e_select_names_model_replace): same, and remove call to disconnect/connect_destination. (e_select_names_model_delete): same. (delete_all_iter): nuke. (e_select_names_model_delete_all): use g_object_unref for the foreach call. (e_select_names_model_merge): EAB -> E. (e_select_names_model_name_pos): same. (e_select_names_model_name_pos): same. (e_select_names_model_load_all_contacts): nuke. (e_select_names_model_cancel_all_contact_load): nuke. * gui/component/select-names/e-select-names-manager.c (clean_cb, focus_in_cb, focus_out_cb, completion_popup_cb): nuke. (completion_handler): EAB -> E, and the signals are gone. * gui/component/select-names/e-select-names-completion.c: in general, s/eab_dest/e_dest and s/EABDest/EDest. (e_select_names_completion_got_book_view_cb): move the e_book_view_start to below the assignment of sequence_complete_received, just to put my mind at ease. (e_select_names_completion_stop_query): un-#if notyet the call to e_book_cancel. (e_select_names_completion_start_query): free the waiting_query before assigning to it. * gui/component/select-names/e-select-names-bonobo.c (entry_set_property_fn): remove calls to e_select_names_model_load_all_contacts, since that function is dead. * gui/component/addressbook-migrate.c (setup_progress_dialog): take the label to display to the user as an arg. (migrate_contact_lists_for_local_folders): loop over all contacts in all local addressbooks looking for ones that have <?xml in their EMAIL attributes. for the ones we find, call e_destination_export_to_vcard_attribute to build up the proper attribute. (addressbook_migrate): add in a clause for all versions under 1.5.7 to convert contact lists. also, move the unrefs of the sources/groups to outside the if, as they're created outside it. * gui/component/Makefile.am (INCLUDES): remove the addressbook/backend/ dirs, since libebook isn't there anymore (nothing is, actually). Add addressbook/util/. svn path=/trunk/; revision=25390
* ** See #54991.Not Zed2004-03-041-17/+20
| | | | | | | | | | | | | | 2004-03-04 Not Zed <NotZed@Ximian.com> ** See #54991. * gui/component/select-names/e-select-names-completion.c (e_select_names_completion_start_query): dont try to unref a null query. (name_style_query): use a GString to build the query, so we can use e_sexp_encode_string to properly encode the sub terms. svn path=/trunk/; revision=24957
* Update for API changes to e-book-asyncRoss Burton2004-01-091-10/+15
| | | | svn path=/trunk/; revision=24130
* Various changes to merge in evolution-data-server reliance.JP Rosevear2003-11-071-1/+1
| | | | svn path=/trunk/; revision=23206
* Merge new-ui-branch to the trunk.Ettore Perazzoli2003-10-221-107/+131
| | | | svn path=/trunk/; revision=22965
* Use glib macro to case from pointer to int.Jeremy Katz2003-05-091-1/+1
| | | | | | | | | | | | | | | 2003-05-09 Jeremy Katz <katzj@redhat.com> * printing/e-contact-print.c (e_contact_print_response): Use glib macro to case from pointer to int. * printing/e-contact-print-envelope.c: Add missing #include. * gui/component/select-names/e-select-names-completion.c (e_select_names_completion_start_query): Use E_SELECT_NAMES_COMPLETION to avoid warning svn path=/trunk/; revision=21138
* [ either mostly or entirely fixes #33708 ] new function, factor it out ofChris Toshok2003-04-241-20/+29
| | | | | | | | | | | | | | | | | | | | | | | 2003-04-23 Chris Toshok <toshok@ximian.com> [ either mostly or entirely fixes #33708 ] * gui/component/select-names/e-select-names-completion.c (e_select_names_completion_done): new function, factor it out of _seq_complete_cb because we need to run the same code in a couple of places. (e_select_names_completion_got_book_view_cb): treat an error from a book as getting a "sequence_complete", and decrement the count of pending complete signals. (e_select_names_completion_got_book_view_cb): remove the increment of pending_completion_seq from here. (e_select_names_completion_seq_complete_cb): factor out the body of e_select_names_completion_done from here, and call it. (e_select_names_completion_start_query): increment pending_completion_seq here. remove the async variable, as we can now use pending_completion_seq for that purpose (it's > 0 iff async would have been TRUE). svn path=/trunk/; revision=20943
* [ fixes #40727 ] if the query text is either shorter than the cachedChris Toshok2003-04-091-5/+9
| | | | | | | | | | | | | 2003-04-09 Chris Toshok <toshok@ximian.com> [ fixes #40727 ] * gui/component/select-names/e-select-names-completion.c (e_select_names_completion_start_query): if the query text is either shorter than the cached query_text or they don't match, don't just set can_reuse_cached_cards to FALSE. we also need to invalidate the cache. svn path=/trunk/; revision=20780
* if we can complete solely from our cached cards, callChris Toshok2003-02-181-0/+8
| | | | | | | | | | | 2003-02-17 Chris Toshok <toshok@ximian.com> * gui/component/select-names/e-select-names-completion.c (e_select_names_completion_start_query): if we can complete solely from our cached cards, call e_completion_end_search from here when we're done. svn path=/trunk/; revision=19925
* gone. (match_initials): gone. (book_query_sexp): remove the primaryChris Toshok2003-02-101-47/+17
| | | | | | | | | | | | | | | | | | | | | | | 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
* lots of changes here. should be a big performance gain. god i hope this isChris Toshok2003-02-101-228/+104
| | | | | | | | | | 2003-02-09 Chris Toshok <toshok@ximian.com> * gui/component/select-names/e-select-names-completion.c: lots of changes here. should be a big performance gain. god i hope this is finally right. svn path=/trunk/; revision=19860
* [ fixes the non-ui portion of #36183 ] use the entry'sChris Toshok2003-01-021-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-01-01 Chris Toshok <toshok@ximian.com> [ fixes the non-ui portion of #36183 ] * gui/component/select-names/e-select-names-completion.c (e_select_names_completion_start_query): use the entry's minimum_query_length instead of a constant here. (e_select_names_completion_set_minimum_query_length): new function, set the entry's minimum_query_length. * gui/component/select-names/e-select-names-manager.c (e_select_names_manager_entry_new): set the minimum_query length after setting the completion books. (read_completion_settings_from_db): rename read_completion_books_from_db to this, and read the minimum_query_length too. (db_listener): rename uris_listener to this, and listen for changes on both the uris and minimum_query_length settings. * gui/component/select-names/e-select-names-completion.h: add prototype for e_select_names_completion_set_minimum_query_length. * gui/component/select-names/e-select-names-manager.h: add minimum_query_length to struct _ESelectNamesManager. svn path=/trunk/; revision=19199
* remove redundant setting of y2.Chris Toshok2002-11-271-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | 2002-11-26 Chris Toshok <toshok@ximian.com> * gui/widgets/e-minicard.c (e_minicard_reflow): remove redundant setting of y2. * gui/contact-list-editor/e-contact-list-editor.c (e_contact_list_editor_init): show the table. * gui/component/select-names/e-select-names-completion.c: remove an unnecessary #include. * gui/component/addressbook-storage.c (addressbook_storage_setup): use g_build_filename. * gui/component/addressbook-component.c (remove_folder): use g_build_filename. (add_creatable_item): same. (ensure_completion_uris_exist): same, and use the right gconf paths for completion uris. svn path=/trunk/; revision=18940
* parent class is GObjectClass.Chris Toshok2002-11-091-9/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-11-08 Chris Toshok <toshok@ximian.com> * gui/component/select-names/e-select-names-model.h: parent class is GObjectClass. * gui/component/select-names/e-simple-card-bonobo.c (impl_dispose): guard against multiple invocations, and chain dispose. * gui/component/select-names/e-select-names.c (e_select_names_dispose): guard against multiple invocations. * gui/component/select-names/e-select-names-text-model.c (e_select_names_text_model_dispose): guard against multiple invocations. (e_select_names_text_model_set_source): fix casts. * gui/component/select-names/e-select-names-table-model.c (e_select_names_table_model_add_source): remove the GTK_OBJECT cast, fixes a warning. (clear_info): guard against multiple invocations from ::dispose. * gui/component/select-names/e-select-names-manager.c (e_select_names_manager_dispose): same. * gui/component/select-names/e-select-names-completion.c (e_select_names_completion_dispose): same. * gui/component/select-names/e-select-names-bonobo.c (impl_dispose): guard against multiple invocations. svn path=/trunk/; revision=18681
* more porting work.Chris Toshok2002-11-081-28/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-11-07 Chris Toshok <toshok@ximian.com> * gui/component/select-names/e-select-names-bonobo.[ch]: more porting work. * gui/component/select-names/e-select-names-completion.[ch]: more porting work. * gui/component/select-names/e-select-names-manager.[ch]: more porting work. * gui/component/select-names/e-select-names-model.[ch]: more porting work. * gui/component/select-names/e-select-names-popup.c: more porting work. * gui/component/select-names/e-select-names-table-model.[ch]: more porting work. * gui/component/select-names/e-select-names-text-model.[ch]: more porting work. * gui/component/select-names/e-select-names.[ch]: more porting work. svn path=/trunk/; revision=18657
* Port to GObject/gnome2.Chris Toshok2002-11-061-32/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-11-05 Chris Toshok <toshok@ximian.com> * gui/component/select-names/e-simple-card-bonobo.[ch]: Port to GObject/gnome2. * gui/component/select-names/e-select-names.[ch]: Port to GObject/gnome2. * gui/component/select-names/e-select-names-text-model.c: Port to GObject/gnome2. * gui/component/select-names/e-select-names-table-model.c: Port to GObject/gnome2. * gui/component/select-names/e-select-names-popup.[ch]: Port to GObject/gnome2. * gui/component/select-names/e-select-names-model.c: Port to GObject/gnome2. * gui/component/select-names/e-select-names-manager.[ch]: Port to GObject/gnome2. * gui/component/select-names/e-select-names-factory.c: Port to GObject/gnome2. * gui/component/select-names/e-select-names-completion.[ch]: Port to GObject/gnome2. * gui/component/select-names/e-select-names-bonobo.[ch]: Port to GObject/gnome2. * gui/component/select-names/Makefile.am: typical port stuff. add marshaller generation foo, dist it, and switch the .oaf to .server * gui/component/select-names/.cvsignore: ignore the marshaller stuff. svn path=/trunk/; revision=18587
* [ Fixes #30483 ] argh, contains => beginswith.Chris Toshok2002-09-211-1/+1
| | | | | | | | | | 2002-09-20 Chris Toshok <toshok@ximian.com> [ Fixes #30483 ] * gui/component/select-names/e-select-names-completion.c (name_style_query): argh, contains => beginswith. svn path=/trunk/; revision=18150
* institute an arbitrary minimum limit on the number of characters before weChris Toshok2002-09-121-0/+6
| | | | | | | | | | | 2002-09-11 Chris Toshok <toshok@ximian.com> * gui/component/select-names/e-select-names-completion.c (e_select_names_completion_start_query): institute an arbitrary minimum limit on the number of characters before we actually try to autocomplete. It's 3, btw. svn path=/trunk/; revision=18053
* stop the EBookViews before unreffing.Mike Kestner2002-08-291-2/+8
| | | | | | | | | 2002-08-28 Mike Kestner <mkestner@ximian.com> * gui/component/select-names/e-select-names-completion.c : stop the EBookViews before unreffing. svn path=/trunk/; revision=17910
* [ fixes #28897 ] set book_data to NULL after clearing/freeing the list.Chris Toshok2002-08-281-0/+1
| | | | | | | | | | | 2002-08-28 Chris Toshok <toshok@ximian.com> [ fixes #28897 ] * gui/component/select-names/e-select-names-completion.c (e_select_names_completion_clear_book_data): set book_data to NULL after clearing/freeing the list. fixes a crash. svn path=/trunk/; revision=17887
* take and pass the CallStatus to our listener.Chris Toshok2002-08-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* e_book_get_book_view => e_book_get_completion_view, so the backends haveChris Toshok2002-07-111-3/+4
| | | | | | | | | | | 2002-07-10 Chris Toshok <toshok@ximian.com> * gui/component/select-names/e-select-names-completion.c (e_select_names_completion_start_query): e_book_get_book_view => e_book_get_completion_view, so the backends have the option of using a pregenerated summary. svn path=/trunk/; revision=17417
* Commented out this unused function.Christopher James Lahey2002-06-041-0/+2
| | | | | | | | | | | | | | | 2002-06-04 Christopher James Lahey <clahey@ximian.com> * gui/component/select-names/e-select-names-completion.c (e_select_names_completion_book_ready): Commented out this unused function. * gui/component/select-names/e-select-names-manager.c (open_book_cb): Ref if we're keeping the book. Don't unref if we're not keeping the book. (clean_cb): Commented out this unused function. svn path=/trunk/; revision=17105
* [ #24189 ] ifdef out the body of this because it only works with a singleChris Toshok2002-05-241-25/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* When we clean, don't clean the model's last element. This helps keepJon Trowbridge2001-12-281-10/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-12-27 Jon Trowbridge <trow@ximian.com> * gui/component/select-names/e-select-names.c (real_add_address_cb): When we clean, don't clean the model's last element. This helps keep things working properly when we have signal-character separators. (section_right_click_cb): Changed to work properly with our EText-emitted popup signal. (e_select_names_add_section): Use ETexts for the recipient sections, rather than tables. This lets us make them directly editable. (Bug #1721) * gui/component/select-names/e-select-names-popup.c (popup_info_new): Pass in a ESelectNamesTextModel, not a ESelectNamesModel. (e_select_names_popup): Adjust for the new signature for e_select_names_model_text_pos. * gui/component/select-names/e-select-names-manager.c (focus_out_cb): Schedule a cleaning when we focus out. (focus_in_cb): Cancel pending cleaning when we get focus. This helps us avoid bad things happening during the fast focus out/ins that happen when the completion dropdown appears. (completion_handler): Adjust for new signatures of e_select_names_model_text_pos and e_select_names_model_name_pos. (e_select_names_manager_entry_new): Pass in our ESelectNamesTextModel when constructing the ESelectNamesCompletion. (e_select_names_manager_entry_free): Cancel any pending clean-ups. * gui/component/select-names/e-select-names-bonobo.c (entry_get_property_fn): Get the text off of the text model. Which is the only way that really makes sense when you think about it. * gui/component/select-names/e-select-names-completion.c: Added a copy of the associated ESelectNamesTextModel to ESelectNamesCompletionPrivate. This replaces the ESelectNamesModel. (e_select_names_completion_destroy): Unref ->text_model. (e_select_names_completion_handle_request): Pass in our text model's separator info when calling e_select_names_model_text_pos. (e_select_names_completion_new): Pass in the text model as an arg instead of the model, and ref it as needed. * gui/component/select-names/e-select-names-text-model.c (e_select_names_text_model_init): Set separator as either ", " or ",", depending on the value of the EVOLUTION_DISABLE_MAGIC_COMMA environment variable. (e_select_names_text_model_destroy): Free the separator. (changed_cb): Flush our cached text on changed. (e_select_names_text_model_set_source): Use our own changed_cb callback on changed, rather than just connecting up e_text_model_changed. (e_select_names_text_model_set_separator): Added. Lets the separator between recipients be specified. (e_select_names_text_model_get_text): Cache the text we get from calling e_select_names_model_get_textification. (e_select_names_text_model_insert_length): A bunch of small changes to properly support generic separators, rather than (implicit and explicitly) assuming ", ". (e_select_names_text_model_delete): More small tweaks to handle generic separators. (e_select_names_text_model_get_nth_obj): Use new signature when calling e_select_names_model_name_pos, and use our cached text. * gui/component/select-names/e-select-names-model.c (e_select_names_model_destroy): We don't cache the text or addr_text anymore, so no need to free them here. (e_select_names_model_changed): ...and no need to reset our text and addr_text caches here. (e_select_names_model_get_textification): Take a separator as an arg, rather than just using ", ". Also, no caching. (e_select_names_model_get_address_text): Take a separator as an arg, rather than just using ", ". And no caching here either. (e_select_names_model_clean): Add arg that give us control over whether or not the last entry should get cleaned. We need this when using a one-character separator, so that new destinations that get tacked onto the end don't get immediately cleaned away for being empty. (e_select_names_model_name_pos): Take the separator length as an argument, remove implicit assumption of length 2. (e_select_names_model_text_pos): Take the separator length as an argument, remove implicit assumption of length 2.CVS: ---------------------------------------------------------------------- svn path=/trunk/; revision=15221
* Added 'cache_complete' flag to ESelectNamesCompletionPrivate.Jon Trowbridge2001-12-171-1/+9
| | | | | | | | | | | | | | | 2001-12-16 Jon Trowbridge <trow@ximian.com> * gui/component/select-names/e-select-names-completion.c: Added 'cache_complete' flag to ESelectNamesCompletionPrivate. (e_select_names_completion_seq_complete_cb): Set cache_complete to TRUE if our query wasn't interrupted. (e_select_names_completion_start_query): Set cache_complete to FALSE at the beginning of a potentially-cached query. (e_select_names_completion_do_query): Only reuse cached cards if cache_complete is TRUE. (Fixes bug #10241) svn path=/trunk/; revision=15096
* We were using book_data->book_view immediately after unrefing it.Jon Trowbridge2001-10-301-3/+8
| | | | | | | | | | | 2001-10-29 Jon Trowbridge <trow@ximian.com> * gui/component/select-names/e-select-names-completion.c (e_select_names_completion_destroy): We were using book_data->book_view immediately after unrefing it. Reordered the code a bit to avoid this. svn path=/trunk/; revision=14382
* Drop a match if either of the text fields is NULL. This could happen ifJon Trowbridge2001-10-301-0/+6
| | | | | | | | | | | 2001-10-29 Jon Trowbridge <trow@ximian.com> * gui/component/select-names/e-select-names-completion.c (make_match): Drop a match if either of the text fields is NULL. This could happen if any of the utf-8 involved is invalid, for example. (Bug #13757) svn path=/trunk/; revision=14365
* free up all the book_data list stuff.Chris Toshok2001-10-281-83/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-27 Chris Toshok <toshok@ximian.com> * gui/component/select-names/e-select-names-completion.c (e_select_names_completion_destroy): free up all the book_data list stuff. (e_select_names_completion_got_book_view_cb): deal with book_data being passed as the closure, and increment the pending_completion_seq counter. (e_select_names_completion_card_added_cb): deal with book_data being passwd as the closure. (e_select_names_completion_seq_complete_cb): same, and decrement the pending_completion_seq if we haven't gotten one for this book view before. (e_select_names_completion_stop_query): cancel all the book_data's. (e_select_names_completion_start_query): use the books_not_ready counter instead of book_ready. also, do e_book_get_book_view on each of the book's in our list. (e_select_names_completion_do_query): change to deal with our list. (e_select_names_completion_book_ready): decrement the book_not_ready counter. (e_select_names_completion_new): add the book we're created with to our list. (e_select_names_completion_add_book): implement. * gui/component/select-names/e-select-names-completion.h: add prototype for e_select_names_completion_add_book. * gui/component/select-names/e-select-names-manager.c (e_select_names_manager_new): use addressbook_config_data, and don't unref the db. (e_select_names_manager_create_entry): always add NULL for a book (which corresponds to the local book), and if the completion_book is present, add it to the list of books to complete again. svn path=/trunk/; revision=14270
* Doh! We should be sorting our contacts so that the most frequently usedJon Trowbridge2001-10-281-1/+4
| | | | | | | | | | | 2001-10-27 Jon Trowbridge <trow@ximian.com> * gui/component/select-names/e-select-names-completion.c (make_match): Doh! We should be sorting our contacts so that the most frequently used ones are at the top of the list, not the bottom. svn path=/trunk/; revision=14223
* Fixing the license text.Ettore Perazzoli2001-10-281-1/+0
| | | | svn path=/trunk/; revision=14211
* Update the licensing information to require version 2 of the GPLEttore Perazzoli2001-10-271-2/+2
| | | | | | explicitly. svn path=/trunk/; revision=14188
* Removed our cancelled flag and e_select_names_completion_cancel function,Jon Trowbridge2001-10-241-39/+58
| | | | | | | | | | | | | | | | | | | | | 2001-10-23 Jon Trowbridge <trow@ximian.com> * gui/component/select-names/e-select-names-completion.c: Removed our cancelled flag and e_select_names_completion_cancel function, since we were just duplicating stuff that had ended up in ECompletion. (match_name): Form our menu_text properly on an additional-name match. (e_select_names_completion_got_book_view_cb): Store handles for our signals, disconnect them properly when we switch book views. (e_select_names_completion_stop_query): Disconnect signals when we stop our query. (check_capabilities): Spew if we are using LDAP for completion. (e_select_names_completion_destroy): Disconnect our signals when we destroy. This all should fix bug #10241. svn path=/trunk/; revision=13961
* Fix memory leak.Jon Trowbridge2001-10-211-1/+4
| | | | | | | | | | | | | | | | | | 2001-10-20 Jon Trowbridge <trow@ximian.com> * gui/component/select-names/e-select-names-completion.c (name_style_query): Fix memory leak. * gui/widgets/e-addressbook-view.c (jump_to_letter): Free our string vector letter_v when we are done with it. * gui/contact-editor/e-contact-quick-add.c (edit_card): Unref our QuickAdd structure. * gui/component/e-address-popup.c (e_address_popup_construct): Unref our style after we are done with it. svn path=/trunk/; revision=13835
* Added. Check if our book is local or networked.Jon Trowbridge2001-10-191-0/+15
| | | | | | | | | | | | | | | | 2001-10-18 Jon Trowbridge <trow@ximian.com> * gui/component/select-names/e-select-names-completion.c (check_capabilities): Added. Check if our book is local or networked. (e_select_names_completion_book_ready): Call check_capabilities. (e_select_names_completion_new): Call check_capabilities. (e_select_names_completion_do_query): If we have a networked book, keep trying if we haven't been able to cache any cards --- our earlier attempts could have failed due to too many matches. (Bug #12932) svn path=/trunk/; revision=13762
* Strip out commas before forming our query. (match_name): UseJon Trowbridge2001-10-041-95/+37
| | | | | | | | | | | | | | | | | | | | | | 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
* Properly handle names when the individual elements (given, addition,Jon Trowbridge2001-09-271-12/+20
| | | | | | | | | | | | | | | | | | | | | | 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
* unref the destination regardless of whether we get an email addresss.Larry Ewing2001-09-181-2/+2
| | | | | | | | | | 2001-09-18 Larry Ewing <lewing@ximian.com> * gui/component/select-names/e-select-names-completion.c (book_query_process_card_list): unref the destination regardless of whether we get an email addresss. svn path=/trunk/; revision=12937
* use g_strfreev. (match_name): s/g_free/g_strfreev. (match_file_as):Larry Ewing2001-09-181-6/+3
| | | | | | | | | | | | | | | | | | | 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
* don't malloc a match we will never use.Larry Ewing2001-09-181-1/+1
| | | | | | | | | 2001-09-17 Larry Ewing <lewing@ximian.com> * gui/component/select-names/e-select-names-completion.c (match_nickname): don't malloc a match we will never use. svn path=/trunk/; revision=12935
* Fixed a stupid bug was causing completion to fail for contacts who haveJon Trowbridge2001-09-181-9/+9
| | | | | | | | | | | 2001-09-17 Jon Trowbridge <trow@ximian.com> * gui/component/select-names/e-select-names-completion.c (match_name): Fixed a stupid bug was causing completion to fail for contacts who have only one name. (The classic example we all know and love is 'George <jirka@5z.com>') (bug #8353) svn path=/trunk/; revision=12928
* printf arguments were reversed by mistake. Fixed bug #9693.Jon Trowbridge2001-09-131-1/+1
| | | | | | | | | 2001-09-12 Jon Trowbridge <trow@ximian.com> * gui/component/select-names/e-select-names-completion.c (match_email): printf arguments were reversed by mistake. Fixed bug #9693. svn path=/trunk/; revision=12779
* (Apologies if you are seeing this multiple times. CVS is being annoying.)Jon Trowbridge2001-09-091-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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=12710
* Make sure that comp->priv->query_text isn't NULL. (Fixes bug #8195)Jon Trowbridge2001-08-301-3/+8
| | | | | | | | | | 2001-08-29 Jon Trowbridge <trow@ximian.com> * gui/component/select-names/e-select-names-completion.c (book_query_score): Make sure that comp->priv->query_text isn't NULL. (Fixes bug #8195) svn path=/trunk/; revision=12524
* Added. Generated queries against file_as. (match_file_as): Added. MatchJon Trowbridge2001-08-281-2/+63
| | | | | | | | | | | 2001-08-27 Jon Trowbridge <trow@ximian.com> * gui/component/select-names/e-select-names-completion.c (sexp_file_as): Added. Generated queries against file_as. (match_file_as): Added. Match results of queries against file_as. (Bug #8152) svn path=/trunk/; revision=12494
* If we get the "sequence_complete" signal when we aren't searching, itJon Trowbridge2001-08-181-18/+25
| | | | | | | | | | | | | | | | | | 2001-08-17 Jon Trowbridge <trow@ximian.com> * gui/component/select-names/e-select-names-completion.c (e_select_names_completion_seq_complete_cb): If we get the "sequence_complete" signal when we aren't searching, it means the addressbook changed out from under us. Clear the search cache, so that future completion requests won't use the out-of-date cached data. Also, don't unref book_view... we leave the EBookView open so that we can catch these addressbook changes. (e_select_names_completion_do_query): Don't use the book_view being non-NULL as a sign that another query is still running. (e_select_names_completion_got_book_view_cb): Properly unref any previous value in book_view. svn path=/trunk/; revision=12184
* Renamed from _begin to match changes in gal 0.10.99.3.Jon Trowbridge2001-08-171-3/+3
| | | | | | | | | | 2001-08-16 Jon Trowbridge <trow@ximian.com> * gui/component/select-names/e-select-names-completion.c (e_select_names_completion_handle_request): Renamed from _begin to match changes in gal 0.10.99.3. svn path=/trunk/; revision=12117
* Boost scoring on an exact nickname match. Manually addressify match.Jon Trowbridge2001-08-161-47/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-08-16 Jon Trowbridge <trow@ximian.com> * gui/component/select-names/e-select-names-completion.c (match_nickname): Boost scoring on an exact nickname match. Manually addressify match. (match_name): Manually addressify matches. (book_query_score): Remove automatic addressification. * gui/component/addressbook.c (addressbook_query_changed): Minor tweak to avoid a crash if we have a negative subid with id ESB_CATEGORY. This should never happen. (addressbook_menu_activated): Reset the entry/option when we select "Clear". Some changes to reflect renaming in ESearchBar. * gui/component/select-names/e-select-names-bonobo.c (entry_set_property_fn): Cardify after importing destinations. This might fix a problem that Damon is having. 2001-08-16 Jon Trowbridge <trow@ximian.com> * e-filter-bar.c (option_changed): Adjusted for renamed ESearchBar functions. (menubar_activated): Adjusted for renamed ESearchBar functions. * e-search-bar.c: Renames some of the horrible function names: s/option_choice/item_id/, s/suboption_choice/subitem_id/. 2001-08-16 Jon Trowbridge <trow@ximian.com> * gui/cal-search-bar.c: Changed to reflect my renaming of some of the more hideously-named functions in the ESearchBar API. svn path=/trunk/; revision=12081
* Fixed warnings here.Christopher James Lahey2001-08-031-7/+0
| | | | | | | | | | | | 2001-08-03 Christopher James Lahey <clahey@ximian.com> * gui/component/addressbook.c (addressbook_factory_new_control): Fixed warnings here. * gui/component/select-names/e-select-names-completion.c (hash_cleanup_fn): Removed this unused function. svn path=/trunk/; revision=11613
* Add camel dependency.Jon Trowbridge2001-08-031-5/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Properly handle the case where our "cleaned" completion is the emptyJon Trowbridge2001-07-311-1/+8
| | | | | | | | | | | | | | | | | 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-9/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* CVS is unhappy this evening. My commit keeps dying in the middle.Jon Trowbridge2001-07-071-4/+23
| | | | svn path=/trunk/; revision=10883
* Make the standard for considering two cards to be match stricter.Jon Trowbridge2001-06-301-16/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Add a workaround for an EText bug. (e_select_names_completion_begin): FixDan Winship2001-06-121-3/+7
| | | | | | | | | | * gui/component/select-names/e-select-names-completion.c (search_override_check): Add a workaround for an EText bug. (e_select_names_completion_begin): Fix up the match scoring in the search_override case so the lines are offered in the correct order. svn path=/trunk/; revision=10194
* Removed unused email variable.Christopher James Lahey2001-06-091-1/+0
| | | | | | | | | 2001-06-09 Christopher James Lahey <clahey@ximian.com> * gui/component/select-names/e-select-names-completion.c (match_name): Removed unused email variable. svn path=/trunk/; revision=10173
* Change the completion handler to use the ECompletionMatch.Jon Trowbridge2001-06-061-153/+142
| | | | | | | | | | | | | | | | | | | | | 2001-06-05 Jon Trowbridge <trow@ximian.com> * gui/component/select-names/e-select-names-manager.c (completion_handler): Change the completion handler to use the ECompletionMatch. * gui/component/select-names/e-select-names-completion.c General changes to convert for ECompletionMatch use. (emailify_match): Use extra sort keys in ECompletionMatch to let us ensure that the primary email address is always the first option, the secondary comes second, etc. There was no nice way to do this previously. (match_name): Removed code that adjusted score based on similarities between the "real name" and the e-mail address. It seemed like a good idea at the time, but produced unexpected and confusing results. svn path=/trunk/; revision=10120
* Do a better job constructing match strings, so we never try to use aJon Trowbridge2001-05-191-6/+56
| | | | | | | | | | | | | 2001-05-18 Jon Trowbridge <trow@ximian.com> * gui/component/select-names/e-select-names-completion.c (match_name): Do a better job constructing match strings, so we never try to use a segment of the name that isn't there (resulting in ugly (null)'s in the string). Boost our score if some part of the name also matches the front part of the e-mail address, so the name match will always trump the e-mail match. svn path=/trunk/; revision=9882
* Return the serialized EDestinations (rather than just a string w/ e-mailJon Trowbridge2001-05-181-10/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Added.Jon Trowbridge2001-04-171-7/+33
| | | | | | | | | | | | | | | | | | | | | | | | 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 #include <libgnome/gnome-paper.h>Jon Trowbridge2001-03-301-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-301-2/+6
| | | | | | | | | 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
* Rather than starting the pending query by directly callingJon Trowbridge2001-03-251-8/+33
| | | | | | | | | | | | | 2001-03-25 Jon Trowbridge <trow@ximian.com> * gui/component/select-names/e-select-names-completion.c (e_select_names_completion_seq_complete_cb): Rather than starting the pending query by directly calling e_select_names_completion_do_query, call e_completion_begin_search. Circumventing the ECompletion API was causing it to get confused in some cases. svn path=/trunk/; revision=8922
* Brutally refactored to boost performance in large-addressbook situations.Jon Trowbridge2001-03-181-109/+238
| | | | | | | | | | | 2001-03-17 Jon Trowbridge <trow@ximian.com> * gui/component/select-names/e-select-names-completion.c: Brutally refactored to boost performance in large-addressbook situations. These fixes give accepable performance (even with the suboptimal pas-backend-file searching) using tigert's addressbook-of-death. svn path=/trunk/; revision=8793
* Switched to use e_contact_quick_add_free_form. Removed debugging code,Jon Trowbridge2001-03-091-4/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-08 Jon Trowbridge <trow@ximian.com> * gui/component/select-names/e-select-names-popup.c (quick_add_cb): Switched to use e_contact_quick_add_free_form. Removed debugging code, hopefully without introducing any bugs in the process. * gui/component/select-names/e-select-names-text-model.c (e_select_names_text_model_insert_length): Fix bug with commas inside of name/address combos. As long as the comma is inside of quotes, it will be treated as part of the name rather than as a break between addresses. * gui/component/select-names/e-select-names-completion.c (match_nickname): Use e_card_name_to_string for nickname match strings. (match_email): Use e_card_name_to_string for email match strings. (e_select_names_completion_begin): Strip quotes out of query text, so we don't produce malformed sexps. Added William Blake quote easter egg. * contact-editor/e-contact-quick-add.c: Further attempts to fix... mostly unsuccessful. (e_contact_quick_add_free_form): Added. Takes a single string and tries to parse out (using some simple, loose rules) the name and e-mail -- then calls e_contact_quick_add. An attempt to get the computer to automatically Do The Right Thing. * backend/ebook/e-book.c: Fixed some broken indentation. Yes, I'm anal. * gui/component/GNOME_Evolution_Addressbook.oafinfo: Added oaf_server info for EAddressWidget. * gui/component/GNOME_Evolution_Addressbook.oaf.in: Added oaf_server info for EAddressWidget. * gui/component/addressbook-factory.c (main): Add call to e_address_widget_factory_init. * gui/component/e-address-widget.h: * gui/component/e-address-widget.c: Added. A little widget (and a Bonobo control, BTW) for displaying addresses, with a left-click menu. Used to display addresses in the mail viewer (as embedded GtkHTML objects, replacing the text previously used). Still quite incomplete. 2001-03-08 Jon Trowbridge <trow@ximian.com> * mail-format.c (write_field_row_begin): Added. Table row HTML broken out into its own function. (write_subject): Added. Emits the proper HTML for the subject line. (write_field_to_stream): #ifdef-ed out of existence. (write_address): Take a CamelInternetAddress and spit out an <object> tag with the appropriate <param>s. * mail-display.c (on_object_requested): Check for an "address" object. If found, call... (handle_embedded_address_object): ...this function, which creates an AddressWidget bonobo control and passes in the necessary info. I never really realized just quite how much GtkHTML kicks ass until I figured out how to make this work. svn path=/trunk/; revision=8607
* Oops, we do need to be able to write to "text" after all (for things likeJon Trowbridge2001-03-021-3/+6
| | | | | | | | | | | | | | | | | | | | | | | 2001-03-01 Jon Trowbridge <trow@ximian.com> * gui/component/select-names/e-select-names-bonobo.c (entry_set_property_fn): Oops, we do need to be able to write to "text" after all (for things like Reply-to: to work properly). Fixed. (impl_SelectNames_get_entry_for_section): Made "text" a writeable property again. * gui/component/select-names/e-select-names-text-model.c (e_select_names_text_model_insert_length): Increment pos so that we don't reverse strings when length > 1 (a particularly amusing bug). * gui/component/select-names/e-select-names-completion.c (e_select_names_completion_destroy): Check for NULL before calling gtk_object_unref (GTK_OBJECT (---)), to get rid of annoying error messages. svn path=/trunk/; revision=8512
* I am an idiot.Jon Trowbridge2001-03-021-12/+22
| | | | | | | | | 2001-03-01 Jon Trowbridge <trow@ximian.com> * gui/component/select-names/e-select-names-completion.c: I am an idiot. svn path=/trunk/; revision=8464
* Change for new EDestination/ESelectNamesModel API.Jon Trowbridge2001-03-021-0/+831
2001-03-01 Jon Trowbridge <trow@ximian.com> * gui/component/select-names/e-select-names-table-model.c (fill_in_info): Change for new EDestination/ESelectNamesModel API. * gui/component/select-names/e-select-names-manager.c (e_select_names_manager_get_source): Added. A function for looking up the ESelectNamesModel by id. (I didn't end up using this function, but it might come in handy later.) (e_select_names_manager_get_cards): #if 0/#endif out this function. (e_select_names_manager_create_entry): Modified to attach an ESelectNamesCompletion to the entry we create. (completion_handler): A post-completion handler for our EEntry, to take the completion's extra data (an EDestination) and properly stick it into our ESelectNamesModel. * gui/component/select-names/e-select-names.c (real_add_address_cb): Changed to operate on EDestinations rather than ECards and to use the new ESelectNamesModel API. This leads to a rather nice code simplication. (remove_address): Changed for new ESelectNamesModel API. * gui/component/select-names/e-select-names-bonobo.c (entry_get_property_fn): Rather than just passing the entry's text through the property bag, get the "address text" from the model. This returns a nice, verbose string of addresses with names expanded when the address is tied to an ECard (i.e. "Jon Trowbridge <trow@ximian.com>"). (impl_SelectNames_get_entry_for_section): Make the text property read-only. (entry_set_property_fn): ...and since it is read-only now, chop out the setter code. * gui/component/select-names/e-select-names-text-model.h: * gui/component/select-names/e-select-names-text-model.c: Again, this code has been (pretty much) totally rewritten to convert all text operations into changes on the ESelectNamesModel. This lets us give the associated EEntry some (IMHO) nice semantics regarding whitespace, etc. Includes object activation, so destinations tied to ECards are underlined and can be double-clicked to bring up a contact editor. * gui/component/select-names/e-select-names-model.h: * gui/component/select-names/e-select-names-model.c: I've heavily modified this object to both hide all implementation details (which the old version exposed a bit too much for my peculiar tastes) and to act as an EDestination container. The old code put the text model operations here. I've moved them all to ESelectNamesTextModel --- so the text model actions (insert, delete, etc.) are all done through the API rather than operating on ESelectNamesModel internals. * gui/component/select-names/e-select-names-completion.c: Added. A fairly complicated object derived from ECompletion that searches our local addressbook in various and sundry ways. * gui/component/select-names/e-select-names-completion.h: * backend/ebook/e-destination.h: * backend/ebook/e-destination.c: Added. This object encapsulates a place to sent an email to, which can either be just a address as a string ("trow@ximian.com"), a fancier string ("Jon Trowbridge <trow@ximian.com>"), or an ECard and a specific address within that ECard. svn path=/trunk/; revision=8459