aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/backend/ebook/e-card-simple.c
diff options
context:
space:
mode:
authorChristopher James Lahey <clahey@ximian.com>2002-02-02 02:41:41 +0800
committerChris Lahey <clahey@src.gnome.org>2002-02-02 02:41:41 +0800
commit8555a05de522d9b185db2f2884b6806fe0d44cf6 (patch)
treeacf59f8a9501f4e994094d6b20c3688577791e8f /addressbook/backend/ebook/e-card-simple.c
parent3263cd26212cfeaa820882499ffad95f67937b40 (diff)
downloadgsoc2013-evolution-8555a05de522d9b185db2f2884b6806fe0d44cf6.tar
gsoc2013-evolution-8555a05de522d9b185db2f2884b6806fe0d44cf6.tar.gz
gsoc2013-evolution-8555a05de522d9b185db2f2884b6806fe0d44cf6.tar.bz2
gsoc2013-evolution-8555a05de522d9b185db2f2884b6806fe0d44cf6.tar.lz
gsoc2013-evolution-8555a05de522d9b185db2f2884b6806fe0d44cf6.tar.xz
gsoc2013-evolution-8555a05de522d9b185db2f2884b6806fe0d44cf6.tar.zst
gsoc2013-evolution-8555a05de522d9b185db2f2884b6806fe0d44cf6.zip
Made this preserve addressbook flags other than the first three.
2002-02-01 Christopher James Lahey <clahey@ximian.com> * 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
Diffstat (limited to 'addressbook/backend/ebook/e-card-simple.c')
-rw-r--r--addressbook/backend/ebook/e-card-simple.c12
1 files changed, 8 insertions, 4 deletions
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;