equal
deleted
inserted
replaced
32 #include <hblistview.h> |
32 #include <hblistview.h> |
33 #include <hbaction.h> |
33 #include <hbaction.h> |
34 #include <hbmenu.h> |
34 #include <hbmenu.h> |
35 #include <hbframebackground.h> |
35 #include <hbframebackground.h> |
36 #include <hbparameterlengthlimiter.h> |
36 #include <hbparameterlengthlimiter.h> |
37 #include <hbnotificationdialog.h> |
37 #include <hbdevicenotificationdialog.h> |
38 |
38 |
39 const char *CNT_EDIT_XML = ":/xml/contacts_ev.docml"; |
39 const char *CNT_EDIT_XML = ":/xml/contacts_ev.docml"; |
40 |
40 |
41 CntEditViewPrivate::CntEditViewPrivate() : |
41 CntEditViewPrivate::CntEditViewPrivate() : |
42 mModel( NULL ), |
42 mModel( NULL ), |
117 mView->setNavigationAction(mSoftkey); |
117 mView->setNavigationAction(mSoftkey); |
118 } |
118 } |
119 HbMainWindow* window = mView->mainWindow(); |
119 HbMainWindow* window = mView->mainWindow(); |
120 if ( window ) |
120 if ( window ) |
121 { |
121 { |
|
122 connect(window, SIGNAL(viewReady()), this, SLOT(setScrollPosition()) ); |
122 connect(window, SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(setOrientation(Qt::Orientation))); |
123 connect(window, SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(setOrientation(Qt::Orientation))); |
123 setOrientation(window->orientation()); |
124 setOrientation(window->orientation()); |
124 } |
125 } |
125 |
126 |
126 QString myCard = mArgs.value( EMyCard ).toString(); |
127 QString myCard = mArgs.value( EMyCard ).toString(); |
322 |
323 |
323 void CntEditViewPrivate::deleteContact() |
324 void CntEditViewPrivate::deleteContact() |
324 { |
325 { |
325 if ( mIsMyCard ) |
326 if ( mIsMyCard ) |
326 { |
327 { |
327 HbMessageBox::question(hbTrId("txt_phob_info_clear_my_card"), this, |
328 HbMessageBox::question(hbTrId("txt_phob_dialog_remove_all_personal_data_from_my_c"), this, |
328 SLOT(handleDeleteContact(HbAction*)), |
329 SLOT(handleDeleteContact(HbAction*)), |
329 hbTrId("txt_phob_button_clear"), |
330 hbTrId("txt_phob_button_clear"), |
330 hbTrId("txt_common_button_cancel")); |
331 hbTrId("txt_common_button_cancel")); |
331 } |
332 } |
332 else |
333 else |
343 HbMessageBox *dlg = static_cast<HbMessageBox*>(sender()); |
344 HbMessageBox *dlg = static_cast<HbMessageBox*>(sender()); |
344 if(dlg && action == dlg->actions().first()) |
345 if(dlg && action == dlg->actions().first()) |
345 { |
346 { |
346 QContactManager* cm = mMgr->contactManager( SYMBIAN_BACKEND ); |
347 QContactManager* cm = mMgr->contactManager( SYMBIAN_BACKEND ); |
347 |
348 |
348 if ( mIsMyCard ) |
349 emit contactRemoved(cm->removeContact( mContact->localId() )); |
349 { |
|
350 mContact->clearDetails(); |
|
351 emit contactUpdated(cm->saveContact(mContact)); |
|
352 } |
|
353 else |
|
354 { |
|
355 emit contactRemoved(cm->removeContact( mContact->localId() )); |
|
356 } |
|
357 |
350 |
358 mMgr->back( mArgs ); |
351 mMgr->back( mArgs ); |
359 } |
352 } |
360 } |
353 } |
361 |
354 |
395 if ( success && mIsMyCard ) |
388 if ( success && mIsMyCard ) |
396 { |
389 { |
397 mgr->setSelfContactId( mContact->localId() ); |
390 mgr->setSelfContactId( mContact->localId() ); |
398 } |
391 } |
399 |
392 |
400 emit contactUpdated(success); |
|
401 |
|
402 QString name = mgr->synthesizedDisplayLabel( *mContact ); |
393 QString name = mgr->synthesizedDisplayLabel( *mContact ); |
403 |
394 |
404 if ( success ) |
395 if ( success ) |
405 { |
396 { |
406 HbNotificationDialog::launchDialog(HbParameterLengthLimiter("txt_phob_dpophead_contact_1_saved").arg(name)); |
397 HbDeviceNotificationDialog notificationDialog; |
|
398 notificationDialog.setTitle(HbParameterLengthLimiter(hbTrId("txt_phob_dpophead_contact_1_saved")).arg(name)); |
|
399 notificationDialog.show(); |
407 } |
400 } |
408 else |
401 else |
409 { |
402 { |
410 //TODO: localization is missing |
403 //TODO: localization is missing |
411 HbNotificationDialog::launchDialog(qtTrId("SAVING FAILED!")); |
404 HbDeviceNotificationDialog notificationDialog; |
|
405 notificationDialog.setTitle(qtTrId("SAVING FAILED!")); |
|
406 notificationDialog.show(); |
412 } |
407 } |
|
408 |
|
409 emit contactUpdated(success); |
413 |
410 |
414 QVariant var; |
411 QVariant var; |
415 var.setValue(*mContact); |
412 var.setValue(*mContact); |
416 mArgs.insert(ESelectedContact, var); |
413 mArgs.insert(ESelectedContact, var); |
417 } |
414 } |
430 } |
427 } |
431 else |
428 else |
432 { |
429 { |
433 bool success = mgr->saveContact(mContact); |
430 bool success = mgr->saveContact(mContact); |
434 |
431 |
435 emit contactUpdated( success ); |
|
436 |
|
437 QString name = mgr->synthesizedDisplayLabel( *mContact ); |
432 QString name = mgr->synthesizedDisplayLabel( *mContact ); |
438 |
433 |
439 if ( success ) |
434 if ( success ) |
440 { |
435 { |
441 HbNotificationDialog::launchDialog(HbParameterLengthLimiter("txt_phob_dpophead_contacts_1_updated").arg(name)); |
436 HbDeviceNotificationDialog notificationDialog; |
|
437 notificationDialog.setTitle(HbParameterLengthLimiter(hbTrId("txt_phob_dpophead_contacts_1_updated")).arg(name)); |
|
438 notificationDialog.show(); |
442 } |
439 } |
443 else |
440 else |
444 { |
441 { |
445 //TODO: localization is missing |
442 //TODO: localization is missing |
446 HbNotificationDialog::launchDialog(qtTrId("SAVING FAILED!")); |
443 HbDeviceNotificationDialog notificationDialog; |
|
444 notificationDialog.setTitle(qtTrId("SAVING FAILED!")); |
|
445 notificationDialog.show(); |
447 } |
446 } |
|
447 |
|
448 emit contactUpdated( success ); |
448 |
449 |
449 QVariant var; |
450 QVariant var; |
450 var.setValue(*mContact); |
451 var.setValue(*mContact); |
451 mArgs.insert(ESelectedContact, var); |
452 mArgs.insert(ESelectedContact, var); |
452 } |
453 } |
492 QUrl url = details.at(i).imageUrl(); |
493 QUrl url = details.at(i).imageUrl(); |
493 if ( url.isValid() ) |
494 if ( url.isValid() ) |
494 { |
495 { |
495 mThumbnailManager->getThumbnail( url.toString() ); |
496 mThumbnailManager->getThumbnail( url.toString() ); |
496 break; |
497 break; |
|
498 } |
|
499 } |
|
500 } |
|
501 |
|
502 void CntEditViewPrivate::setScrollPosition() |
|
503 { |
|
504 if ( mArgs.contains(ESelectedDetail) ) |
|
505 { |
|
506 QContactDetail d = mArgs.value( ESelectedDetail ).value<QContactDetail>(); |
|
507 |
|
508 QModelIndex index = mModel->itemIndex( d ); |
|
509 if ( index.isValid() ) |
|
510 { |
|
511 mListView->scrollTo( index, HbListView::EnsureVisible ); |
497 } |
512 } |
498 } |
513 } |
499 } |
514 } |
500 |
515 |
501 void CntEditViewPrivate::thumbnailReady( const QPixmap& pixmap, void *data, int id, int error ) |
516 void CntEditViewPrivate::thumbnailReady( const QPixmap& pixmap, void *data, int id, int error ) |
574 { |
589 { |
575 HbAction* add = menu->addAction(map->getContactEditorAddLocString(detail.definitionName(), "")); |
590 HbAction* add = menu->addAction(map->getContactEditorAddLocString(detail.definitionName(), "")); |
576 add->setProperty( "menu", HbAction::NewRole ); |
591 add->setProperty( "menu", HbAction::NewRole ); |
577 add->setData( data ); |
592 add->setData( data ); |
578 } |
593 } |
579 |
594 delete map; |
580 return menu; |
595 return menu; |
581 } |
596 } |
582 |
597 |
583 void CntEditViewPrivate::addDetail( CntEditViewItem* aDetail ) |
598 void CntEditViewPrivate::addDetail( CntEditViewItem* aDetail ) |
584 { |
599 { |