aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/backend
diff options
context:
space:
mode:
authorJP Rosevear <jpr@ximian.com>2001-09-19 03:20:21 +0800
committerJP Rosevear <jpr@src.gnome.org>2001-09-19 03:20:21 +0800
commit3835a0d437af0f4cc1392a469c44baa20e812261 (patch)
tree69c564569692def5a7ce42ee0c8c82e5e4b56e05 /addressbook/backend
parent9f792d1de540a5f4839bd81ada06151c9e122aa3 (diff)
downloadgsoc2013-evolution-3835a0d437af0f4cc1392a469c44baa20e812261.tar.gz
gsoc2013-evolution-3835a0d437af0f4cc1392a469c44baa20e812261.tar.zst
gsoc2013-evolution-3835a0d437af0f4cc1392a469c44baa20e812261.zip
add caluri field data
2001-09-18 JP Rosevear <jpr@ximian.com> * 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
Diffstat (limited to 'addressbook/backend')
-rw-r--r--addressbook/backend/ebook/e-card-simple.c1
-rw-r--r--addressbook/backend/ebook/e-card-simple.h1
-rw-r--r--addressbook/backend/ebook/e-card.c24
-rw-r--r--addressbook/backend/ebook/e-card.h1
4 files changed, 27 insertions, 0 deletions
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);
@@ -978,6 +984,13 @@ parse_mailer(ECard *card, VObject *vobj, char *default_charset)
}
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)
{
g_free(card->fburl);
@@ -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 */