aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/backend/ebook/e-card-compare.h
diff options
context:
space:
mode:
authorJon Trowbridge <trow@gnu.org>2001-10-04 04:01:07 +0800
committerJon Trowbridge <trow@src.gnome.org>2001-10-04 04:01:07 +0800
commitdacd8610cbafea08b020e87ce793e9236ac2bdbd (patch)
tree062775ea7750f6c85c6f21de5dcdc5900fec1235 /addressbook/backend/ebook/e-card-compare.h
parent819455addbc6b470ac15d063b9bfbea6eb8f32a5 (diff)
downloadgsoc2013-evolution-dacd8610cbafea08b020e87ce793e9236ac2bdbd.tar
gsoc2013-evolution-dacd8610cbafea08b020e87ce793e9236ac2bdbd.tar.gz
gsoc2013-evolution-dacd8610cbafea08b020e87ce793e9236ac2bdbd.tar.bz2
gsoc2013-evolution-dacd8610cbafea08b020e87ce793e9236ac2bdbd.tar.lz
gsoc2013-evolution-dacd8610cbafea08b020e87ce793e9236ac2bdbd.tar.xz
gsoc2013-evolution-dacd8610cbafea08b020e87ce793e9236ac2bdbd.tar.zst
gsoc2013-evolution-dacd8610cbafea08b020e87ce793e9236ac2bdbd.zip
Strip out commas before forming our query. (match_name): Use
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
Diffstat (limited to 'addressbook/backend/ebook/e-card-compare.h')
-rw-r--r--addressbook/backend/ebook/e-card-compare.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/addressbook/backend/ebook/e-card-compare.h b/addressbook/backend/ebook/e-card-compare.h
index 56d7b6e1f5..355dc814a9 100644
--- a/addressbook/backend/ebook/e-card-compare.h
+++ b/addressbook/backend/ebook/e-card-compare.h
@@ -39,9 +39,22 @@ typedef enum {
E_CARD_MATCH_EXACT = 4
} ECardMatchType;
+typedef enum {
+ E_CARD_MATCH_PART_NOT_APPLICABLE = -1,
+ E_CARD_MATCH_PART_NONE = 0,
+ E_CARD_MATCH_PART_GIVEN_NAME = 1<<0,
+ E_CARD_MATCH_PART_ADDITIONAL_NAME = 1<<2,
+ E_CARD_MATCH_PART_FAMILY_NAME = 1<<3
+} ECardMatchPart;
+
typedef void (*ECardMatchQueryCallback) (ECard *card, ECard *match, ECardMatchType type, gpointer closure);
-ECardMatchType e_card_compare_name_to_string (ECard *card, const gchar *str);
+ECardMatchType e_card_compare_name_to_string (ECard *card, const gchar *str);
+
+ECardMatchType e_card_compare_name_to_string_full (ECard *card, const gchar *str,
+ gboolean allow_partial_matches,
+ gint *matched_parts, ECardMatchPart *first_matched_part,
+ gint *matched_character_count);
ECardMatchType e_card_compare_name (ECard *card1, ECard *card2);
ECardMatchType e_card_compare_nickname (ECard *card1, ECard *card2);