20 #include "cntgroupselectionpopup.h" |
20 #include "cntgroupselectionpopup.h" |
21 #include "cntgroupdeletepopup.h" |
21 #include "cntgroupdeletepopup.h" |
22 #include "cntcollectionlistmodel.h" |
22 #include "cntcollectionlistmodel.h" |
23 #include "cntextensionmanager.h" |
23 #include "cntextensionmanager.h" |
24 #include "qtpbkglobal.h" |
24 #include "qtpbkglobal.h" |
|
25 #include "cntfavourite.h" |
25 |
26 |
26 #include <cntuiextensionfactory.h> |
27 #include <cntuiextensionfactory.h> |
27 #include <cntuigroupsupplier.h> |
28 #include <cntuigroupsupplier.h> |
28 |
29 #include <hblabel.h> |
29 #include <hblistview.h> |
30 #include <hblistview.h> |
30 #include <hblistviewitem.h> |
31 #include <hblistviewitem.h> |
31 #include <hbmenu.h> |
32 #include <hbmenu.h> |
32 #include <hbnotificationdialog.h> |
33 #include <hbnotificationdialog.h> |
33 #include <hbinputdialog.h> |
34 #include <hbinputdialog.h> |
86 // toolbar actions |
87 // toolbar actions |
87 |
88 |
88 mNamesAction = static_cast<HbAction*>(mDocumentLoader.findObject("cnt:names")); |
89 mNamesAction = static_cast<HbAction*>(mDocumentLoader.findObject("cnt:names")); |
89 connect(mNamesAction, SIGNAL(triggered()), this, SLOT(showPreviousView())); |
90 connect(mNamesAction, SIGNAL(triggered()), this, SLOT(showPreviousView())); |
90 mFindAction = static_cast<HbAction*>(mDocumentLoader.findObject("cnt:find")); |
91 mFindAction = static_cast<HbAction*>(mDocumentLoader.findObject("cnt:find")); |
|
92 mFindAction->setEnabled(false); |
91 mExtensionAction = static_cast<HbAction*> (mDocumentLoader.findObject("cnt:activity")); |
93 mExtensionAction = static_cast<HbAction*> (mDocumentLoader.findObject("cnt:activity")); |
92 } |
94 } |
93 |
95 |
94 /*! |
96 /*! |
95 |
97 |
178 } |
188 } |
179 } |
189 } |
180 else |
190 else |
181 { |
191 { |
182 int id = index.data(Qt::UserRole).toInt(); |
192 int id = index.data(Qt::UserRole).toInt(); |
183 int favoriteGrpId = mModel->favoriteGroupId(); |
193 int favoriteGrpId = CntFavourite::favouriteGroupId(mViewManager->contactManager(SYMBIAN_BACKEND)); |
184 |
194 |
185 if (id == favoriteGrpId ) |
195 if (id == favoriteGrpId ) |
186 { |
196 { |
187 QContact favoriteGroup = getContactManager()->contact(favoriteGrpId); |
197 QContact favoriteGroup = getContactManager()->contact(favoriteGrpId); |
188 QContactRelationshipFilter rFilter; |
198 QContactRelationshipFilter rFilter; |
196 { |
206 { |
197 CntViewParameters viewParameters; |
207 CntViewParameters viewParameters; |
198 viewParameters.insert(EViewId, collectionFavoritesView); |
208 viewParameters.insert(EViewId, collectionFavoritesView); |
199 QVariant var; |
209 QVariant var; |
200 var.setValue(favoriteGroup); |
210 var.setValue(favoriteGroup); |
201 viewParameters.insert(ESelectedContact, var); |
211 viewParameters.insert(ESelectedGroupContact, var); |
202 mViewManager->changeView(viewParameters); |
212 mViewManager->changeView(viewParameters); |
203 } |
213 } |
204 else |
214 else |
205 { |
215 { |
206 CntViewParameters viewParameters; |
216 CntViewParameters viewParameters; |
207 viewParameters.insert(EViewId, FavoritesMemberView); |
217 viewParameters.insert(EViewId, FavoritesMemberView); |
208 QVariant var; |
218 QVariant var; |
209 var.setValue(favoriteGroup); |
219 var.setValue(favoriteGroup); |
210 viewParameters.insert(ESelectedContact, var); |
220 viewParameters.insert(ESelectedGroupContact, var); |
211 mViewManager->changeView(viewParameters); |
221 mViewManager->changeView(viewParameters); |
212 } |
222 } |
213 } |
223 } |
214 else |
224 else |
215 { |
225 { |
217 |
227 |
218 CntViewParameters viewParameters; |
228 CntViewParameters viewParameters; |
219 viewParameters.insert(EViewId, groupMemberView); |
229 viewParameters.insert(EViewId, groupMemberView); |
220 QVariant var; |
230 QVariant var; |
221 var.setValue(groupContact); |
231 var.setValue(groupContact); |
222 viewParameters.insert(ESelectedContact, var); |
232 viewParameters.insert(ESelectedGroupContact, var); |
223 mViewManager->changeView(viewParameters); |
233 mViewManager->changeView(viewParameters); |
224 } |
234 } |
225 } |
235 } |
226 } |
236 } |
227 |
237 |
228 void CntCollectionView::showContextMenu(HbAbstractViewItem *item, const QPointF &coords) |
238 void CntCollectionView::showContextMenu(HbAbstractViewItem *item, const QPointF &coords) |
229 { |
239 { |
230 if (mModel->isExtensionGroup(item->modelIndex())) |
240 if (mModel->isExtensionGroup(item->modelIndex())) |
231 { |
241 { |
232 CntViewParameters params = mModel->extensionGroupLongPressed(item->modelIndex().row(), coords); |
242 mModel->extensionGroupLongPressed(item->modelIndex().row(), coords, this); |
233 if (params.count()) |
|
234 { |
|
235 mViewManager->changeView(params); |
|
236 } |
|
237 } |
243 } |
238 else |
244 else |
239 { |
245 { |
240 int id = item->modelIndex().data(Qt::UserRole).toInt(); |
246 int id = item->modelIndex().data(Qt::UserRole).toInt(); |
241 QVariant data( item->modelIndex().row() ); |
247 QVariant data( item->modelIndex().row() ); |
242 |
248 |
243 int favoriteGrpId = mModel->favoriteGroupId(); |
249 int favoriteGrpId = CntFavourite::favouriteGroupId(mViewManager->contactManager(SYMBIAN_BACKEND)); |
244 |
250 |
245 HbMenu *menu = new HbMenu(); |
251 HbMenu *menu = new HbMenu(); |
246 menu->setAttribute(Qt::WA_DeleteOnClose); |
252 menu->setAttribute(Qt::WA_DeleteOnClose); |
247 menu->setPreferredPos( coords ); |
253 menu->setPreferredPos( coords ); |
248 |
254 |
285 { |
291 { |
286 HbInputDialog *popup = new HbInputDialog(); |
292 HbInputDialog *popup = new HbInputDialog(); |
287 popup->setAttribute(Qt::WA_DeleteOnClose, true); |
293 popup->setAttribute(Qt::WA_DeleteOnClose, true); |
288 |
294 |
289 popup->setPromptText(hbTrId("txt_phob_title_new_group_name")); |
295 popup->setPromptText(hbTrId("txt_phob_title_new_group_name")); |
290 popup->setPrimaryAction(new HbAction(hbTrId("txt_phob_button_create"), popup)); |
296 popup->clearActions(); |
291 popup->setSecondaryAction(new HbAction(hbTrId("txt_common_button_cancel"), popup)); |
297 HbAction* primaryAction = new HbAction(hbTrId("txt_phob_button_create")); |
|
298 popup->addAction(primaryAction); |
|
299 |
|
300 HbAction* secondaryAction = new HbAction(hbTrId("txt_common_button_cancel")); |
|
301 popup->addAction(secondaryAction); |
|
302 |
292 popup->setInputMode(HbInputDialog::TextInput); |
303 popup->setInputMode(HbInputDialog::TextInput); |
293 |
304 |
294 popup->open(this, SLOT(handleNewGroup(HbAction*))); |
305 popup->open(this, SLOT(handleNewGroup(HbAction*))); |
295 } |
306 } |
296 |
307 |
316 QSet<QContactLocalId> contactsSet = contactsList.toSet(); |
327 QSet<QContactLocalId> contactsSet = contactsList.toSet(); |
317 |
328 |
318 // Select some contact(s) to add to the group |
329 // Select some contact(s) to add to the group |
319 QString groupNameCreated(mHandledContact->displayLabel()); |
330 QString groupNameCreated(mHandledContact->displayLabel()); |
320 mFetchView->setDetails(HbParameterLengthLimiter(hbTrId("txt_phob_subtitle_1_group")).arg(groupNameCreated), |
331 mFetchView->setDetails(HbParameterLengthLimiter(hbTrId("txt_phob_subtitle_1_group")).arg(groupNameCreated), |
321 hbTrId("Save")); |
332 hbTrId("txt_common_button_save")); |
322 mFetchView->displayContacts(CntFetchContacts::popup, |
333 mFetchView->displayContacts(CntFetchContacts::popup, |
323 HbAbstractItemView::MultiSelection, |
334 HbAbstractItemView::MultiSelection, |
324 contactsSet); |
335 contactsSet); |
325 } |
336 } |
326 } |
337 } |
333 |
344 |
334 CntViewParameters viewParameters; |
345 CntViewParameters viewParameters; |
335 viewParameters.insert(EViewId, groupMemberView); |
346 viewParameters.insert(EViewId, groupMemberView); |
336 QVariant var; |
347 QVariant var; |
337 var.setValue(*mHandledContact); |
348 var.setValue(*mHandledContact); |
338 viewParameters.insert(ESelectedContact, var); |
349 viewParameters.insert(ESelectedGroupContact, var); |
339 mViewManager->changeView(viewParameters); |
350 mViewManager->changeView(viewParameters); |
340 } |
351 } |
341 |
352 |
342 QString groupNameCreated(mHandledContact->displayLabel()); |
353 QString groupNameCreated(mHandledContact->displayLabel()); |
343 HbNotificationDialog::launchDialog(HbParameterLengthLimiter(hbTrId("txt_phob_dpophead_new_group_1_created")).arg(groupNameCreated)); |
354 HbNotificationDialog::launchDialog(HbParameterLengthLimiter(hbTrId("txt_phob_dpophead_new_group_1_created")).arg(groupNameCreated)); |
362 void CntCollectionView::deleteGroup(QContact group) |
373 void CntCollectionView::deleteGroup(QContact group) |
363 { |
374 { |
364 mHandledContact = new QContact(group); |
375 mHandledContact = new QContact(group); |
365 QString name = mHandledContact->displayLabel(); |
376 QString name = mHandledContact->displayLabel(); |
366 |
377 |
367 HbMessageBox::question(HbParameterLengthLimiter(hbTrId("txt_phob_dialog_delete_1_group")).arg(name), this, SLOT(handleDeleteGroup(HbAction*)), |
378 HbLabel *headingLabel = new HbLabel(); |
368 hbTrId("txt_phob_button_delete"), hbTrId("txt_common_button_cancel")); |
379 headingLabel->setPlainText(HbParameterLengthLimiter(hbTrId("txt_phob_dialog_delete_1_group")).arg(name)); |
|
380 |
|
381 HbMessageBox::question(hbTrId("txt_phob_dialog_only_group_will_be_removed_contac") |
|
382 , this, SLOT(handleDeleteGroup(HbAction*)), |
|
383 hbTrId("txt_phob_button_delete"), hbTrId("txt_common_button_cancel"), headingLabel); |
369 } |
384 } |
370 |
385 |
371 void CntCollectionView::handleDeleteGroup(HbAction* action) |
386 void CntCollectionView::handleDeleteGroup(HbAction* action) |
372 { |
387 { |
373 HbMessageBox *note = static_cast<HbMessageBox*>(sender()); |
388 HbMessageBox *note = static_cast<HbMessageBox*>(sender()); |