diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2017-03-28 14:26:04 +0200 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2017-03-28 14:38:16 +0200 |
commit | aa6f0e0b8ec9fb90182ab0b65825ba5e6c94d4fa (patch) | |
tree | 35a221049c20b5434b12ac0fc1015ec4e893e471 | |
parent | 4542730a5d01803bd8d5060e60fe9cb1d6e1990a (diff) | |
download | kube-aa6f0e0b8ec9fb90182ab0b65825ba5e6c94d4fa.tar.gz kube-aa6f0e0b8ec9fb90182ab0b65825ba5e6c94d4fa.zip |
get firstname/lastname from sink
-rw-r--r-- | framework/domain/peoplemodel.cpp | 15 |
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 | ||
73 | static 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 | |||
71 | QVariant PeopleModel::data(const QModelIndex &idx, int role) const | 80 | QVariant 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 | } |