qtmobility/examples/qmlcontacts/qmlcontact.cpp
changeset 8 71781823f776
parent 5 453da2cfceef
child 11 06b8e2af4411
equal deleted inserted replaced
5:453da2cfceef 8:71781823f776
    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)
    70 {
    73 {
    71     m_contact = contact;
    74     m_contact = contact;
    72     emit contactChanged(this);
    75     emit contactChanged(this);
    73 }
    76 }
    74 
    77 
    75 QString QmlContact::name()
    78 QString QmlContact::name() const
    76 {
    79 {
    77     return m_contact.displayLabel();
    80     return m_contact.displayLabel();
    78 }
    81 }
    79 
    82 
    80 void QmlContact::setName(QString name)
    83 void QmlContact::setName(QString name)
    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();