diff -r e6aff7b69165 -r 47627ab5d7a4 phonebookui/phonebookservices/src/cntservices.cpp --- a/phonebookui/phonebookservices/src/cntservices.cpp Fri Jul 23 12:43:48 2010 +0300 +++ b/phonebookui/phonebookservices/src/cntservices.cpp Thu Aug 05 14:31:09 2010 +0300 @@ -293,7 +293,7 @@ CntViewParameters params; params.insert(EViewId, serviceEditView); - QContact contact = mViewManager->contactManager(SYMBIAN_BACKEND)->contact(contactId); + QContact contact = contactManager()->contact(contactId); QVariant varContact; varContact.setValue(contact); params.insert(ESelectedContact, varContact); @@ -308,8 +308,7 @@ CNT_ENTRY mCurrentProvider = &aServiceProvider; - QContactManager manager("symbian"); - QContact contact = manager.contact(aContactId); + QContact contact = contactManager()->contact(aContactId); // Launch Contact Card view CntViewParameters params; @@ -372,6 +371,23 @@ CNT_EXIT } +void CntServices::launchGroupMemberView(int aContactId, + CntAbstractServiceProvider& aServiceProvider ) +{ + CNT_ENTRY + mCurrentProvider = &aServiceProvider; + + QContact contact = contactManager()->contact(aContactId); + + // Launch Group member view + CntViewParameters params; + params.insert(EViewId, serviceGroupMemberView); + QVariant var; + var.setValue(contact); + params.insert(ESelectedGroupContact, var); + mViewManager->changeView( params ); + CNT_EXIT +} void CntServices::setQuittable(bool quittable) { @@ -411,7 +427,6 @@ void CntServices::removeNotSupportedFields(QContact& contact) { CNT_ENTRY - QContactManager cm("symbian"); QList removeList; // Not all fields are supported in symbian back-end @@ -449,7 +464,10 @@ if(phoneDetail.subTypes().contains(QContactPhoneNumber::SubTypeVoice) || phoneDetail.subTypes().contains(QContactPhoneNumber::SubTypeMessagingCapable)) { - detail.removeValue(QContactPhoneNumber::FieldSubTypes); + // Default to subtype mobile + QStringList l; + l << QLatin1String(QContactPhoneNumber::SubTypeMobile); + detail.setValue(QContactPhoneNumber::FieldSubTypes, l); contact.saveDetail(&detail); } } @@ -509,9 +527,9 @@ { CNT_ENTRY if ( mCurrentProvider ) - { + { mCurrentProvider->CompleteServiceAndCloseApp( retValue ); - } + } CNT_EXIT } @@ -519,14 +537,21 @@ { CNT_ENTRY if ( mCurrentProvider ) - { + { // Complete the service with KCntServicesTerminated return value QVariant var(KCntServicesTerminated); mCurrentProvider->CompleteServiceAndCloseApp( var ); - } + } CNT_EXIT } +QContactManager* CntServices::contactManager() +{ + if ( mViewManager ) + return mViewManager->contactManager(SYMBIAN_BACKEND); + return NULL; +} + Q_IMPLEMENT_USER_METATYPE(CntServicesContact) Q_IMPLEMENT_USER_METATYPE_NO_OPERATORS(CntServicesContactList)