diff options
author | Jon Trowbridge <trow@ximian.com> | 2001-03-09 07:15:20 +0800 |
---|---|---|
committer | Jon Trowbridge <trow@src.gnome.org> | 2001-03-09 07:15:20 +0800 |
commit | afe6fc18fc95f00efdbd3ea7f5ebd6c7fd64330d (patch) | |
tree | cce5d4763c2eda00558c1d6a0b38861417befc91 /addressbook/gui/component/select-names/e-select-names-text-model.c | |
parent | a9c279d8a69c93d00d0c8eb5c876f42e8a99682f (diff) | |
download | gsoc2013-evolution-afe6fc18fc95f00efdbd3ea7f5ebd6c7fd64330d.tar.gz gsoc2013-evolution-afe6fc18fc95f00efdbd3ea7f5ebd6c7fd64330d.tar.zst gsoc2013-evolution-afe6fc18fc95f00efdbd3ea7f5ebd6c7fd64330d.zip |
Switched to use e_contact_quick_add_free_form. Removed debugging code,
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
Diffstat (limited to 'addressbook/gui/component/select-names/e-select-names-text-model.c')
-rw-r--r-- | addressbook/gui/component/select-names/e-select-names-text-model.c | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/addressbook/gui/component/select-names/e-select-names-text-model.c b/addressbook/gui/component/select-names/e-select-names-text-model.c index d66112d2bc..0e4d5eeb32 100644 --- a/addressbook/gui/component/select-names/e-select-names-text-model.c +++ b/addressbook/gui/component/select-names/e-select-names-text-model.c @@ -125,7 +125,7 @@ dump_model (ESelectNamesTextModel *text_model) if (out == NULL) return; - + fprintf (out, "\n*** Model State: count=%d\n", e_select_names_model_count (model)); for (i=0; i<e_select_names_model_count (model); ++i) @@ -297,6 +297,7 @@ e_select_names_text_model_insert_length (ETextModel *model, gint pos, const gcha for (i = 0; i < length && text[i]; ++i) { gint index, start_pos, text_len; + gboolean inside_quote = FALSE; if (out) fprintf (out, "processing [%c]\n", text[i]); @@ -306,8 +307,26 @@ e_select_names_text_model_insert_length (ETextModel *model, gint pos, const gcha if (out) fprintf (out, "index=%d start_pos=%d text_len=%d\n", index, start_pos, text_len); + if (text[i] == ',' && index >= 0) { /* Is this a quoted or an unquoted comma we are dealing with? */ + const EDestination *dest = e_select_names_model_get_destination (source, index); + if (dest) { + const gchar *str = e_destination_get_string (dest); + gint j; + if (out) + fprintf (out, "str=%s pos=%d\n", str, pos); + for (j=0; j<pos-start_pos && str[j]; ++j) + if (str[j] == '"') { + inside_quote = !inside_quote; + if (out) + fprintf (out, "flip to %d at %d\n", start_pos+j, inside_quote); + } + } + if (out) + fprintf (out, inside_quote ? "inside quote\n" : "not inside quote\n"); + } + - if (text[i] == ',') { + if (text[i] == ',' && !inside_quote) { /* This is the case of hitting , first thing in an empty entry */ if (index == -1) { |