diff options
author | Cristiano di Flora <cristiano.di-flora@nokia.com> | 2011-10-17 11:23:47 +0300 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-10-17 15:38:36 +0200 |
commit | d36cad151118f72532283d0d61555265e5ccc0ef (patch) | |
tree | 08d04319d5984676d9a02c066a983b9d146c2357 /src/imports/contacts/qdeclarativecontactrelationshipmodel.cpp | |
parent | c3559597e7f1e65f0566d03e792803614fb9db40 (diff) |
Fix two issues in contact relationship qml elements.
- export RelationshipModel element
- check if participant property is set before parsing its value
Change-Id: Iae1f54323a5e539a54406167659bade7b7155742
Reviewed-by: Claudio Brunelli <claudio.brunelli@nokia.com>
Reviewed-by: Tommi Anttila <tommi.4.anttila@nokia.com>
Reviewed-by: Kranthi Kumar Kuntala <kranthi.kumar-kuntala@nokia.com>
Diffstat (limited to 'src/imports/contacts/qdeclarativecontactrelationshipmodel.cpp')
-rw-r--r-- | src/imports/contacts/qdeclarativecontactrelationshipmodel.cpp | 28 |
1 files changed, 10 insertions, 18 deletions
diff --git a/src/imports/contacts/qdeclarativecontactrelationshipmodel.cpp b/src/imports/contacts/qdeclarativecontactrelationshipmodel.cpp index db77da48d..f92ee11a3 100644 --- a/src/imports/contacts/qdeclarativecontactrelationshipmodel.cpp +++ b/src/imports/contacts/qdeclarativecontactrelationshipmodel.cpp @@ -43,7 +43,6 @@ #include "qcontactmanager.h" #include "qcontactrequests.h" -#include <QDebug> #include <QPixmap> QTPIM_BEGIN_NAMESPACE @@ -100,7 +99,6 @@ QDeclarativeContactRelationshipModel::QDeclarativeContactRelationshipModel(QObje roleNames = QAbstractItemModel::roleNames(); roleNames.insert(RelationshipRole, "relationship"); setRoleNames(roleNames); - connect(this, SIGNAL(managerChanged()), SLOT(fetchAgain())); connect(this, SIGNAL(participantChanged()), SLOT(fetchAgain())); connect(this, SIGNAL(relationshipTypeChanged()), SLOT(fetchAgain())); @@ -287,19 +285,16 @@ void QDeclarativeContactRelationshipModel::fetchAgain() if (d->m_manager) { QContactRelationshipFetchRequest* req = new QContactRelationshipFetchRequest(this); req->setManager(d->m_manager); - - QContact contact (d->m_participant->contact()); - if (d->m_role == QDeclarativeContactRelationship::First || d->m_role == QDeclarativeContactRelationship::Either) - req->setFirst(contact); - - if (d->m_role == QDeclarativeContactRelationship::Second || d->m_role == QDeclarativeContactRelationship::Either) - req->setSecond(contact); - - - req->setRelationshipType(d->m_relationshipTypeHolder.relationship().relationshipType()); - connect(req,SIGNAL(stateChanged(QContactAbstractRequest::State)), this, SLOT(requestUpdated())); - - req->start(); + if (d->m_participant) { + QContact contact (d->m_participant->contact()); + if (d->m_role == QDeclarativeContactRelationship::First || d->m_role == QDeclarativeContactRelationship::Either) + req->setFirst(contact); + if (d->m_role == QDeclarativeContactRelationship::Second || d->m_role == QDeclarativeContactRelationship::Either) + req->setSecond(contact); + req->setRelationshipType(d->m_relationshipTypeHolder.relationship().relationshipType()); + connect(req,SIGNAL(stateChanged(QContactAbstractRequest::State)), this, SLOT(requestUpdated())); + req->start(); + } } } @@ -338,7 +333,6 @@ void QDeclarativeContactRelationshipModel::removeRelationship(QDeclarativeContac void QDeclarativeContactRelationshipModel::requestUpdated() { QContactRelationshipFetchRequest* req = qobject_cast<QContactRelationshipFetchRequest*>(sender()); - if (req->isFinished() && req->error() == QContactManager::NoError) { QList<QContactRelationship> relationships = req->relationships(); @@ -352,7 +346,6 @@ void QDeclarativeContactRelationshipModel::requestUpdated() d->m_declarativeRelationships.clear(); d->m_relationships.clear(); - foreach (const QContactRelationship& cr, relationships) { QDeclarativeContactRelationship* dcr = new QDeclarativeContactRelationship(this); dcr->setRelationship(cr); @@ -360,7 +353,6 @@ void QDeclarativeContactRelationshipModel::requestUpdated() d->m_relationships.append(cr); } endInsertRows(); - req->deleteLater(); emit relationshipsChanged(); } |