aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/gui/component/select-names/e-select-names-completion.c
Commit message (Collapse)AuthorAgeFilesLines
* This commit was manufactured by cvs2svn to create tag 'GAL_0_8'.GAL_0_8nobody2001-05-191-1153/+0
| | | | svn path=/tags/GAL_0_8/; revision=9892
* 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