41 #include "qmlcontact.h" |
41 #include "qmlcontact.h" |
42 #include <qcontactdetails.h> |
42 #include <qcontactdetails.h> |
43 #include <QtDebug> |
43 #include <QtDebug> |
44 #include <QStringList> |
44 #include <QStringList> |
45 |
45 |
|
46 #include <QPixmap> |
|
47 #include <QImage> |
|
48 |
46 QT_USE_NAMESPACE |
49 QT_USE_NAMESPACE |
47 QTM_USE_NAMESPACE |
50 QTM_USE_NAMESPACE |
48 |
51 |
49 QmlContact::QmlContact(const QContact& contact, QObject *parent) |
52 QmlContact::QmlContact(const QContact& contact, QObject *parent) |
50 : QObject(parent), m_contact(contact) |
53 : QObject(parent), m_contact(contact) |
82 Q_UNUSED(name); |
85 Q_UNUSED(name); |
83 qWarning() << "Not implemented yet"; |
86 qWarning() << "Not implemented yet"; |
84 emit nameChanged(this); |
87 emit nameChanged(this); |
85 } |
88 } |
86 |
89 |
87 QString QmlContact::email() |
90 QString QmlContact::email() const |
88 { |
91 { |
89 QList<QContactDetail> allEmails = m_contact.details(QContactEmailAddress::DefinitionName); |
92 QList<QContactDetail> allEmails = m_contact.details(QContactEmailAddress::DefinitionName); |
90 |
93 |
91 QStringList emails; |
94 QStringList emails; |
92 foreach (const QContactDetail& email, allEmails) { |
95 foreach (const QContactDetail& email, allEmails) { |
100 Q_UNUSED(email); |
103 Q_UNUSED(email); |
101 qWarning() << "Not implemented yet"; |
104 qWarning() << "Not implemented yet"; |
102 emit emailChanged(this); |
105 emit emailChanged(this); |
103 } |
106 } |
104 |
107 |
|
108 QString QmlContact::avatar() const |
|
109 { |
|
110 return m_contact.detail<QContactAvatar>().imageUrl().toString(); |
|
111 } |
|
112 |
|
113 QPixmap QmlContact::thumbnail() const |
|
114 { |
|
115 return QPixmap::fromImage(m_contact.detail<QContactThumbnail>().thumbnail()); |
|
116 } |
|
117 |
|
118 bool QmlContact::hasThumbnail() const |
|
119 { |
|
120 return !thumbnail().isNull(); |
|
121 } |
|
122 |
|
123 QString QmlContact::interest() const |
|
124 { |
|
125 // Try a phone number |
|
126 QString det = m_contact.detail(QContactPhoneNumber::DefinitionName).value(QContactPhoneNumber::FieldNumber); |
|
127 if (!det.isEmpty()) |
|
128 return det; |
|
129 |
|
130 det = m_contact.detail(QContactEmailAddress::DefinitionName).value(QContactEmailAddress::FieldEmailAddress); |
|
131 if (!det.isEmpty()) |
|
132 return det; |
|
133 |
|
134 det = m_contact.detail(QContactOnlineAccount::DefinitionName).value(QContactOnlineAccount::FieldAccountUri); |
|
135 if (!det.isEmpty()) |
|
136 return det; |
|
137 |
|
138 // Well, don't know. |
|
139 return QString(); |
|
140 } |
|
141 |
|
142 QString QmlContact::interestLabel() const |
|
143 { |
|
144 // Try a phone number |
|
145 QString det = m_contact.detail(QContactPhoneNumber::DefinitionName).value(QContactPhoneNumber::FieldNumber); |
|
146 if (!det.isEmpty()) |
|
147 return tr("Phone number:"); |
|
148 |
|
149 det = m_contact.detail(QContactEmailAddress::DefinitionName).value(QContactEmailAddress::FieldEmailAddress); |
|
150 if (!det.isEmpty()) |
|
151 return tr("Email:"); |
|
152 |
|
153 det = m_contact.detail(QContactOnlineAccount::DefinitionName).value(QContactOnlineAccount::FieldAccountUri); |
|
154 if (!det.isEmpty()) |
|
155 return QString("%1:").arg(m_contact.detail(QContactOnlineAccount::DefinitionName).value(QContactOnlineAccount::FieldServiceProvider)); |
|
156 |
|
157 // Well, don't know. |
|
158 return QString(); |
|
159 } |
105 |
160 |
106 QStringList QmlContact::details() |
161 QStringList QmlContact::details() |
107 { |
162 { |
108 QStringList dets; |
163 QStringList dets; |
109 QList<QContactDetail> ld = m_contact.details(); |
164 QList<QContactDetail> ld = m_contact.details(); |