100 HbAction* insert = new HbAction( aInsert, mView ); |
100 HbAction* insert = new HbAction( aInsert, mView ); |
101 mView->menu()->insertAction(mCancel, insert); |
101 mView->menu()->insertAction(mCancel, insert); |
102 connect( insert, SIGNAL(triggered()), this, SLOT(insertField()) ); |
102 connect( insert, SIGNAL(triggered()), this, SLOT(insertField()) ); |
103 } |
103 } |
104 |
104 |
105 void CntDetailEditor::activate( CntAbstractViewManager* aMgr, const CntViewParameters aArgs ) |
105 void CntDetailEditor::activate( const CntViewParameters aArgs ) |
106 { |
106 { |
107 mViewManager = aMgr; |
107 mViewManager = &mEngine->viewManager(); |
108 mArgs = aArgs; //don't loose the params while swiching between editview and editorviews. |
108 mArgs = aArgs; //don't loose the params while swiching between editview and editorviews. |
109 |
109 |
110 mCancel = static_cast<HbAction*>(document()->findObject("cnt:discardchanges")); |
110 mCancel = static_cast<HbAction*>(document()->findObject("cnt:discardchanges")); |
111 mCancel->setParent(mView); |
111 mCancel->setParent(mView); |
112 mView->menu()->addAction(mCancel); |
112 mView->menu()->addAction(mCancel); |
126 { |
126 { |
127 selectedContact = aArgs.value(ESelectedContact).value<QContact>(); |
127 selectedContact = aArgs.value(ESelectedContact).value<QContact>(); |
128 connect( mDataForm, SIGNAL(itemShown(const QModelIndex&)), this, SLOT(handleItemShown(const QModelIndex&)) ); |
128 connect( mDataForm, SIGNAL(itemShown(const QModelIndex&)), this, SLOT(handleItemShown(const QModelIndex&)) ); |
129 } |
129 } |
130 |
130 |
131 QContactManager* cm = mViewManager->contactManager(SYMBIAN_BACKEND); |
131 QContactManager& cm = mEngine->contactManager(SYMBIAN_BACKEND); |
132 connect(cm, SIGNAL(contactsRemoved(const QList<QContactLocalId>&)), |
132 connect(&cm, SIGNAL(contactsRemoved(const QList<QContactLocalId>&)), |
133 this, SLOT(contactDeletedFromOtherSource(const QList<QContactLocalId>&))); |
133 this, SLOT(contactDeletedFromOtherSource(const QList<QContactLocalId>&))); |
134 |
134 |
135 mEditorFactory->setupEditorView(*this, selectedContact); |
135 mEditorFactory->setupEditorView(*this, selectedContact); |
136 |
136 |
137 QString myCard = mArgs.value( EMyCard ).toString(); |
137 QString myCard = mArgs.value( EMyCard ).toString(); |
138 QContactLocalId localId = selectedContact.localId(); |
138 QContactLocalId localId = selectedContact.localId(); |
139 QContactLocalId selfContactId = mViewManager->contactManager(SYMBIAN_BACKEND)->selfContactId(); |
139 QContactLocalId selfContactId = cm.selfContactId(); |
140 bool isMyCard = ( localId == selfContactId && localId != 0 ) || !myCard.isEmpty(); |
140 bool isMyCard = ( localId == selfContactId && localId != 0 ) || !myCard.isEmpty(); |
141 |
141 |
142 if (isMyCard) |
142 if (isMyCard) |
143 { |
143 { |
144 mSaveManager = new CntSaveManager(CntSaveManager::EMyCard); |
144 mSaveManager = new CntSaveManager(CntSaveManager::EMyCard); |
157 // add new field if required |
157 // add new field if required |
158 if ( aArgs.value(ESelectedAction).toString() == CNT_ADD_ACTION ) |
158 if ( aArgs.value(ESelectedAction).toString() == CNT_ADD_ACTION ) |
159 { |
159 { |
160 mDataFormModel->insertDetailField(); |
160 mDataFormModel->insertDetailField(); |
161 } |
161 } |
|
162 |
162 mDataForm->setVerticalScrollBarPolicy(HbScrollArea::ScrollBarAsNeeded); |
163 mDataForm->setVerticalScrollBarPolicy(HbScrollArea::ScrollBarAsNeeded); |
163 mDataForm->setScrollingStyle(HbScrollArea::PanWithFollowOn); |
164 mDataForm->setScrollingStyle(HbScrollArea::PanWithFollowOn); |
164 mDataForm->verticalScrollBar()->setInteractive(true); |
165 mDataForm->verticalScrollBar()->setInteractive(true); |
165 } |
166 } |
166 |
167 |
167 void CntDetailEditor::deactivate() |
168 void CntDetailEditor::deactivate() |
168 { |
169 { |
|
170 QContactManager& mgr = mEngine->contactManager(SYMBIAN_BACKEND); |
169 if( mId == groupEditorView) { |
171 if( mId == groupEditorView) { |
170 QContactManager* mgr = mViewManager->contactManager(SYMBIAN_BACKEND); |
172 mgr.saveContact( mDataFormModel->contact() ); |
171 mgr->saveContact( mDataFormModel->contact() ); |
173 } |
172 } |
174 |
173 |
175 disconnect(&mgr, SIGNAL(contactsRemoved(const QList<QContactLocalId>&)), |
174 QContactManager *cm = mViewManager->contactManager(SYMBIAN_BACKEND); |
|
175 disconnect(cm, SIGNAL(contactsRemoved(const QList<QContactLocalId>&)), |
|
176 this, SLOT(contactDeletedFromOtherSource(const QList<QContactLocalId>&))); |
176 this, SLOT(contactDeletedFromOtherSource(const QList<QContactLocalId>&))); |
177 } |
177 } |
178 |
178 |
179 bool CntDetailEditor::isDefault() const |
179 bool CntDetailEditor::isDefault() const |
180 { |
180 { |
285 or by end key. |
285 or by end key. |
286 */ |
286 */ |
287 void CntDetailEditor::saveContact() |
287 void CntDetailEditor::saveContact() |
288 { |
288 { |
289 mDataFormModel->saveContactDetails(); |
289 mDataFormModel->saveContactDetails(); |
290 |
290 QContactManager& mgr = mEngine->contactManager( SYMBIAN_BACKEND ); |
291 QString name = mViewManager->contactManager(SYMBIAN_BACKEND)->synthesizedContactDisplayLabel(*mDataFormModel->contact()); |
291 QString name = mgr.synthesizedContactDisplayLabel(*mDataFormModel->contact()); |
292 |
292 |
293 if (name.isEmpty()) |
293 if (name.isEmpty()) |
294 { |
294 { |
295 name = hbTrId("txt_phob_list_unnamed"); |
295 name = hbTrId("txt_phob_list_unnamed"); |
296 } |
296 } |
297 |
297 |
298 CntSaveManager::CntSaveResult result = mSaveManager->saveContact(mDataFormModel->contact(), mViewManager->contactManager(SYMBIAN_BACKEND)); |
298 CntSaveManager::CntSaveResult result = mSaveManager->saveContact(mDataFormModel->contact(), &mgr); |
299 |
299 |
300 if (mId != groupEditorView) |
300 if (mId != groupEditorView) |
301 { |
301 { |
302 switch (result) |
302 switch (result) |
303 { |
303 { |