diff options
author | Jon Trowbridge <trow@ximian.com> | 2001-10-21 03:58:29 +0800 |
---|---|---|
committer | Jon Trowbridge <trow@src.gnome.org> | 2001-10-21 03:58:29 +0800 |
commit | 603c0228de30416b3c530a8d1eaeb6fa03dcba55 (patch) | |
tree | 670773e02c7c6ec19bc207e60c2de5705e5e5458 /addressbook/backend/ebook | |
parent | f9f86c3ee2ffdda05bcc06c997710e9af8218dbf (diff) | |
download | gsoc2013-evolution-603c0228de30416b3c530a8d1eaeb6fa03dcba55.tar.gz gsoc2013-evolution-603c0228de30416b3c530a8d1eaeb6fa03dcba55.tar.zst gsoc2013-evolution-603c0228de30416b3c530a8d1eaeb6fa03dcba55.zip |
Filter out empty destinations. (also Bug #13036)
2001-10-20 Jon Trowbridge <trow@ximian.com>
* backend/ebook/e-destination.c (e_destination_importv): Filter
out empty destinations. (also Bug #13036)
* printing/e-contact-print.c (e_contact_build_style): Use
gnome_font_new_closest; if gnome_font_new fails and returns NULL,
our spacing gets all messed up. (Bug #10785)
* gui/widgets/e-addressbook-view.c (e_addressbook_view_can_print):
Allow printing if there are any cards in our view. The selection
has nothing to do with it.
* backend/ebook/e-destination.c (e_destination_is_empty): Check
for strings that contain non-whitespace, rather than just looking
for a non-zero first character. (Bug #13036)
svn path=/trunk/; revision=13826
Diffstat (limited to 'addressbook/backend/ebook')
-rw-r--r-- | addressbook/backend/ebook/e-destination.c | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/addressbook/backend/ebook/e-destination.c b/addressbook/backend/ebook/e-destination.c index 155322fec2..ff674e41a6 100644 --- a/addressbook/backend/ebook/e-destination.c +++ b/addressbook/backend/ebook/e-destination.c @@ -314,6 +314,17 @@ e_destination_clear (EDestination *dest) e_destination_thaw (dest); } +static gboolean +nonempty (const gchar *s) +{ + while (s) { + if (! isspace ((gint) *s)) + return TRUE; + ++s; + } + return FALSE; +} + gboolean e_destination_is_empty (const EDestination *dest) { @@ -324,10 +335,10 @@ e_destination_is_empty (const EDestination *dest) return !(p->card != NULL || (p->book_uri && *p->book_uri) || (p->card_uid && *p->card_uid) - || (p->raw && *p->raw) - || (p->name && *p->name) - || (p->email && *p->email) - || (p->addr && *p->addr) + || (p->raw && nonempty (p->raw)) + || (p->name && nonempty (p->name)) + || (p->email && nonempty (p->email)) + || (p->addr && nonempty (p->addr)) || (p->list_dests != NULL)); } @@ -1539,7 +1550,7 @@ e_destination_importv (const gchar *str) EDestination *dest; dest = e_destination_new (); - if (e_destination_xml_decode (dest, node)) { + if (e_destination_xml_decode (dest, node) && !e_destination_is_empty (dest)) { g_ptr_array_add (dest_array, dest); } else { gtk_object_unref (GTK_OBJECT (dest)); |