From e93ee56b1322c4fbf37885b99bc4e976b760b12d Mon Sep 17 00:00:00 2001 From: Rafal Michalski <michalski.raf@xxxxxxxxx> Date: Tue, 28 Sep 2010 11:03:22 +0200 Subject: [PATCH 1/6] Changing default type of call from call log Previously after downloading call log all calls had HOME type as default. Now this type is OTHER - it will be used when connection is made with number which is out of phonebook. To solve this issue extending number of columns and queries of database was needed especially (one field in database query was added). --- plugins/phonebook-tracker.c | 140 ++++++++++++------------------------------- plugins/vcard.c | 4 +- 2 files changed, 40 insertions(+), 104 deletions(-) diff --git a/plugins/phonebook-tracker.c b/plugins/phonebook-tracker.c index 3161927..5aaa9a8 100644 --- a/plugins/phonebook-tracker.c +++ b/plugins/phonebook-tracker.c @@ -43,16 +43,17 @@ #define TRACKER_RESOURCES_INTERFACE "org.freedesktop.Tracker1.Resources" #define TRACKER_DEFAULT_CONTACT_ME "http://www.semanticdesktop.org/ontologies/2007/03/22/nco#default-contact-me" -#define CONTACTS_ID_COL 37 -#define PULL_QUERY_COL_AMOUNT 38 +#define CONTACTS_ID_COL 38 +#define PULL_QUERY_COL_AMOUNT 39 #define COL_HOME_NUMBER 0 #define COL_HOME_EMAIL 7 #define COL_WORK_NUMBER 8 #define COL_FAX_NUMBER 16 #define COL_WORK_EMAIL 17 -#define COL_DATE 34 -#define COL_SENT 35 -#define COL_ANSWERED 36 +#define COL_OTHER_NUMBER 34 +#define COL_DATE 35 +#define COL_SENT 36 +#define COL_ANSWERED 37 #define ADDR_FIELD_AMOUNT 7 #define CONTACTS_QUERY_ALL \ @@ -68,7 +69,8 @@ "nco:role(?a) nco:pobox(?pw) nco:extendedAddress(?pw) " \ "nco:streetAddress(?pw) nco:locality(?pw) nco:region(?pw) " \ "nco:postalcode(?pw) nco:country(?pw) nco:contactUID(?c) " \ - "nco:title(?a) \"NOTACALL\" \"false\" \"false\" ?c " \ + "nco:title(?a) nco:phoneNumber(?t) " \ + "\"NOTACALL\" \"false\" \"false\" ?c " \ "WHERE { " \ "?c a nco:PersonContact . " \ "OPTIONAL { ?c nco:hasPhoneNumber ?h . \ @@ -113,35 +115,21 @@ "nco:nameHonorificSuffix(?c) nco:emailAddress(?e) " \ "nco:phoneNumber(?w) nco:pobox(?p) nco:extendedAddress(?p) " \ "nco:streetAddress(?p) nco:locality(?p) nco:region(?p) " \ - "nco:postalcode(?p) nco:country(?p) ?f nco:emailAddress(?ew) " \ + "nco:postalcode(?p) nco:country(?p) \"\" nco:emailAddress(?ew) "\ "nco:birthDate(?c) nco:nickname(?c) nco:websiteUrl(?c) " \ "nco:photo(?c) nco:fullname(?o) nco:department(?a) " \ "nco:role(?a) nco:pobox(?pw) nco:extendedAddress(?pw) " \ "nco:streetAddress(?pw) nco:locality(?pw) nco:region(?pw) " \ "nco:postalcode(?pw) nco:country(?pw) nco:contactUID(?c) " \ - "nco:title(?a) nmo:receivedDate(?call) " \ - "nmo:isSent(?call) nmo:isAnswered(?call) ?c " \ + "nco:title(?a) nco:phoneNumber(?t) nmo:receivedDate(?call) " \ + "nmo:isSent(?call) nmo:isAnswered(?call) ?x " \ "WHERE { " \ + "?x a nco:Contact . " \ + "?x nco:hasPhoneNumber ?t . " \ "?call a nmo:Call ; " \ - "nmo:from ?c ; " \ + "nmo:from ?x ; " \ "nmo:isSent false ; " \ "nmo:isAnswered false ." \ - "?c a nco:Contact . " \ - "OPTIONAL { ?c nco:hasPhoneNumber ?h . " \ - "OPTIONAL {" \ - "?h a nco:FaxNumber ; " \ - "nco:phoneNumber ?f . " \ - "}" \ - "} " \ - "OPTIONAL { ?c nco:hasEmailAddress ?e . } " \ - "OPTIONAL { ?c nco:hasPostalAddress ?p . } " \ - "OPTIONAL { " \ - "?c nco:hasAffiliation ?a . " \ - "OPTIONAL { ?a nco:hasPhoneNumber ?w . } " \ - "OPTIONAL { ?a nco:hasEmailAddress ?ew . } " \ - "OPTIONAL { ?a nco:hasPostalAddress ?pw . } " \ - "OPTIONAL { ?a nco:org ?o . } " \ - "} " \ "} ORDER BY DESC(nmo:receivedDate(?call))" #define MISSED_CALLS_LIST \ @@ -165,35 +153,21 @@ "nco:nameHonorificSuffix(?c) nco:emailAddress(?e) " \ "nco:phoneNumber(?w) nco:pobox(?p) nco:extendedAddress(?p) " \ "nco:streetAddress(?p) nco:locality(?p) nco:region(?p) " \ - "nco:postalcode(?p) nco:country(?p) ?f nco:emailAddress(?ew) " \ + "nco:postalcode(?p) nco:country(?p) \"\" nco:emailAddress(?ew) "\ "nco:birthDate(?c) nco:nickname(?c) nco:websiteUrl(?c) " \ "nco:photo(?c) nco:fullname(?o) nco:department(?a) " \ "nco:role(?a) nco:pobox(?pw) nco:extendedAddress(?pw) " \ "nco:streetAddress(?pw) nco:locality(?pw) nco:region(?pw) " \ "nco:postalcode(?pw) nco:country(?pw) nco:contactUID(?c) " \ - "nco:title(?a) nmo:receivedDate(?call) " \ - "nmo:isSent(?call) nmo:isAnswered(?call) ?c " \ + "nco:title(?a) nco:phoneNumber(?t) nmo:receivedDate(?call) " \ + "nmo:isSent(?call) nmo:isAnswered(?call) ?x " \ "WHERE { " \ + "?x a nco:Contact . " \ + "?x nco:hasPhoneNumber ?t . " \ "?call a nmo:Call ; " \ - "nmo:from ?c ; " \ + "nmo:from ?x ; " \ "nmo:isSent false ; " \ "nmo:isAnswered true ." \ - "?c a nco:Contact . " \ - "OPTIONAL { ?c nco:hasPhoneNumber ?h . " \ - "OPTIONAL {" \ - "?h a nco:FaxNumber ; " \ - "nco:phoneNumber ?f . " \ - "}" \ - "} " \ - "OPTIONAL { ?c nco:hasEmailAddress ?e . } " \ - "OPTIONAL { ?c nco:hasPostalAddress ?p . } " \ - "OPTIONAL { " \ - "?c nco:hasAffiliation ?a . " \ - "OPTIONAL { ?a nco:hasPhoneNumber ?w . } " \ - "OPTIONAL { ?a nco:hasEmailAddress ?ew . } " \ - "OPTIONAL { ?a nco:hasPostalAddress ?pw . } " \ - "OPTIONAL { ?a nco:org ?o . } " \ - "} " \ "} ORDER BY DESC(nmo:receivedDate(?call))" #define INCOMING_CALLS_LIST \ @@ -217,34 +191,20 @@ "nco:nameHonorificSuffix(?c) nco:emailAddress(?e) " \ "nco:phoneNumber(?w) nco:pobox(?p) nco:extendedAddress(?p) " \ "nco:streetAddress(?p) nco:locality(?p) nco:region(?p) " \ - "nco:postalcode(?p) nco:country(?p) ?f nco:emailAddress(?ew)" \ + "nco:postalcode(?p) nco:country(?p) \"\" nco:emailAddress(?ew)" \ "nco:birthDate(?c) nco:nickname(?c) nco:websiteUrl(?c) " \ "nco:photo(?c) nco:fullname(?o) nco:department(?a) " \ "nco:role(?a) nco:pobox(?pw) nco:extendedAddress(?pw) " \ "nco:streetAddress(?pw) nco:locality(?pw) nco:region(?pw) " \ "nco:postalcode(?pw) nco:country(?pw) nco:contactUID(?c) " \ - "nco:title(?a) nmo:receivedDate(?call) " \ - "nmo:isSent(?call) nmo:isAnswered(?call) ?c " \ + "nco:title(?a) nco:phoneNumber(?t) nmo:receivedDate(?call) " \ + "nmo:isSent(?call) nmo:isAnswered(?call) ?x " \ "WHERE { " \ + "?x a nco:Contact . " \ + "?x nco:hasPhoneNumber ?t . " \ "?call a nmo:Call ; " \ - "nmo:to ?c ; " \ + "nmo:to ?x ; " \ "nmo:isSent true . " \ - "?c a nco:Contact . " \ - "OPTIONAL { ?c nco:hasPhoneNumber ?h . " \ - "OPTIONAL {" \ - "?h a nco:FaxNumber ; " \ - "nco:phoneNumber ?f . " \ - "}" \ - "} " \ - "OPTIONAL { ?c nco:hasEmailAddress ?e . } " \ - "OPTIONAL { ?c nco:hasPostalAddress ?p . } " \ - "OPTIONAL { " \ - "?c nco:hasAffiliation ?a . " \ - "OPTIONAL { ?a nco:hasPhoneNumber ?w . } " \ - "OPTIONAL { ?a nco:hasEmailAddress ?ew . } " \ - "OPTIONAL { ?a nco:hasPostalAddress ?pw . } " \ - "OPTIONAL { ?a nco:org ?o . } " \ - "} " \ "} ORDER BY DESC(nmo:sentDate(?call))" #define OUTGOING_CALLS_LIST \ @@ -267,53 +227,27 @@ "nco:nameHonorificSuffix(?c) nco:emailAddress(?e) " \ "nco:phoneNumber(?w) nco:pobox(?p) nco:extendedAddress(?p) " \ "nco:streetAddress(?p) nco:locality(?p) nco:region(?p) " \ - "nco:postalcode(?p) nco:country(?p) ?f nco:emailAddress(?ew) " \ + "nco:postalcode(?p) nco:country(?p) \"\" nco:emailAddress(?ew) "\ "nco:birthDate(?c) nco:nickname(?c) nco:websiteUrl(?c) " \ "nco:photo(?c) nco:fullname(?o) nco:department(?a) " \ "nco:role(?a) nco:pobox(?pw) nco:extendedAddress(?pw) " \ "nco:streetAddress(?pw) nco:locality(?pw) nco:region(?pw) " \ "nco:postalcode(?pw) nco:country(?pw) nco:contactUID(?c) " \ - "nco:title(?a) nmo:receivedDate(?call) " \ - "nmo:isSent(?call) nmo:isAnswered(?call) ?c " \ + "nco:title(?a) nco:phoneNumber(?t) nmo:receivedDate(?call) " \ + "nmo:isSent(?call) nmo:isAnswered(?call) ?x " \ "WHERE { " \ "{ " \ + "?x a nco:Contact . " \ + "?x nco:hasPhoneNumber ?t . " \ "?call a nmo:Call ; " \ - "nmo:to ?c ; " \ + "nmo:to ?x ; " \ "nmo:isSent true . " \ - "?c a nco:Contact . " \ - "OPTIONAL { ?c nco:hasPhoneNumber ?h . " \ - "OPTIONAL {" \ - "?h a nco:FaxNumber ; " \ - "nco:phoneNumber ?f . " \ - "}" \ - "} " \ - "OPTIONAL { ?c nco:hasEmailAddress ?e . } " \ - "OPTIONAL { ?c nco:hasPostalAddress ?p . } " \ - "OPTIONAL { ?c nco:hasAffiliation ?a . " \ - "OPTIONAL { ?a nco:hasPhoneNumber ?w . } " \ - "OPTIONAL { ?a nco:hasEmailAddress ?ew . } " \ - "OPTIONAL { ?a nco:hasPostalAddress ?pw . } " \ - "OPTIONAL { ?a nco:org ?o . } " \ - "} " \ "} UNION { " \ + "?x a nco:Contact . " \ + "?x nco:hasPhoneNumber ?t . " \ "?call a nmo:Call ; " \ - "nmo:from ?c ; " \ + "nmo:from ?x ; " \ "nmo:isSent false . " \ - "?c a nco:Contact . " \ - "OPTIONAL { ?c nco:hasPhoneNumber ?h . " \ - "OPTIONAL {" \ - "?h a nco:FaxNumber ; " \ - "nco:phoneNumber ?f . " \ - "}" \ - "} " \ - "OPTIONAL { ?c nco:hasEmailAddress ?e . } " \ - "OPTIONAL { ?c nco:hasPostalAddress ?p . } " \ - "OPTIONAL { ?c nco:hasAffiliation ?a . " \ - "OPTIONAL { ?a nco:hasPhoneNumber ?w . } " \ - "OPTIONAL { ?a nco:hasEmailAddress ?ew . } " \ - "OPTIONAL { ?a nco:hasPostalAddress ?pw . } " \ - "OPTIONAL { ?a nco:org ?o . } " \ - "} " \ "} } ORDER BY DESC(nmo:receivedDate(?call))" #define COMBINED_CALLS_LIST \ @@ -349,7 +283,8 @@ "nco:role(?a) nco:pobox(?pw) nco:extendedAddress(?pw) " \ "nco:streetAddress(?pw) nco:locality(?pw) nco:region(?pw) " \ "nco:postalcode(?pw) nco:country(?pw) nco:contactUID(<%s>) " \ - "nco:title(?a) \"NOTACALL\" \"false\" \"false\" <%s> " \ + "nco:title(?a) nco:phoneNumber(?t) " \ + "\"NOTACALL\" \"false\" \"false\" <%s> " \ "WHERE { " \ "<%s> a nco:Contact . " \ "OPTIONAL { <%s> nco:hasPhoneNumber ?h . \ @@ -875,6 +810,7 @@ add_numbers: add_phone_number(contact, reply[COL_HOME_NUMBER], TEL_TYPE_HOME); add_phone_number(contact, reply[COL_WORK_NUMBER], TEL_TYPE_WORK); add_phone_number(contact, reply[COL_FAX_NUMBER], TEL_TYPE_FAX); + add_phone_number(contact, reply[COL_OTHER_NUMBER], TEL_TYPE_OTHER); /* Adding emails */ add_email(contact, reply[COL_HOME_EMAIL], EMAIL_TYPE_HOME); diff --git a/plugins/vcard.c b/plugins/vcard.c index bc22177..c720954 100644 --- a/plugins/vcard.c +++ b/plugins/vcard.c @@ -241,9 +241,9 @@ static void vcard_printf_number(GString *vcards, uint8_t format, break; case TEL_TYPE_OTHER: if (format == FORMAT_VCARD21) - category_string = "VOICE"; + category_string = "OTHER;VOICE"; else if (format == FORMAT_VCARD30) - category_string = "TYPE=VOICE"; + category_string = "TYPE=OTHER;TYPE=VOICE"; break; } -- 1.6.3.3