summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2017-03-28 14:26:04 +0200
committerChristian Mollekopf <chrigi_1@fastmail.fm>2017-03-28 14:38:16 +0200
commitaa6f0e0b8ec9fb90182ab0b65825ba5e6c94d4fa (patch)
tree35a221049c20b5434b12ac0fc1015ec4e893e471
parent4542730a5d01803bd8d5060e60fe9cb1d6e1990a (diff)
downloadkube-aa6f0e0b8ec9fb90182ab0b65825ba5e6c94d4fa.tar.gz
kube-aa6f0e0b8ec9fb90182ab0b65825ba5e6c94d4fa.zip
get firstname/lastname from sink
-rw-r--r--framework/domain/peoplemodel.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/framework/domain/peoplemodel.cpp b/framework/domain/peoplemodel.cpp
index ef2cc9a0..c9e7248c 100644
--- a/framework/domain/peoplemodel.cpp
+++ b/framework/domain/peoplemodel.cpp
@@ -36,6 +36,8 @@ PeopleModel::PeopleModel(QObject *parent)
36 query.request<Contact::Emails>(); 36 query.request<Contact::Emails>();
37 query.request<Contact::Addressbook>(); 37 query.request<Contact::Addressbook>();
38 query.request<Contact::Vcard>(); 38 query.request<Contact::Vcard>();
39 query.request<Contact::Firstname>();
40 query.request<Contact::Lastname>();
39 runQuery(query); 41 runQuery(query);
40} 42}
41 43
@@ -68,6 +70,13 @@ QHash< int, QByteArray > PeopleModel::roleNames() const
68 return roles; 70 return roles;
69} 71}
70 72
73static QStringList toStringList(const QList<Sink::ApplicationDomain::Contact::Email> &list)
74{
75 QStringList out;
76 std::transform(list.constBegin(), list.constEnd(), std::back_inserter(out), [] (const Sink::ApplicationDomain::Contact::Email &s) { return s.email; });
77 return out;
78}
79
71QVariant PeopleModel::data(const QModelIndex &idx, int role) const 80QVariant PeopleModel::data(const QModelIndex &idx, int role) const
72{ 81{
73 auto srcIdx = mapToSource(idx); 82 auto srcIdx = mapToSource(idx);
@@ -76,7 +85,7 @@ QVariant PeopleModel::data(const QModelIndex &idx, int role) const
76 case Name: 85 case Name:
77 return contact->getFn(); 86 return contact->getFn();
78 case Emails: 87 case Emails:
79 return QVariant::fromValue(contact->getEmails()); 88 return QVariant::fromValue(toStringList(contact->getEmails()));
80 case Addressbook: 89 case Addressbook:
81 return contact->getAddressbook(); 90 return contact->getAddressbook();
82 case Type: 91 case Type:
@@ -84,9 +93,9 @@ QVariant PeopleModel::data(const QModelIndex &idx, int role) const
84 case DomainObject: 93 case DomainObject:
85 return QVariant::fromValue(contact); 94 return QVariant::fromValue(contact);
86 case FirstName: 95 case FirstName:
87 return "FIRSTNAME"; 96 return contact->getFirstname();
88 case LastName: 97 case LastName:
89 return contact->getFn(); 98 return contact->getLastname();
90 } 99 }
91 return QSortFilterProxyModel::data(idx, role); 100 return QSortFilterProxyModel::data(idx, role);
92} 101}