From 2b8918e1cf28890b47c0cd2399eccf2087cbfbb4 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Tue, 27 Jun 2017 15:19:41 +0200 Subject: No more dummy values in the people view --- framework/src/domain/contactcontroller.cpp | 22 ++++++++++++++++++---- framework/src/domain/contactcontroller.h | 6 ++++++ 2 files changed, 24 insertions(+), 4 deletions(-) (limited to 'framework/src/domain') diff --git a/framework/src/domain/contactcontroller.cpp b/framework/src/domain/contactcontroller.cpp index 49f78b40..90ef6323 100644 --- a/framework/src/domain/contactcontroller.cpp +++ b/framework/src/domain/contactcontroller.cpp @@ -19,6 +19,7 @@ #include "contactcontroller.h" #include +#include ContactController::ContactController() : Kube::Controller(), @@ -40,11 +41,24 @@ void ContactController::loadContact(const QVariant &contact) { if (auto c = contact.value()) { setName(c->getFn()); - QStringList emails; - for (const auto &e : c->getEmails()) { - emails << e.email; + const auto &vcard = c->getVcard(); + KContacts::VCardConverter converter; + const auto addressee = converter.parseVCard(vcard); + setEmails(addressee.emails()); + QStringList numbers; + for (const auto &n : addressee.phoneNumbers()) { + numbers << n.number(); } - setEmails(emails); + setPhoneNumbers(numbers); + + for(const auto &a :addressee.addresses()) { + setStreet(a.street()); + setCity(a.locality()); + setCountry(a.country()); + break; + } + setCompany(addressee.organization()); + setJobTitle(addressee.role()); } } diff --git a/framework/src/domain/contactcontroller.h b/framework/src/domain/contactcontroller.h index d1973d9c..fea42430 100644 --- a/framework/src/domain/contactcontroller.h +++ b/framework/src/domain/contactcontroller.h @@ -35,6 +35,12 @@ class ContactController : public Kube::Controller //Interface properties KUBE_CONTROLLER_PROPERTY(QString, Name, name) KUBE_CONTROLLER_PROPERTY(QStringList, Emails, emails) + KUBE_CONTROLLER_PROPERTY(QStringList, PhoneNumbers, phoneNumbers) + KUBE_CONTROLLER_PROPERTY(QString, Street, street) + KUBE_CONTROLLER_PROPERTY(QString, City, city) + KUBE_CONTROLLER_PROPERTY(QString, Country, country) + KUBE_CONTROLLER_PROPERTY(QString, Company, company) + KUBE_CONTROLLER_PROPERTY(QString, JobTitle, jobTitle) KUBE_CONTROLLER_ACTION(save) -- cgit v1.2.3