qtmobility/examples/qmlcontacts/qmlcontact.cpp
changeset 4 90517678cc4f
parent 1 2b40d63a9c3d
child 5 453da2cfceef
equal deleted inserted replaced
1:2b40d63a9c3d 4:90517678cc4f
    45 #include <QStringList>
    45 #include <QStringList>
    46 
    46 
    47 QT_USE_NAMESPACE
    47 QT_USE_NAMESPACE
    48 QTM_USE_NAMESPACE
    48 QTM_USE_NAMESPACE
    49 
    49 
    50 QmlContact::QmlContact(QContact& contact, QObject *parent)
    50 QmlContact::QmlContact(const QContact& contact, QObject *parent)
    51     : QObject(parent), m_contact(contact)
    51     : QObject(parent), m_contact(contact)
    52 {   
    52 {   
    53 }
    53 }
    54 
    54 
    55 QmlContact::QmlContact()
    55 QmlContact::QmlContact()
    73     emit contactChanged(this);
    73     emit contactChanged(this);
    74 }
    74 }
    75 
    75 
    76 QString QmlContact::name()
    76 QString QmlContact::name()
    77 {
    77 {
    78     QList<QContactDetail> allNames = m_contact.details(QContactName::DefinitionName);
    78     return m_contact.displayLabel();
    79 
       
    80     const QLatin1String space(" ");
       
    81 
       
    82     // synthesise the display label from the name.
       
    83     for (int i=0; i < allNames.size(); i++) {
       
    84         const QContactName& name = allNames.at(i);
       
    85 
       
    86         QString result;
       
    87         if (!name.value(QContactName::FieldPrefix).trimmed().isEmpty()) {
       
    88            result += name.value(QContactName::FieldPrefix);
       
    89         }
       
    90 
       
    91         if (!name.value(QContactName::FieldFirst).trimmed().isEmpty()) {
       
    92             if (!result.isEmpty())
       
    93                 result += space;
       
    94             result += name.value(QContactName::FieldFirst);
       
    95         }
       
    96 
       
    97         if (!name.value(QContactName::FieldMiddle).trimmed().isEmpty()) {
       
    98             if (!result.isEmpty())
       
    99                 result += space;
       
   100             result += name.value(QContactName::FieldMiddle);
       
   101         }
       
   102 
       
   103         if (!name.value(QContactName::FieldLast).trimmed().isEmpty()) {
       
   104             if (!result.isEmpty())
       
   105                 result += space;
       
   106             result += name.value(QContactName::FieldLast);
       
   107         }
       
   108 
       
   109         if (!name.value(QContactName::FieldSuffix).trimmed().isEmpty()) {
       
   110             if (!result.isEmpty())
       
   111                 result += space;
       
   112             result += name.value(QContactName::FieldSuffix);
       
   113         }
       
   114 
       
   115         if (!result.isEmpty()) {
       
   116             return result;
       
   117         }
       
   118     }
       
   119 
       
   120 
       
   121     return QString("noName");
       
   122 }
    79 }
   123 
    80 
   124 void QmlContact::setName(QString name)
    81 void QmlContact::setName(QString name)
   125 {
    82 {
   126     Q_UNUSED(name);
    83     Q_UNUSED(name);
   188     QVariantMap map = detail.variantValues();
   145     QVariantMap map = detail.variantValues();
   189     return map;
   146     return map;
   190 }
   147 }
   191 
   148 
   192 #include "moc_qmlcontact.cpp"
   149 #include "moc_qmlcontact.cpp"
   193 
       
   194 QML_DEFINE_TYPE(QmlContact, 1, 0, QmlContact, QmlContact)