aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook
diff options
context:
space:
mode:
Diffstat (limited to 'addressbook')
-rw-r--r--addressbook/ChangeLog29
-rw-r--r--addressbook/conduit/address-conduit.c33
-rw-r--r--addressbook/gui/widgets/eab-contact-display.c28
-rw-r--r--addressbook/tools/evolution-addressbook-export-list-cards.c181
4 files changed, 145 insertions, 126 deletions
diff --git a/addressbook/ChangeLog b/addressbook/ChangeLog
index 2ca19f74ff..46f6de9bd2 100644
--- a/addressbook/ChangeLog
+++ b/addressbook/ChangeLog
@@ -1,3 +1,32 @@
+2008-10-17 Milan Crha <mcrha@redhat.com>
+
+ ** Fix for bug #511918
+
+ * tools/evolution-addressbook-export-list-cards.c:
+ (struct _EContactCSVFieldData), (csv_field_data[]),
+ (e_contact_csv_get_data_type), (e_contact_csv_get):
+ Use TRUE/FALSE texts for boolean values and do not
+ free returned value for them, otherwise it crashes.
+
+2008-10-14 Sankar P <psankar@novell.com>
+
+License Changes
+
+ * conduit/address-conduit.c:
+
+2008-10-09 Matthew Barnes <mbarnes@redhat.com>
+
+ ** Fixes part of bug #555494
+
+ * gui/widgets/e-addressbook-view.c (generate_viewoption_menu):
+ Category icons are not themed. Load by file, not by icon name.
+
+2008-10-03 Sankar P <psankar@novell.com>
+
+License Changes
+
+ * gui/widgets/eab-contact-display.c:
+
2008-10-01 Sankar P <psankar@novell.com>
License Changes
diff --git a/addressbook/conduit/address-conduit.c b/addressbook/conduit/address-conduit.c
index 3a370fa060..be9b6be368 100644
--- a/addressbook/conduit/address-conduit.c
+++ b/addressbook/conduit/address-conduit.c
@@ -1,27 +1,28 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* Evolution addressbook - Address Conduit
- *
- * Copyright (C) 1998 Free Software Foundation
- * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
- *
- * Authors: Eskil Heyn Olsen <deity@eskil.dk>
- * JP Rosevear <jpr@ximian.com>
+/*
+ * Evolution addressbook - Address Conduit
*
* This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with the program; if not, see <http://www.gnu.org/licenses/>
+ *
+ *
+ * Authors:
+ * Eskil Heyn Olsen <deity@eskil.dk>
+ * JP Rosevear <jpr@ximian.com>
+ *
+ * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
diff --git a/addressbook/gui/widgets/eab-contact-display.c b/addressbook/gui/widgets/eab-contact-display.c
index 5e1dc2d62a..1cbe322a96 100644
--- a/addressbook/gui/widgets/eab-contact-display.c
+++ b/addressbook/gui/widgets/eab-contact-display.c
@@ -1,22 +1,22 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/*
- * Authors: Chris Toshok <toshok@ximian.com>
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) version 3.
*
- * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with the program; if not, see <http://www.gnu.org/licenses/>
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * Authors:
+ * Chris Toshok <toshok@ximian.com>
+ *
+ * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
*
*/
diff --git a/addressbook/tools/evolution-addressbook-export-list-cards.c b/addressbook/tools/evolution-addressbook-export-list-cards.c
index 285f1dc9bc..4b98bc77ac 100644
--- a/addressbook/tools/evolution-addressbook-export-list-cards.c
+++ b/addressbook/tools/evolution-addressbook-export-list-cards.c
@@ -139,115 +139,96 @@ enum _EContactFieldCSV
E_CONTACT_CSV_LAST
};
+typedef enum {
+ DT_STRING,
+ DT_BOOLEAN
+} EContactCSVDataType;
+
struct _EContactCSVFieldData
{
gint csv_field;
gint contact_field;
gchar *csv_name;
+ EContactCSVDataType data_type;
};
#define NOMAP -1
static EContactCSVFieldData csv_field_data[] = {
- {E_CONTACT_CSV_FILE_AS, E_CONTACT_FILE_AS, ""},
- {E_CONTACT_CSV_FULL_NAME, E_CONTACT_CSV_FULL_NAME, ""},
- {E_CONTACT_CSV_EMAIL_1, E_CONTACT_EMAIL_1, ""},
- {E_CONTACT_CSV_EMAIL_2, E_CONTACT_EMAIL_2, ""},
- {E_CONTACT_CSV_EMAIL_3, E_CONTACT_EMAIL_3, ""},
- {E_CONTACT_CSV_EMAIL_4, E_CONTACT_EMAIL_4, ""},
- {E_CONTACT_CSV_PHONE_PRIMARY, E_CONTACT_PHONE_PRIMARY,
- ""},
- {E_CONTACT_CSV_PHONE_ASSISTANT,
- E_CONTACT_PHONE_ASSISTANT, ""},
- {E_CONTACT_CSV_PHONE_BUSINESS,
- E_CONTACT_PHONE_BUSINESS, ""},
- {E_CONTACT_CSV_PHONE_CALLBACK,
- E_CONTACT_PHONE_CALLBACK, ""},
- {E_CONTACT_CSV_PHONE_COMPANY, E_CONTACT_PHONE_COMPANY,
- ""},
- {E_CONTACT_CSV_PHONE_HOME, E_CONTACT_PHONE_HOME, ""},
- {E_CONTACT_CSV_ORG, E_CONTACT_ORG, ""},
+ {E_CONTACT_CSV_FILE_AS, E_CONTACT_FILE_AS, "", DT_STRING},
+ {E_CONTACT_CSV_FULL_NAME, E_CONTACT_CSV_FULL_NAME, "", DT_STRING},
+ {E_CONTACT_CSV_EMAIL_1, E_CONTACT_EMAIL_1, "", DT_STRING},
+ {E_CONTACT_CSV_EMAIL_2, E_CONTACT_EMAIL_2, "", DT_STRING},
+ {E_CONTACT_CSV_EMAIL_3, E_CONTACT_EMAIL_3, "", DT_STRING},
+ {E_CONTACT_CSV_EMAIL_4, E_CONTACT_EMAIL_4, "", DT_STRING},
+ {E_CONTACT_CSV_PHONE_PRIMARY, E_CONTACT_PHONE_PRIMARY, "", DT_STRING},
+ {E_CONTACT_CSV_PHONE_ASSISTANT, E_CONTACT_PHONE_ASSISTANT, "", DT_STRING},
+ {E_CONTACT_CSV_PHONE_BUSINESS, E_CONTACT_PHONE_BUSINESS, "", DT_STRING},
+ {E_CONTACT_CSV_PHONE_CALLBACK, E_CONTACT_PHONE_CALLBACK, "", DT_STRING},
+ {E_CONTACT_CSV_PHONE_COMPANY, E_CONTACT_PHONE_COMPANY, "", DT_STRING},
+ {E_CONTACT_CSV_PHONE_HOME, E_CONTACT_PHONE_HOME, "", DT_STRING},
+ {E_CONTACT_CSV_ORG, E_CONTACT_ORG, "", DT_STRING},
/*E_CONTACT_CSV_ADDRESS_BUSINESS, */
- {E_CONTACT_CSV_ADDRESS_BUSINESS_STREET, NOMAP,
- "Business Address"},
- {E_CONTACT_CSV_ADDRESS_BUSINESS_EXT, NOMAP,
- "Business Address2"},
- {E_CONTACT_CSV_ADDRESS_BUSINESS_CITY, NOMAP,
- "Business Address City"},
- {E_CONTACT_CSV_ADDRESS_BUSINESS_REGION, NOMAP,
- "Business Address State"},
- {E_CONTACT_CSV_ADDRESS_BUSINESS_POSTCODE, NOMAP,
- "Business Address PostCode"},
- {E_CONTACT_CSV_ADDRESS_BUSINESS_COUNTRY, NOMAP,
- "Business Address Country"},
+ {E_CONTACT_CSV_ADDRESS_BUSINESS_STREET, NOMAP, "Business Address", DT_STRING},
+ {E_CONTACT_CSV_ADDRESS_BUSINESS_EXT, NOMAP, "Business Address2", DT_STRING},
+ {E_CONTACT_CSV_ADDRESS_BUSINESS_CITY, NOMAP, "Business Address City", DT_STRING},
+ {E_CONTACT_CSV_ADDRESS_BUSINESS_REGION, NOMAP, "Business Address State", DT_STRING},
+ {E_CONTACT_CSV_ADDRESS_BUSINESS_POSTCODE, NOMAP, "Business Address PostCode", DT_STRING},
+ {E_CONTACT_CSV_ADDRESS_BUSINESS_COUNTRY, NOMAP, "Business Address Country", DT_STRING},
/*E_CONTACT_CSV_ADDRESS_HOME, */
- {E_CONTACT_CSV_ADDRESS_HOME_STREET, NOMAP, "Home Address"},
- {E_CONTACT_CSV_ADDRESS_HOME_EXT, NOMAP, "Home Address2"},
- {E_CONTACT_CSV_ADDRESS_HOME_CITY, NOMAP, "Home Address City"},
- {E_CONTACT_CSV_ADDRESS_HOME_REGION, NOMAP,
- "Home Address State"},
- {E_CONTACT_CSV_ADDRESS_HOME_POSTCODE, NOMAP,
- "Home Address PostCode"},
- {E_CONTACT_CSV_ADDRESS_HOME_COUNTRY, NOMAP,
- "Home Address Country"},
- {E_CONTACT_CSV_PHONE_MOBILE, E_CONTACT_PHONE_MOBILE,
- ""},
- {E_CONTACT_CSV_PHONE_CAR, E_CONTACT_PHONE_CAR, ""},
- {E_CONTACT_CSV_PHONE_BUSINESS_FAX,
- E_CONTACT_PHONE_BUSINESS_FAX, ""},
- {E_CONTACT_CSV_PHONE_HOME_FAX,
- E_CONTACT_PHONE_HOME_FAX, ""},
- {E_CONTACT_CSV_PHONE_BUSINESS_2,
- E_CONTACT_PHONE_BUSINESS_2, ""},
- {E_CONTACT_CSV_PHONE_HOME_2, E_CONTACT_PHONE_HOME_2,
- ""},
- {E_CONTACT_CSV_PHONE_ISDN, E_CONTACT_PHONE_ISDN, ""},
- {E_CONTACT_CSV_PHONE_OTHER, E_CONTACT_PHONE_OTHER, ""},
- {E_CONTACT_CSV_PHONE_OTHER_FAX,
- E_CONTACT_PHONE_OTHER_FAX, ""},
- {E_CONTACT_CSV_PHONE_PAGER, E_CONTACT_PHONE_PAGER, ""},
- {E_CONTACT_CSV_PHONE_RADIO, E_CONTACT_PHONE_RADIO, ""},
- {E_CONTACT_CSV_PHONE_TELEX, E_CONTACT_PHONE_TELEX, ""},
- {E_CONTACT_CSV_PHONE_TTYTDD, E_CONTACT_PHONE_TTYTDD,
- ""},
+ {E_CONTACT_CSV_ADDRESS_HOME_STREET, NOMAP, "Home Address", DT_STRING},
+ {E_CONTACT_CSV_ADDRESS_HOME_EXT, NOMAP, "Home Address2", DT_STRING},
+ {E_CONTACT_CSV_ADDRESS_HOME_CITY, NOMAP, "Home Address City", DT_STRING},
+ {E_CONTACT_CSV_ADDRESS_HOME_REGION, NOMAP, "Home Address State", DT_STRING},
+ {E_CONTACT_CSV_ADDRESS_HOME_POSTCODE, NOMAP, "Home Address PostCode", DT_STRING},
+ {E_CONTACT_CSV_ADDRESS_HOME_COUNTRY, NOMAP, "Home Address Country", DT_STRING},
+ {E_CONTACT_CSV_PHONE_MOBILE, E_CONTACT_PHONE_MOBILE, "", DT_STRING},
+ {E_CONTACT_CSV_PHONE_CAR, E_CONTACT_PHONE_CAR, "", DT_STRING},
+ {E_CONTACT_CSV_PHONE_BUSINESS_FAX, E_CONTACT_PHONE_BUSINESS_FAX, "", DT_STRING},
+ {E_CONTACT_CSV_PHONE_HOME_FAX, E_CONTACT_PHONE_HOME_FAX, "", DT_STRING},
+ {E_CONTACT_CSV_PHONE_BUSINESS_2, E_CONTACT_PHONE_BUSINESS_2, "", DT_STRING},
+ {E_CONTACT_CSV_PHONE_HOME_2, E_CONTACT_PHONE_HOME_2, "", DT_STRING},
+ {E_CONTACT_CSV_PHONE_ISDN, E_CONTACT_PHONE_ISDN, "", DT_STRING},
+ {E_CONTACT_CSV_PHONE_OTHER, E_CONTACT_PHONE_OTHER, "", DT_STRING},
+ {E_CONTACT_CSV_PHONE_OTHER_FAX, E_CONTACT_PHONE_OTHER_FAX, "", DT_STRING},
+ {E_CONTACT_CSV_PHONE_PAGER, E_CONTACT_PHONE_PAGER, "", DT_STRING},
+ {E_CONTACT_CSV_PHONE_RADIO, E_CONTACT_PHONE_RADIO, "", DT_STRING},
+ {E_CONTACT_CSV_PHONE_TELEX, E_CONTACT_PHONE_TELEX, "", DT_STRING},
+ {E_CONTACT_CSV_PHONE_TTYTDD, E_CONTACT_PHONE_TTYTDD, "", DT_STRING},
/*E_CONTACT_CSV_ADDRESS_OTHER, */
- {E_CONTACT_CSV_ADDRESS_OTHER_STREET, NOMAP, "Other Address"},
- {E_CONTACT_CSV_ADDRESS_OTHER_EXT, NOMAP, "Other Address2"},
- {E_CONTACT_CSV_ADDRESS_OTHER_CITY, NOMAP,
- "Other Address City"},
- {E_CONTACT_CSV_ADDRESS_OTHER_REGION, NOMAP,
- "Other Address State"},
- {E_CONTACT_CSV_ADDRESS_OTHER_POSTCODE, NOMAP,
- "Other Address PostCode"},
- {E_CONTACT_CSV_ADDRESS_OTHER_COUNTRY, NOMAP,
- "Other Address Country"},
- {E_CONTACT_CSV_HOMEPAGE_URL, E_CONTACT_HOMEPAGE_URL, ""},
- {E_CONTACT_CSV_ORG_UNIT, E_CONTACT_ORG_UNIT, ""},
- {E_CONTACT_CSV_OFFICE, E_CONTACT_OFFICE, ""},
- {E_CONTACT_CSV_TITLE, E_CONTACT_TITLE, ""},
- {E_CONTACT_CSV_ROLE, E_CONTACT_ROLE, ""},
- {E_CONTACT_CSV_MANAGER, E_CONTACT_MANAGER, ""},
- {E_CONTACT_CSV_ASSISTANT, E_CONTACT_ASSISTANT, ""},
- {E_CONTACT_CSV_NICKNAME, E_CONTACT_NICKNAME, ""},
- {E_CONTACT_CSV_SPOUSE, E_CONTACT_SPOUSE, ""},
- {E_CONTACT_CSV_NOTE, E_CONTACT_NOTE, ""},
- {E_CONTACT_CSV_CALENDAR_URI, E_CONTACT_CALENDAR_URI, ""},
- {E_CONTACT_CSV_FREEBUSY_URL, E_CONTACT_FREEBUSY_URL, ""},
+ {E_CONTACT_CSV_ADDRESS_OTHER_STREET, NOMAP, "Other Address", DT_STRING},
+ {E_CONTACT_CSV_ADDRESS_OTHER_EXT, NOMAP, "Other Address2", DT_STRING},
+ {E_CONTACT_CSV_ADDRESS_OTHER_CITY, NOMAP, "Other Address City", DT_STRING},
+ {E_CONTACT_CSV_ADDRESS_OTHER_REGION, NOMAP, "Other Address State", DT_STRING},
+ {E_CONTACT_CSV_ADDRESS_OTHER_POSTCODE, NOMAP, "Other Address PostCode", DT_STRING},
+ {E_CONTACT_CSV_ADDRESS_OTHER_COUNTRY, NOMAP, "Other Address Country", DT_STRING},
+ {E_CONTACT_CSV_HOMEPAGE_URL, E_CONTACT_HOMEPAGE_URL, "", DT_STRING},
+ {E_CONTACT_CSV_ORG_UNIT, E_CONTACT_ORG_UNIT, "", DT_STRING},
+ {E_CONTACT_CSV_OFFICE, E_CONTACT_OFFICE, "", DT_STRING},
+ {E_CONTACT_CSV_TITLE, E_CONTACT_TITLE, "", DT_STRING},
+ {E_CONTACT_CSV_ROLE, E_CONTACT_ROLE, "", DT_STRING},
+ {E_CONTACT_CSV_MANAGER, E_CONTACT_MANAGER, "", DT_STRING},
+ {E_CONTACT_CSV_ASSISTANT, E_CONTACT_ASSISTANT, "", DT_STRING},
+ {E_CONTACT_CSV_NICKNAME, E_CONTACT_NICKNAME, "", DT_STRING},
+ {E_CONTACT_CSV_SPOUSE, E_CONTACT_SPOUSE, "", DT_STRING},
+ {E_CONTACT_CSV_NOTE, E_CONTACT_NOTE, "", DT_STRING},
+ {E_CONTACT_CSV_CALENDAR_URI, E_CONTACT_CALENDAR_URI, "", DT_STRING},
+ {E_CONTACT_CSV_FREEBUSY_URL, E_CONTACT_FREEBUSY_URL, "", DT_STRING},
/*E_CONTACT_ANNIVERSARY, */
- {E_CONTACT_CSV_ANNIVERSARY_YEAR, NOMAP, "Anniversary Year"},
- {E_CONTACT_CSV_ANNIVERSARY_MONTH, NOMAP, "Anniversary Month"},
- {E_CONTACT_CSV_ANNIVERSARY_DAY, NOMAP, "Anniversary Day"},
+ {E_CONTACT_CSV_ANNIVERSARY_YEAR, NOMAP, "Anniversary Year", DT_STRING},
+ {E_CONTACT_CSV_ANNIVERSARY_MONTH, NOMAP, "Anniversary Month", DT_STRING},
+ {E_CONTACT_CSV_ANNIVERSARY_DAY, NOMAP, "Anniversary Day", DT_STRING},
/*E_CONTACT_BIRTH_DATE, */
- {E_CONTACT_CSV_BIRTH_DATE_YEAR, NOMAP, "Birth Year"},
- {E_CONTACT_CSV_BIRTH_DATE_MONTH, NOMAP, "Birth Month"},
- {E_CONTACT_CSV_BIRTH_DATE_DAY, NOMAP, "Birth Day"},
- {E_CONTACT_CSV_MAILER, E_CONTACT_MAILER, ""},
- {E_CONTACT_CSV_NAME_OR_ORG, E_CONTACT_NAME_OR_ORG, ""},
- {E_CONTACT_CSV_CATEGORIES, E_CONTACT_CATEGORIES, ""},
- {E_CONTACT_CSV_FAMILY_NAME, E_CONTACT_FAMILY_NAME, ""},
- {E_CONTACT_CSV_GIVEN_NAME, E_CONTACT_GIVEN_NAME, ""},
- {E_CONTACT_CSV_WANTS_HTML, E_CONTACT_WANTS_HTML, ""},
- {E_CONTACT_CSV_IS_LIST, E_CONTACT_IS_LIST, ""},
- {E_CONTACT_CSV_LAST, NOMAP, ""}
+ {E_CONTACT_CSV_BIRTH_DATE_YEAR, NOMAP, "Birth Year", DT_STRING},
+ {E_CONTACT_CSV_BIRTH_DATE_MONTH, NOMAP, "Birth Month", DT_STRING},
+ {E_CONTACT_CSV_BIRTH_DATE_DAY, NOMAP, "Birth Day", DT_STRING},
+ {E_CONTACT_CSV_MAILER, E_CONTACT_MAILER, "", DT_STRING},
+ {E_CONTACT_CSV_NAME_OR_ORG, E_CONTACT_NAME_OR_ORG, "", DT_STRING},
+ {E_CONTACT_CSV_CATEGORIES, E_CONTACT_CATEGORIES, "", DT_STRING},
+ {E_CONTACT_CSV_FAMILY_NAME, E_CONTACT_FAMILY_NAME, "", DT_STRING},
+ {E_CONTACT_CSV_GIVEN_NAME, E_CONTACT_GIVEN_NAME, "", DT_STRING},
+ {E_CONTACT_CSV_WANTS_HTML, E_CONTACT_WANTS_HTML, "", DT_BOOLEAN},
+ {E_CONTACT_CSV_IS_LIST, E_CONTACT_IS_LIST, "", DT_BOOLEAN},
+ {E_CONTACT_CSV_LAST, NOMAP, "", DT_STRING}
};
@@ -276,6 +257,12 @@ e_contact_csv_get_contact_field (EContactFieldCSV csv_field)
return csv_field_data[csv_field].contact_field;
}
+static EContactCSVDataType
+e_contact_csv_get_data_type (EContactFieldCSV csv_field)
+{
+ return csv_field_data[csv_field].data_type;
+}
+
gchar *
e_contact_csv_get_name (EContactFieldCSV csv_field)
{
@@ -310,8 +297,10 @@ e_contact_csv_get (EContact * contact, EContactFieldCSV csv_field)
if (contact_field != NOMAP) {
field_value = e_contact_get (contact, contact_field);
+ if (e_contact_csv_get_data_type (csv_field) == DT_BOOLEAN) {
+ field_value = g_strdup ((GPOINTER_TO_INT (field_value)) ? "TRUE" : "FALSE");
+ }
} else {
-
switch (csv_field) {
case E_CONTACT_CSV_ADDRESS_HOME_STREET:
delivery_address = e_contact_get (contact, E_CONTACT_ADDRESS_HOME);