aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/backend/ebook/e-card.c
diff options
context:
space:
mode:
authorChristopher James Lahey <clahey@helixcode.com>2000-07-29 23:04:56 +0800
committerChris Lahey <clahey@src.gnome.org>2000-07-29 23:04:56 +0800
commit94bc9ecd27c2fd9cf0c00adbca8b454ed767cf18 (patch)
tree433cc8725326f2a63460cb08b0fc2359c9514044 /addressbook/backend/ebook/e-card.c
parent121d056d45b9766532ba9b7ec3f687c04582194f (diff)
downloadgsoc2013-evolution-94bc9ecd27c2fd9cf0c00adbca8b454ed767cf18.tar
gsoc2013-evolution-94bc9ecd27c2fd9cf0c00adbca8b454ed767cf18.tar.gz
gsoc2013-evolution-94bc9ecd27c2fd9cf0c00adbca8b454ed767cf18.tar.bz2
gsoc2013-evolution-94bc9ecd27c2fd9cf0c00adbca8b454ed767cf18.tar.lz
gsoc2013-evolution-94bc9ecd27c2fd9cf0c00adbca8b454ed767cf18.tar.xz
gsoc2013-evolution-94bc9ecd27c2fd9cf0c00adbca8b454ed767cf18.tar.zst
gsoc2013-evolution-94bc9ecd27c2fd9cf0c00adbca8b454ed767cf18.zip
Added load-gnomecard-addressbook compilation.
2000-07-29 Christopher James Lahey <clahey@helixcode.com> * backend/ebook/Makefile.am: Added load-gnomecard-addressbook compilation. * backend/ebook/e-card.c, backend/ebook/e-card.h: Added e_card_load_cards_from_file helper function to load multiple cards from a single file. * backend/ebook/load-gnomecard-addressbook.c: New file to load vcard files. I think this is the format that gnomecard uses so if you copy your gnomecard file to gnomecard.vcf and then run this program in the same directory, it'll copy all your gnome contacts into evolution. It needs to be changed to take a filename as a parameter. Some fields (phone and address information, for example) aren't displayed properly, but are saved. This is new code, so some other than phone and address may be lost. svn path=/trunk/; revision=4414
Diffstat (limited to 'addressbook/backend/ebook/e-card.c')
-rw-r--r--addressbook/backend/ebook/e-card.c48
1 files changed, 18 insertions, 30 deletions
diff --git a/addressbook/backend/ebook/e-card.c b/addressbook/backend/ebook/e-card.c
index 8008e052ba..85ef7366d5 100644
--- a/addressbook/backend/ebook/e-card.c
+++ b/addressbook/backend/ebook/e-card.c
@@ -1689,6 +1689,24 @@ e_card_init (ECard *card)
#endif
}
+GList *
+e_card_load_cards_from_file(const char *filename)
+{
+ VObject *vobj = Parse_MIME_FromFileName(filename);
+ GList *list = NULL;
+ while(vobj) {
+ VObject *next;
+ ECard *card = E_CARD(gtk_type_new(e_card_get_type()));
+ parse(card, vobj);
+ next = nextVObjectInList(vobj);
+ cleanVObject(vobj);
+ vobj = next;
+ list = g_list_prepend(list, card);
+ }
+ list = g_list_reverse(list);
+ return list;
+}
+
static void
assign_string(VObject *vobj, char **string)
{
@@ -3114,36 +3132,6 @@ card_to_string (Card *crd)
return ret;
}
-
-char *
-card_to_vobj_string (Card *crd)
-{
- VObject *object;
- char *data, *ret_val;
-
- g_assert (crd != NULL);
-
- object = card_convert_to_vobject (crd);
- data = writeMemVObject (0, 0, object);
- ret_val = g_strdup (data);
- free (data);
-
- cleanVObject (object);
-
- return ret_val;
-}
-
-void
-card_save (Card *crd, FILE *fp)
-{
- VObject *object;
-
- g_return_if_fail (crd != NULL);
-
- object = card_convert_to_vobject (crd);
- writeVObject (fp, object);
- cleanVObject (object);
-}
#endif
static ECardDate