From a4ee61a679f06dde608ce54de4aaae00086125ac Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Mon, 21 Jan 2008 01:55:44 +0000 Subject: gpe-contacts svn: Convert to SRCREV, add latest rev to sane-srcrevs.inc. * Confirmed buildable/working. --- packages/gpe-contacts/gpe-contacts_svn.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'packages') diff --git a/packages/gpe-contacts/gpe-contacts_svn.bb b/packages/gpe-contacts/gpe-contacts_svn.bb index b5a22ebad2..c3ef1eb26b 100644 --- a/packages/gpe-contacts/gpe-contacts_svn.bb +++ b/packages/gpe-contacts/gpe-contacts_svn.bb @@ -3,8 +3,8 @@ SECTION = "gpe" LICENSE = "GPL" DEPENDS = "libcontactsdb libgpewidget libgpepimc libdisplaymigration libgpevtype dbus" RDEPENDS = "gpe-icons" -PV = "0.43+svn${SRCDATE}" -PR = "r0" +PV = "0.47+svnr${SRCREV}" +PR = "r1" inherit autotools gpe -- cgit v1.2.3 From 08895188aa65145deff6c491c5129ec416d3e6aa Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Mon, 21 Jan 2008 02:00:12 +0000 Subject: gpe-contacts svn: Implement proper handling of VCARD categories. * VCARD's CATEGORIES field used to be stuffed into contact's CATEGORY field as is, which is not what gpe-contacts expect. * So now, try to look up each of VCARD's categories (adding new accessor to libgpepimc was required), if it doesn't exist, create it, and finally put category ID into contact's CATEGORY field. --- packages/gpe-contacts/files/.mtn2git_empty | 0 .../files/handle-import-categories.patch | 39 +++++++++++++++++++ packages/gpe-contacts/gpe-contacts_svn.bb | 3 +- packages/libgpepimc/files/.mtn2git_empty | 0 .../libgpepimc/files/get-category-by-name.patch | 45 ++++++++++++++++++++++ packages/libgpepimc/libgpepimc_0.9.bb | 3 ++ 6 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 packages/gpe-contacts/files/.mtn2git_empty create mode 100644 packages/gpe-contacts/files/handle-import-categories.patch create mode 100644 packages/libgpepimc/files/.mtn2git_empty create mode 100644 packages/libgpepimc/files/get-category-by-name.patch (limited to 'packages') diff --git a/packages/gpe-contacts/files/.mtn2git_empty b/packages/gpe-contacts/files/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/gpe-contacts/files/handle-import-categories.patch b/packages/gpe-contacts/files/handle-import-categories.patch new file mode 100644 index 0000000000..f64b1f6bbf --- /dev/null +++ b/packages/gpe-contacts/files/handle-import-categories.patch @@ -0,0 +1,39 @@ +diff -r abc014466432 import-vcard.c +--- a/import-vcard.c Mon Jan 21 01:55:53 2008 +0200 ++++ b/import-vcard.c Mon Jan 21 02:31:28 2008 +0200 +@@ -77,6 +77,35 @@ do_import_vcard (MIMEDirVCard *card) + { + gpe_tag_pair *t = i->data; + ++ if (!strcasecmp(t->tag, "CATEGORY")) ++ { ++ char *p, *e; ++ int cat_id; ++ ++ for (p = t->value; p; p = e) ++ { ++ while (*p == ' ') ++ p++; ++ e = strchr(p, ','); ++ if (e) ++ *e++ = 0; ++ cat_id = gpe_pim_category_id(p); ++ if (!cat_id) ++ { ++ if (!gpe_pim_category_new (p, &cat_id)) ++ { ++ gpe_error_box ("Unable to create category for imported item"); ++ sqlite_close (db); ++ return -2; ++ } ++ } ++ sqlite_exec_printf (db, "insert into contacts values ('%d', 'CATEGORY', '%d')", NULL, NULL, NULL, ++ id, cat_id); ++ } ++ ++ } ++ ++ + sqlite_exec_printf (db, "insert into contacts values ('%d', '%q', '%q')", NULL, NULL, NULL, + id, t->tag, t->value); + diff --git a/packages/gpe-contacts/gpe-contacts_svn.bb b/packages/gpe-contacts/gpe-contacts_svn.bb index c3ef1eb26b..9a626572a5 100644 --- a/packages/gpe-contacts/gpe-contacts_svn.bb +++ b/packages/gpe-contacts/gpe-contacts_svn.bb @@ -4,11 +4,12 @@ LICENSE = "GPL" DEPENDS = "libcontactsdb libgpewidget libgpepimc libdisplaymigration libgpevtype dbus" RDEPENDS = "gpe-icons" PV = "0.47+svnr${SRCREV}" -PR = "r1" +PR = "r2" inherit autotools gpe SRC_URI = "${GPE_SVN}" +SRC_URI += "file://handle-import-categories.patch;patch=1" S = "${WORKDIR}/${PN}" diff --git a/packages/libgpepimc/files/.mtn2git_empty b/packages/libgpepimc/files/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/libgpepimc/files/get-category-by-name.patch b/packages/libgpepimc/files/get-category-by-name.patch new file mode 100644 index 0000000000..a733f40ccf --- /dev/null +++ b/packages/libgpepimc/files/get-category-by-name.patch @@ -0,0 +1,45 @@ +diff -r 90e7a26811fe db.c +--- a/db.c Mon Jan 21 02:03:38 2008 +0200 ++++ b/db.c Mon Jan 21 02:08:31 2008 +0200 +@@ -182,6 +182,30 @@ gpe_pim_category_name (gint id) + } + + /** ++ * gpe_pim_category_id: ++ * @name: Category name ++ * ++ * Get the category ID by name. ++ * ++ * Returns: Category ID or 0 if doesn't exist. ++ */ ++gint ++gpe_pim_category_id (const gchar *name) ++{ ++ GSList *iter; ++ ++ for (iter = categories; iter; iter = iter->next) ++ { ++ struct gpe_pim_category *c = iter->data; ++ ++ if (!strcasecmp(c->name, name)) ++ return c->id; ++ } ++ ++ return 0; ++} ++ ++/** + * gpe_pim_category_colour: + * @id: Category id + * +diff -r 90e7a26811fe gpe/pim-categories.h +--- a/gpe/pim-categories.h Mon Jan 21 02:03:38 2008 +0200 ++++ b/gpe/pim-categories.h Mon Jan 21 02:08:31 2008 +0200 +@@ -36,6 +36,7 @@ extern GSList *gpe_pim_categories_list ( + + extern gboolean gpe_pim_category_new (const gchar *title, gint *id); + extern const gchar *gpe_pim_category_name (gint id); ++extern gint gpe_pim_category_id (const gchar *name); + extern gboolean gpe_pim_category_rename (gint id, gchar *new_name); + + /* colour functions */ diff --git a/packages/libgpepimc/libgpepimc_0.9.bb b/packages/libgpepimc/libgpepimc_0.9.bb index 57b7b22191..e8c4664cf8 100644 --- a/packages/libgpepimc/libgpepimc_0.9.bb +++ b/packages/libgpepimc/libgpepimc_0.9.bb @@ -1 +1,4 @@ require libgpepimc.inc +PR = "r1" + +SRC_URI += " file://get-category-by-name.patch;patch=1" -- cgit v1.2.3