From 8555a05de522d9b185db2f2884b6806fe0d44cf6 Mon Sep 17 00:00:00 2001 From: Christopher James Lahey Date: Fri, 1 Feb 2002 18:41:41 +0000 Subject: Made this preserve addressbook flags other than the first three. 2002-02-01 Christopher James Lahey * backend/ebook/e-card-simple.c (e_card_simple_sync_card): Made this preserve addressbook flags other than the first three. * backend/ebook/e-card-types.h: Added E_CARD_ADDR_MASK and E_CARD_ADDR_DEFAULT. * backend/ebook/e-card.c (get_address_flags): Added "PREF" to E_CARD_ADDR_DEFAULT mapping. * backend/ebook/test-client.c: Added #include "e-book-util.h". svn path=/trunk/; revision=15546 --- addressbook/backend/ebook/e-card-simple.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'addressbook/backend/ebook/e-card-simple.c') diff --git a/addressbook/backend/ebook/e-card-simple.c b/addressbook/backend/ebook/e-card-simple.c index 0af55bc8d9..fffb80443d 100644 --- a/addressbook/backend/ebook/e-card-simple.c +++ b/addressbook/backend/ebook/e-card-simple.c @@ -625,7 +625,8 @@ e_card_simple_sync_card(ECardSimple *simple) for (i = 0; i < E_CARD_SIMPLE_ADDRESS_ID_LAST; i ++) { if ((address->flags & addr_correspondences[i]) == addr_correspondences[i]) { if (simple->address[i]) { - simple->address[i]->flags = addr_correspondences[i]; + simple->address[i]->flags &= ~E_CARD_ADDR_MASK; + simple->address[i]->flags |= addr_correspondences[i]; if (simple->address[i]->data && *simple->address[i]->data) { e_iterator_set(iterator, simple->address[i]); } else { @@ -641,7 +642,8 @@ e_card_simple_sync_card(ECardSimple *simple) gtk_object_unref(GTK_OBJECT(iterator)); for (i = 0; i < E_CARD_SIMPLE_ADDRESS_ID_LAST; i ++) { if (simple->address[i]) { - simple->address[i]->flags = addr_correspondences[i]; + simple->address[i]->flags &= ~E_CARD_ADDR_MASK; + simple->address[i]->flags |= addr_correspondences[i]; e_list_append(address_list, simple->address[i]); e_card_address_label_unref(simple->address[i]); simple->address[i] = NULL; @@ -654,7 +656,8 @@ e_card_simple_sync_card(ECardSimple *simple) for (i = 0; i < E_CARD_SIMPLE_ADDRESS_ID_LAST; i ++) { if ((delivery->flags & addr_correspondences[i]) == addr_correspondences[i]) { if (simple->delivery[i]) { - simple->delivery[i]->flags = addr_correspondences[i]; + simple->delivery[i]->flags &= ~E_CARD_ADDR_MASK; + simple->delivery[i]->flags |= addr_correspondences[i]; if (!e_card_delivery_address_is_empty(simple->delivery[i])) { e_iterator_set(iterator, simple->delivery[i]); } else { @@ -670,7 +673,8 @@ e_card_simple_sync_card(ECardSimple *simple) gtk_object_unref(GTK_OBJECT(iterator)); for (i = 0; i < E_CARD_SIMPLE_ADDRESS_ID_LAST; i ++) { if (simple->delivery[i]) { - simple->delivery[i]->flags = addr_correspondences[i]; + simple->delivery[i]->flags &= ~E_CARD_ADDR_MASK; + simple->delivery[i]->flags |= addr_correspondences[i]; e_list_append(delivery_list, simple->delivery[i]); e_card_delivery_address_unref(simple->delivery[i]); simple->delivery[i] = NULL; -- cgit v1.2.3