qmlcontact.cpp Example File
qmlcontacts/qmlcontact.cpp
#include "qmlcontact.h"
#include <qcontactname.h>
#include <QtDebug>
QT_USE_NAMESPACE
QTM_USE_NAMESPACE
QmlContact::QmlContact(QContact& contact, QObject *parent)
: QObject(parent), m_contact(contact)
{
}
QmlContact::QmlContact()
{
}
QmlContact::~QmlContact()
{
}
QContact &QmlContact::contact()
{
return m_contact;
}
void QmlContact::setContact(QContact& contact)
{
m_contact = contact;
emit contactChanged(this);
}
QString QmlContact::name()
{
QList<QContactDetail> allNames = m_contact.details(QContactName::DefinitionName);
const QLatin1String space(" ");
for (int i=0; i < allNames.size(); i++) {
const QContactName& name = allNames.at(i);
QString result;
if (!name.value(QContactName::FieldPrefix).trimmed().isEmpty()) {
result += name.value(QContactName::FieldPrefix);
}
if (!name.value(QContactName::FieldFirst).trimmed().isEmpty()) {
if (!result.isEmpty())
result += space;
result += name.value(QContactName::FieldFirst);
}
if (!name.value(QContactName::FieldMiddle).trimmed().isEmpty()) {
if (!result.isEmpty())
result += space;
result += name.value(QContactName::FieldMiddle);
}
if (!name.value(QContactName::FieldLast).trimmed().isEmpty()) {
if (!result.isEmpty())
result += space;
result += name.value(QContactName::FieldLast);
}
if (!name.value(QContactName::FieldSuffix).trimmed().isEmpty()) {
if (!result.isEmpty())
result += space;
result += name.value(QContactName::FieldSuffix);
}
if (!result.isEmpty()) {
return result;
}
}
return QString("noName");
}
void QmlContact::setName(QString name)
{
Q_UNUSED(name);
qWarning() << "Not implemented yet";
emit nameChanged(this);
}
QStringList QmlContact::availableActions()
{
QList<QContactActionDescriptor> actions = m_contact.availableActions();
QStringList names;
foreach (const QContactActionDescriptor& action, actions) {
names << action.actionName();
}
return names;
}
QStringList QmlContact::details()
{
QStringList dets;
QList<QContactDetail> ld = m_contact.details();
QContactDetail d;
foreach(d, ld){
dets += d.definitionName();
}
return dets;
}
QStringList QmlContact::contexts()
{
QStringList dets;
QList<QContactDetail> ld = m_contact.details();
QContactDetail d;
foreach(d, ld){
dets += d.contexts();
}
return dets;
}
QVariantMap QmlContact::values(QString definitionId)
{
QStringList strlist;
QContactDetail detail = m_contact.detail(definitionId);
QVariantMap map = detail.variantValues();
return map;
}
#include "moc_qmlcontact.cpp"
QML_DEFINE_TYPE(QmlContact, 1, 0, QmlContact, QmlContact)
Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies) |
Trademarks |
Qt Mobility Project 1.0.0 |