diff options
author | Christopher James Lahey <clahey@ximian.com> | 2001-06-27 08:22:02 +0800 |
---|---|---|
committer | Chris Lahey <clahey@src.gnome.org> | 2001-06-27 08:22:02 +0800 |
commit | 7728e7dbd26fd0140cf493a190c424105902fd7c (patch) | |
tree | 14aca4dc5c002bc13158e267c5442af04f03696a /addressbook/backend | |
parent | abec8da1928f0fb1d20adcd532eeed038b97b71b (diff) | |
download | gsoc2013-evolution-7728e7dbd26fd0140cf493a190c424105902fd7c.tar gsoc2013-evolution-7728e7dbd26fd0140cf493a190c424105902fd7c.tar.gz gsoc2013-evolution-7728e7dbd26fd0140cf493a190c424105902fd7c.tar.bz2 gsoc2013-evolution-7728e7dbd26fd0140cf493a190c424105902fd7c.tar.lz gsoc2013-evolution-7728e7dbd26fd0140cf493a190c424105902fd7c.tar.xz gsoc2013-evolution-7728e7dbd26fd0140cf493a190c424105902fd7c.tar.zst gsoc2013-evolution-7728e7dbd26fd0140cf493a190c424105902fd7c.zip |
Added category searching to the file backend.
2001-06-26 Christopher James Lahey <clahey@ximian.com>
* backend/pas/pas-backend-file.c (compare_category): Added
category searching to the file backend.
* gui/component/addressbook.c (addressbook_query_changed): Added
category searching to the search bar.
svn path=/trunk/; revision=10520
Diffstat (limited to 'addressbook/backend')
-rw-r--r-- | addressbook/backend/pas/pas-backend-file.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/addressbook/backend/pas/pas-backend-file.c b/addressbook/backend/pas/pas-backend-file.c index a3f708ce79..e9086aa1ff 100644 --- a/addressbook/backend/pas/pas-backend-file.c +++ b/addressbook/backend/pas/pas-backend-file.c @@ -268,6 +268,30 @@ compare_address (ECardSimple *card, const char *str, return FALSE; } +static gboolean +compare_category (ECardSimple *card, const char *str, + char *(*compare)(const char*, const char*)) +{ + EList *categories; + EIterator *iterator; + ECard *ecard; + gtk_object_get (GTK_OBJECT (card), + "card", &ecard, + NULL); + gtk_object_get (GTK_OBJECT (ecard), + "category_list", &categories, + NULL); + + for (iterator = e_list_get_iterator(categories); e_iterator_is_valid (iterator); e_iterator_next (iterator)) { + const char *category = e_iterator_get (iterator); + + if (compare(category, str)) + return TRUE; + } + + return FALSE; +} + static struct prop_info { ECardSimpleField field_id; const char *query_prop; @@ -304,6 +328,7 @@ static struct prop_info { LIST_PROP ( "email", "email", compare_email ), LIST_PROP ( "phone", "phone", compare_phone ), LIST_PROP ( "address", "address", compare_address ), + LIST_PROP ( "category", "category", compare_category ), }; static int num_prop_infos = sizeof(prop_info_table) / sizeof(prop_info_table[0]); |