128 viewParameters.insert(EMyCard, "myCard" ); |
124 viewParameters.insert(EMyCard, "myCard" ); |
129 |
125 |
130 QVariant var; |
126 QVariant var; |
131 var.setValue(*mContact); |
127 var.setValue(*mContact); |
132 viewParameters.insert(ESelectedContact, var); |
128 viewParameters.insert(ESelectedContact, var); |
|
129 viewParameters.insert(EExtraAction, CNT_ROOT_ACTION); |
133 mViewManager->changeView(viewParameters); |
130 mViewManager->changeView(viewParameters); |
134 } |
131 } |
135 |
132 |
136 /*! |
133 /*! |
137 Opens the my card selection view |
134 Opens the my card selection view |
138 */ |
135 */ |
139 void CntMyCardView::openMyCardSelectionView() |
136 void CntMyCardView::openMyCardSelectionView() |
140 { |
137 { |
141 // Display a list of contacts to choose a mycard from. |
138 CntFetchContactPopup* popup = CntFetchContactPopup::createSingleSelectionPopup( |
142 if (!mFetchView) { |
139 hbTrId("txt_phob_title_select_contact"), |
143 mFetchView = new CntFetchContacts(*mViewManager->contactManager( SYMBIAN_BACKEND )); |
140 *mViewManager->contactManager(SYMBIAN_BACKEND)); |
144 connect(mFetchView, SIGNAL(clicked()), this, SLOT(handleMultiCardSelection())); |
141 connect( popup, SIGNAL(fetchReady(QSet<QContactLocalId>)), this, SLOT(handleMultiCardSelection(QSet<QContactLocalId>))); |
145 } |
142 popup->showPopup(); |
146 mFetchView->setDetails(hbTrId("txt_phob_title_select_contact"), ""); |
|
147 QSet<QContactLocalId> emptyContactsSet; |
|
148 mFetchView->displayContacts(HbAbstractItemView::SingleSelection, emptyContactsSet); |
|
149 } |
143 } |
150 |
144 |
151 void CntMyCardView::handleMultiCardSelection() |
145 void CntMyCardView::handleMultiCardSelection( QSet<QContactLocalId> aIds ) |
152 { |
146 { |
153 QContactManager* manager = mViewManager->contactManager( SYMBIAN_BACKEND ); |
147 QContactManager* manager = mViewManager->contactManager( SYMBIAN_BACKEND ); |
154 |
148 |
155 QSet<QContactLocalId> selectedContacts = mFetchView->getSelectedContacts(); |
149 if ( !aIds.isEmpty() ) { |
156 |
150 QList<QContactLocalId> selectedContactsList = aIds.values(); |
157 if ( !mFetchView->wasCanceled() && !selectedContacts.isEmpty() ) { |
|
158 QList<QContactLocalId> selectedContactsList = selectedContacts.values(); |
|
159 QContact contact = manager->contact(selectedContactsList.front()); |
151 QContact contact = manager->contact(selectedContactsList.front()); |
160 removeFromGroup(&contact); |
152 removeFromGroup(&contact); |
161 |
153 |
162 manager->setSelfContactId( contact.localId() ); |
154 manager->setSelfContactId( contact.localId() ); |
163 showPreviousView(); |
155 showPreviousView(); |
164 } |
|
165 else { |
|
166 delete mFetchView; |
|
167 mFetchView = NULL; |
|
168 } |
156 } |
169 } |
157 } |
170 |
158 |
171 void CntMyCardView::removeFromGroup(const QContact* aContact) |
159 void CntMyCardView::removeFromGroup(const QContact* aContact) |
172 { |
160 { |