135 */ |
136 */ |
136 void CntMyCardView::openMyCardSelectionView() |
137 void CntMyCardView::openMyCardSelectionView() |
137 { |
138 { |
138 CntFetchContactPopup* popup = CntFetchContactPopup::createSingleSelectionPopup( |
139 CntFetchContactPopup* popup = CntFetchContactPopup::createSingleSelectionPopup( |
139 hbTrId("txt_phob_title_select_contact"), |
140 hbTrId("txt_phob_title_select_contact"), |
140 *mViewManager->contactManager(SYMBIAN_BACKEND)); |
141 mEngine->contactManager(SYMBIAN_BACKEND)); |
141 connect( popup, SIGNAL(fetchReady(QSet<QContactLocalId>)), this, SLOT(handleMultiCardSelection(QSet<QContactLocalId>))); |
142 connect( popup, SIGNAL(fetchReady(QSet<QContactLocalId>)), this, SLOT(handleMultiCardSelection(QSet<QContactLocalId>))); |
|
143 QSet<QContactLocalId> ids; |
|
144 popup->setSelectedContacts(ids); |
142 popup->showPopup(); |
145 popup->showPopup(); |
143 } |
146 } |
144 |
147 |
145 void CntMyCardView::handleMultiCardSelection( QSet<QContactLocalId> aIds ) |
148 void CntMyCardView::handleMultiCardSelection( QSet<QContactLocalId> aIds ) |
146 { |
149 { |
147 QContactManager* manager = mViewManager->contactManager( SYMBIAN_BACKEND ); |
150 QContactManager& manager = mEngine->contactManager( SYMBIAN_BACKEND ); |
148 |
151 |
149 if ( !aIds.isEmpty() ) { |
152 if ( !aIds.isEmpty() ) { |
150 QList<QContactLocalId> selectedContactsList = aIds.values(); |
153 QList<QContactLocalId> selectedContactsList = aIds.values(); |
151 QContact contact = manager->contact(selectedContactsList.front()); |
154 QContact contact = manager.contact(selectedContactsList.front()); |
152 removeFromGroup(&contact); |
155 removeFromGroup(&contact); |
153 |
156 |
154 manager->setSelfContactId( contact.localId() ); |
157 manager.setSelfContactId( contact.localId() ); |
155 showPreviousView(); |
158 showPreviousView(); |
156 } |
159 } |
157 } |
160 } |
158 |
161 |
159 void CntMyCardView::removeFromGroup(const QContact* aContact) |
162 void CntMyCardView::removeFromGroup(const QContact* aContact) |
160 { |
163 { |
161 QContactDetailFilter groupFilter; |
164 QContactDetailFilter groupFilter; |
162 groupFilter.setDetailDefinitionName(QContactType::DefinitionName, QContactType::FieldType); |
165 groupFilter.setDetailDefinitionName(QContactType::DefinitionName, QContactType::FieldType); |
163 groupFilter.setValue(QLatin1String(QContactType::TypeGroup)); |
166 groupFilter.setValue(QLatin1String(QContactType::TypeGroup)); |
164 |
167 |
165 QContactManager* mgr = mViewManager->contactManager(SYMBIAN_BACKEND); |
168 QContactManager& mgr = mEngine->contactManager(SYMBIAN_BACKEND); |
166 QList<QContactLocalId> groupContactIds = mgr->contactIds(groupFilter); |
169 QList<QContactLocalId> groupContactIds = mgr.contactIds(groupFilter); |
167 if (!groupContactIds.isEmpty()) { |
170 if (!groupContactIds.isEmpty()) { |
168 for(int i = 0;i < groupContactIds.count();i++) { |
171 for(int i = 0;i < groupContactIds.count();i++) { |
169 QContact groupContact = mgr->contact(groupContactIds.at(i)); |
172 QContact groupContact = mgr.contact(groupContactIds.at(i)); |
170 QContactRelationship relationship; |
173 QContactRelationship relationship; |
171 relationship.setRelationshipType(QContactRelationship::HasMember); |
174 relationship.setRelationshipType(QContactRelationship::HasMember); |
172 relationship.setFirst(groupContact.id()); |
175 relationship.setFirst(groupContact.id()); |
173 relationship.setSecond(aContact->id()); |
176 relationship.setSecond(aContact->id()); |
174 mgr->removeRelationship(relationship); |
177 mgr.removeRelationship(relationship); |
175 } |
178 } |
176 } |
179 } |
177 } |
180 } |
178 |
181 |
179 // EOF |
182 // EOF |