From 3835a0d437af0f4cc1392a469c44baa20e812261 Mon Sep 17 00:00:00 2001 From: JP Rosevear Date: Tue, 18 Sep 2001 19:20:21 +0000 Subject: add caluri field data 2001-09-18 JP Rosevear * backend/ebook/e-card-simple.c (field_data): add caluri field data * backend/ebook/e-card.c (e_card_get_vobject): add the caluri property when appropriate (parse_caluri): handle read caluri (e_card_class_init): add caluri arg (e_card_destroy): free the caluri (e_card_get_arg): return caluri arg (e_card_set_arg): set caluri from arg (e_card_init): init caluri to null * backend/ebook/e-card-simple.h: new simple field * backend/ebook/e-card.h: new member * gui/contact-editor/e-contact-editor.c (field_changed): util callback to change the command state (set_entry_changed_signal_field): hook up a change signal to above (set_entry_changed_signals): use above function * gui/contact-editor/e-contact-editor.glade: Add collaboration page and fields svn path=/trunk/; revision=12945 --- addressbook/backend/ebook/e-card-simple.c | 1 + addressbook/backend/ebook/e-card-simple.h | 1 + addressbook/backend/ebook/e-card.c | 24 ++++++++++++++++++++++++ addressbook/backend/ebook/e-card.h | 1 + 4 files changed, 27 insertions(+) (limited to 'addressbook/backend') diff --git a/addressbook/backend/ebook/e-card-simple.c b/addressbook/backend/ebook/e-card-simple.c index 6f13356428..4cd558e5e2 100644 --- a/addressbook/backend/ebook/e-card-simple.c +++ b/addressbook/backend/ebook/e-card-simple.c @@ -94,6 +94,7 @@ static ECardSimpleFieldData field_data[] = { E_CARD_SIMPLE_FIELD_NICKNAME, "nickname", N_("Nickname"), N_("Nick"), 0, E_CARD_SIMPLE_INTERNAL_TYPE_STRING }, { E_CARD_SIMPLE_FIELD_SPOUSE, "spouse", N_("Spouse"), N_("Spouse"), 0, E_CARD_SIMPLE_INTERNAL_TYPE_STRING }, { E_CARD_SIMPLE_FIELD_NOTE, "note", N_("Note"), N_("Note"), 0, E_CARD_SIMPLE_INTERNAL_TYPE_STRING }, + { E_CARD_SIMPLE_FIELD_CALURI, "caluri", N_("Calendar URI"), N_("CALUri"), 0, E_CARD_SIMPLE_INTERNAL_TYPE_STRING }, { E_CARD_SIMPLE_FIELD_FBURL, "fburl", N_("Free-busy URL"), N_("FBUrl"), 0, E_CARD_SIMPLE_INTERNAL_TYPE_STRING }, { E_CARD_SIMPLE_FIELD_ANNIVERSARY, "anniversary", N_("Anniversary"), N_("Anniv"), 0, E_CARD_SIMPLE_INTERNAL_TYPE_DATE }, { E_CARD_SIMPLE_FIELD_BIRTH_DATE, "birth_date", N_("Birth Date"), "", 0, E_CARD_SIMPLE_INTERNAL_TYPE_DATE }, diff --git a/addressbook/backend/ebook/e-card-simple.h b/addressbook/backend/ebook/e-card-simple.h index 675695a7ea..1af3ecb606 100644 --- a/addressbook/backend/ebook/e-card-simple.h +++ b/addressbook/backend/ebook/e-card-simple.h @@ -115,6 +115,7 @@ enum _ECardSimpleField { E_CARD_SIMPLE_FIELD_NICKNAME, E_CARD_SIMPLE_FIELD_SPOUSE, E_CARD_SIMPLE_FIELD_NOTE, + E_CARD_SIMPLE_FIELD_CALURI, E_CARD_SIMPLE_FIELD_FBURL, E_CARD_SIMPLE_FIELD_LAST_SIMPLE_STRING = E_CARD_SIMPLE_FIELD_FBURL, E_CARD_SIMPLE_FIELD_ANNIVERSARY, diff --git a/addressbook/backend/ebook/e-card.c b/addressbook/backend/ebook/e-card.c index 59077ec035..835cc8195a 100644 --- a/addressbook/backend/ebook/e-card.c +++ b/addressbook/backend/ebook/e-card.c @@ -65,6 +65,7 @@ enum { ARG_SPOUSE, ARG_ANNIVERSARY, ARG_MAILER, + ARG_CALURI, ARG_FBURL, ARG_NOTE, ARG_RELATED_CONTACTS, @@ -115,6 +116,7 @@ static void parse_nickname(ECard *card, VObject *object, char *default_charset); static void parse_spouse(ECard *card, VObject *object, char *default_charset); static void parse_anniversary(ECard *card, VObject *object, char *default_charset); static void parse_mailer(ECard *card, VObject *object, char *default_charset); +static void parse_caluri(ECard *card, VObject *object, char *default_charset); static void parse_fburl(ECard *card, VObject *object, char *default_charset); static void parse_note(ECard *card, VObject *object, char *default_charset); static void parse_related_contacts(ECard *card, VObject *object, char *default_charset); @@ -158,6 +160,7 @@ struct { { "X-EVOLUTION-SPOUSE", parse_spouse }, { "X-EVOLUTION-ANNIVERSARY", parse_anniversary }, { VCMailerProp, parse_mailer }, + { "CALURI", parse_caluri }, { "FBURL", parse_fburl }, { VCNoteProp, parse_note }, { XEV_RELATED_CONTACTS, parse_related_contacts }, @@ -550,6 +553,9 @@ e_card_get_vobject (ECard *card, gboolean assumeUTF8) ADD_PROP_VALUE(vobj, VCMailerProp, card->mailer); } + if (card->caluri) + addPropValue(vobj, "CALURI", card->caluri); + if (card->fburl) ADD_PROP_VALUE(vobj, "FBURL", card->fburl); @@ -977,6 +983,13 @@ parse_mailer(ECard *card, VObject *vobj, char *default_charset) assign_string(vobj, default_charset, &(card->mailer)); } +static void +parse_caluri(ECard *card, VObject *vobj, char *default_charset) +{ + g_free(card->caluri); + assign_string(vobj, default_charset, &(card->caluri)); +} + static void parse_fburl(ECard *card, VObject *vobj, char *default_charset) { @@ -1284,6 +1297,8 @@ e_card_class_init (ECardClass *klass) GTK_TYPE_POINTER, GTK_ARG_READWRITE, ARG_ANNIVERSARY); gtk_object_add_arg_type ("ECard::mailer", GTK_TYPE_STRING, GTK_ARG_READWRITE, ARG_MAILER); + gtk_object_add_arg_type ("ECard::caluri", + GTK_TYPE_STRING, GTK_ARG_READWRITE, ARG_CALURI); gtk_object_add_arg_type ("ECard::fburl", GTK_TYPE_STRING, GTK_ARG_READWRITE, ARG_FBURL); gtk_object_add_arg_type ("ECard::note", @@ -1888,6 +1903,7 @@ e_card_destroy (GtkObject *object) g_free(card->nickname); g_free(card->spouse); g_free(card->anniversary); + g_free(card->caluri); g_free(card->fburl); g_free(card->note); g_free(card->related_contacts); @@ -2028,6 +2044,10 @@ e_card_set_arg (GtkObject *object, GtkArg *arg, guint arg_id) g_free(card->mailer); card->mailer = g_strdup(GTK_VALUE_STRING(*arg)); break; + case ARG_CALURI: + g_free(card->caluri); + card->caluri = g_strdup(GTK_VALUE_STRING(*arg)); + break; case ARG_FBURL: g_free(card->fburl); card->fburl = g_strdup(GTK_VALUE_STRING(*arg)); @@ -2190,6 +2210,9 @@ e_card_get_arg (GtkObject *object, GtkArg *arg, guint arg_id) case ARG_MAILER: GTK_VALUE_STRING(*arg) = card->mailer; break; + case ARG_CALURI: + GTK_VALUE_STRING(*arg) = card->caluri; + break; case ARG_FBURL: GTK_VALUE_STRING(*arg) = card->fburl; break; @@ -2264,6 +2287,7 @@ e_card_init (ECard *card) card->spouse = NULL; card->anniversary = NULL; card->mailer = NULL; + card->caluri = NULL; card->fburl = NULL; card->note = NULL; card->related_contacts = NULL; diff --git a/addressbook/backend/ebook/e-card.h b/addressbook/backend/ebook/e-card.h index c9ac994a0d..f1e35ce0a8 100644 --- a/addressbook/backend/ebook/e-card.h +++ b/addressbook/backend/ebook/e-card.h @@ -67,6 +67,7 @@ struct _ECard { char *mailer; /* Mailer */ + char *caluri; /* Calendar URI */ char *fburl; /* Free Busy URL */ gint timezone; /* number of minutes from UTC as an int */ -- cgit v1.2.3