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
This commit is contained in:
Christopher James Lahey
2002-02-01 18:41:41 +00:00
committed by Chris Lahey
parent 3263cd2621
commit 8555a05de5
5 changed files with 99 additions and 1637 deletions

View File

@ -1,3 +1,16 @@
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".
2002-01-30 Chris Toshok <toshok@ximian.com> 2002-01-30 Chris Toshok <toshok@ximian.com>
* backend/pas/pas-backend-file.c (pas_backend_file_changes): * backend/pas/pas-backend-file.c (pas_backend_file_changes):

View File

@ -625,7 +625,8 @@ e_card_simple_sync_card(ECardSimple *simple)
for (i = 0; i < E_CARD_SIMPLE_ADDRESS_ID_LAST; i ++) { for (i = 0; i < E_CARD_SIMPLE_ADDRESS_ID_LAST; i ++) {
if ((address->flags & addr_correspondences[i]) == addr_correspondences[i]) { if ((address->flags & addr_correspondences[i]) == addr_correspondences[i]) {
if (simple->address[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) { if (simple->address[i]->data && *simple->address[i]->data) {
e_iterator_set(iterator, simple->address[i]); e_iterator_set(iterator, simple->address[i]);
} else { } else {
@ -641,7 +642,8 @@ e_card_simple_sync_card(ECardSimple *simple)
gtk_object_unref(GTK_OBJECT(iterator)); gtk_object_unref(GTK_OBJECT(iterator));
for (i = 0; i < E_CARD_SIMPLE_ADDRESS_ID_LAST; i ++) { for (i = 0; i < E_CARD_SIMPLE_ADDRESS_ID_LAST; i ++) {
if (simple->address[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_list_append(address_list, simple->address[i]);
e_card_address_label_unref(simple->address[i]); e_card_address_label_unref(simple->address[i]);
simple->address[i] = NULL; 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 ++) { for (i = 0; i < E_CARD_SIMPLE_ADDRESS_ID_LAST; i ++) {
if ((delivery->flags & addr_correspondences[i]) == addr_correspondences[i]) { if ((delivery->flags & addr_correspondences[i]) == addr_correspondences[i]) {
if (simple->delivery[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])) { if (!e_card_delivery_address_is_empty(simple->delivery[i])) {
e_iterator_set(iterator, simple->delivery[i]); e_iterator_set(iterator, simple->delivery[i]);
} else { } else {
@ -670,7 +673,8 @@ e_card_simple_sync_card(ECardSimple *simple)
gtk_object_unref(GTK_OBJECT(iterator)); gtk_object_unref(GTK_OBJECT(iterator));
for (i = 0; i < E_CARD_SIMPLE_ADDRESS_ID_LAST; i ++) { for (i = 0; i < E_CARD_SIMPLE_ADDRESS_ID_LAST; i ++) {
if (simple->delivery[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_list_append(delivery_list, simple->delivery[i]);
e_card_delivery_address_unref(simple->delivery[i]); e_card_delivery_address_unref(simple->delivery[i]);
simple->delivery[i] = NULL; simple->delivery[i] = NULL;

View File

@ -60,12 +60,14 @@ typedef struct {
/* DELIVERY ADDRESSING PROPERTIES */ /* DELIVERY ADDRESSING PROPERTIES */
typedef enum { typedef enum {
E_CARD_ADDR_HOME = 1 << 0, E_CARD_ADDR_HOME = 1 << 0,
E_CARD_ADDR_WORK = 1 << 1, E_CARD_ADDR_WORK = 1 << 1,
E_CARD_ADDR_POSTAL = 1 << 2, E_CARD_ADDR_POSTAL = 1 << 2,
E_CARD_ADDR_PARCEL = 1 << 3, E_CARD_ADDR_MASK = 7,
E_CARD_ADDR_DOM = 1 << 4, E_CARD_ADDR_PARCEL = 1 << 3,
E_CARD_ADDR_INTL = 1 << 5 E_CARD_ADDR_DOM = 1 << 4,
E_CARD_ADDR_INTL = 1 << 5,
E_CARD_ADDR_DEFAULT = 1 << 6
} ECardAddressFlags; } ECardAddressFlags;
typedef struct { typedef struct {

File diff suppressed because it is too large Load Diff

View File

@ -9,6 +9,7 @@
#include <liboaf/liboaf.h> #include <liboaf/liboaf.h>
#include "e-book.h" #include "e-book.h"
#include "e-book-util.h"
#define TEST_VCARD \ #define TEST_VCARD \
"BEGIN:VCARD "BEGIN:VCARD