diff options
Diffstat (limited to 'addressbook')
-rw-r--r-- | addressbook/ChangeLog | 29 | ||||
-rw-r--r-- | addressbook/conduit/address-conduit.c | 33 | ||||
-rw-r--r-- | addressbook/gui/widgets/eab-contact-display.c | 28 | ||||
-rw-r--r-- | addressbook/tools/evolution-addressbook-export-list-cards.c | 181 |
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); |