20 #include "ccappmycardcontainer.h" |
20 #include "ccappmycardcontainer.h" |
21 #include "ccappmycardcommon.h" |
21 #include "ccappmycardcommon.h" |
22 #include "ccappmycardpluginuids.hrh" |
22 #include "ccappmycardpluginuids.hrh" |
23 #include "ccappmycard.h" |
23 #include "ccappmycard.h" |
24 #include "ccappmycard.hrh" |
24 #include "ccappmycard.hrh" |
|
25 #include <spbcontactdatamodel.h> |
25 #include <ccappmycardpluginrsc.rsg> |
26 #include <ccappmycardpluginrsc.rsg> |
26 #include <Pbk2UIControls.rsg> |
27 #include <Pbk2UIControls.rsg> |
27 #include <data_caging_path_literals.hrh> |
28 #include <data_caging_path_literals.hrh> |
28 #include <phonebook2.mbg> |
29 #include <phonebook2.mbg> |
29 #include <mccappengine.h> |
30 #include <mccappengine.h> |
32 #include <AiwServiceHandler.h> |
33 #include <AiwServiceHandler.h> |
33 #include <MVPbkContactLink.h> |
34 #include <MVPbkContactLink.h> |
34 #include <AiwContactAssignDataTypes.h> |
35 #include <AiwContactAssignDataTypes.h> |
35 #include <avkon.hrh> |
36 #include <avkon.hrh> |
36 #include <aknappui.h> |
37 #include <aknappui.h> |
|
38 #include <s32mem.h> |
37 #include <CPbk2CommandHandler.h> |
39 #include <CPbk2CommandHandler.h> |
38 #include <Pbk2Commands.hrh> //pbk2cmdsend |
40 #include <Pbk2Commands.hrh> //pbk2cmdsend |
39 #include <Pbk2DataCaging.hrh> |
41 #include <Pbk2DataCaging.hrh> |
40 #include <TPbk2ContactEditorParams.h> |
42 #include <TPbk2ContactEditorParams.h> |
41 #include <CPbk2GeneralConfirmationQuery.h> |
43 #include <CPbk2GeneralConfirmationQuery.h> |
42 #include <CPbk2PresentationContact.h> |
44 #include <CPbk2PresentationContact.h> |
43 #include <CPbk2PresentationContactFieldCollection.h> |
45 #include <CPbk2PresentationContactFieldCollection.h> |
44 #include <StringLoader.h> |
46 #include <StringLoader.h> |
45 #include <AknQueryDialog.h> |
47 #include <AknQueryDialog.h> |
|
48 #include <mccapppluginparameter.h> |
|
49 #include <mccaparameter.h> |
|
50 #include <CVPbkContactManager.h> |
46 |
51 |
47 // --------------------------------------------------------------------------- |
52 // --------------------------------------------------------------------------- |
48 // Constants |
53 // Constants |
49 // --------------------------------------------------------------------------- |
54 // --------------------------------------------------------------------------- |
50 |
55 |
136 { |
143 { |
137 return *iMyCard; |
144 return *iMyCard; |
138 } |
145 } |
139 |
146 |
140 // --------------------------------------------------------------------------- |
147 // --------------------------------------------------------------------------- |
|
148 // CCCAppMyCardPlugin::Model |
|
149 // --------------------------------------------------------------------------- |
|
150 // |
|
151 CSpbContactDataModel& CCCAppMyCardPlugin::Model() |
|
152 { |
|
153 return *iModel; |
|
154 } |
|
155 |
|
156 // --------------------------------------------------------------------------- |
141 // CCCAppMyCardPlugin::PreparePluginViewL |
157 // CCCAppMyCardPlugin::PreparePluginViewL |
142 // --------------------------------------------------------------------------- |
158 // --------------------------------------------------------------------------- |
143 // |
159 // |
144 void CCCAppMyCardPlugin::PreparePluginViewL( |
160 void CCCAppMyCardPlugin::PreparePluginViewL( |
145 MCCAppPluginParameter& /*aPluginParameter*/ ) |
161 MCCAppPluginParameter& aPluginParameter ) |
146 { |
162 { |
147 CCA_DP(KMyCardLogFile, CCA_L("->CCCAppMyCardPlugin::PreparePluginViewL()")); |
163 CCA_DP(KMyCardLogFile, CCA_L("->CCCAppMyCardPlugin::PreparePluginViewL()")); |
148 |
164 |
|
165 iModel = CSpbContactDataModel::NewL( |
|
166 iMyCard->ContactManager(), *iCoeEnv, R_MYCARD_CLIP_FIELD_SELECTOR ); |
|
167 |
149 BaseConstructL( R_CCAMYCARD_VIEW ); |
168 BaseConstructL( R_CCAMYCARD_VIEW ); |
|
169 MCCAParameter& param = aPluginParameter.CCAppLaunchParameter(); |
|
170 if( param.ContactDataFlag() == MCCAParameter::EContactLink ) |
|
171 { |
|
172 HBufC& data = param.ContactDataL(); |
|
173 HBufC8* data8 = HBufC8::NewLC( data.Size() ); |
|
174 data8->Des().Copy( data ); |
|
175 CVPbkContactLinkArray* array = CVPbkContactLinkArray::NewLC( |
|
176 *data8, iMyCard->ContactManager().ContactStoresL() ); |
|
177 if( array->Count() ) |
|
178 { |
|
179 iMyCard->SetLinkL( array->At( 0 ) ); |
|
180 } |
|
181 CleanupStack::PopAndDestroy( 2 ); // data, array |
|
182 } |
|
183 else if( param.ContactDataFlag() == MCCAParameter::EContactDataModel ) |
|
184 { |
|
185 HBufC& cntData = param.ContactDataL(); |
|
186 TPtrC8 data( (TUint8*)cntData.Ptr(), cntData.Size() ); |
|
187 RDesReadStream stream( data ); |
|
188 CleanupClosePushL( stream ); |
|
189 iModel->InternalizeL( stream ); |
|
190 CleanupStack::PopAndDestroy(); // strean |
|
191 |
|
192 MVPbkContactLink* link = iModel->ContactLink(); |
|
193 if( link ) |
|
194 { |
|
195 iMyCard->SetLinkL( *link ); |
|
196 } |
|
197 else |
|
198 { |
|
199 // model without a link means that mycard does not exist. |
|
200 iMyCard->ForceCreateMyCard(); |
|
201 } |
|
202 } |
150 |
203 |
151 CCA_DP(KMyCardLogFile, CCA_L("<-CCCAppMyCardPlugin::PreparePluginViewL()")); |
204 CCA_DP(KMyCardLogFile, CCA_L("<-CCCAppMyCardPlugin::PreparePluginViewL()")); |
152 } |
205 } |
153 |
206 |
154 // --------------------------------------------------------------------------- |
207 // --------------------------------------------------------------------------- |
168 |
221 |
169 // Set view title |
222 // Set view title |
170 HBufC* title = iCoeEnv->AllocReadResourceLC( R_QTN_CCA_TITLE_MY_CARD ); |
223 HBufC* title = iCoeEnv->AllocReadResourceLC( R_QTN_CCA_TITLE_MY_CARD ); |
171 SetTitleL( *title ); |
224 SetTitleL( *title ); |
172 CleanupStack::PopAndDestroy( title ); |
225 CleanupStack::PopAndDestroy( title ); |
|
226 |
|
227 iMyCard->FetchMyCardL(); |
173 |
228 |
174 CCA_DP(KMyCardLogFile, CCA_L("<-CCCAppMyCardPlugin::DoActivateL()")); |
229 CCA_DP(KMyCardLogFile, CCA_L("<-CCCAppMyCardPlugin::DoActivateL()")); |
175 } |
230 } |
176 |
231 |
177 // --------------------------------------------------------------------------- |
232 // --------------------------------------------------------------------------- |
297 void CCCAppMyCardPlugin::EditL( TInt aFocusedFieldIndex ) |
352 void CCCAppMyCardPlugin::EditL( TInt aFocusedFieldIndex ) |
298 { |
353 { |
299 iMyCard->EditContactL( aFocusedFieldIndex ); |
354 iMyCard->EditContactL( aFocusedFieldIndex ); |
300 } |
355 } |
301 |
356 |
|
357 // --------------------------------------------------------------------------- |
|
358 // CCCAppMyCardPlugin::HandleError |
|
359 // --------------------------------------------------------------------------- |
|
360 // |
|
361 void CCCAppMyCardPlugin::HandleError( TInt aError ) |
|
362 { |
|
363 CCoeEnv::Static()->HandleError( aError ); |
|
364 } |
302 |
365 |
303 // --------------------------------------------------------------------------- |
366 // --------------------------------------------------------------------------- |
304 // CCCAppMyCardPlugin::NewContainerL |
367 // CCCAppMyCardPlugin::NewContainerL |
305 // --------------------------------------------------------------------------- |
368 // --------------------------------------------------------------------------- |
306 // |
369 // |
393 // ProcessCommandL |
456 // ProcessCommandL |
394 // --------------------------------------------------------------------------- |
457 // --------------------------------------------------------------------------- |
395 // |
458 // |
396 void CCCAppMyCardPlugin::ProcessCommandL(TInt aCommandId) |
459 void CCCAppMyCardPlugin::ProcessCommandL(TInt aCommandId) |
397 { |
460 { |
|
461 TInt err = KErrNone; |
|
462 |
398 switch(aCommandId) |
463 switch(aCommandId) |
399 { |
464 { |
400 case ECCAppMyCardCmdStylusViewImageCmd: |
465 case ECCAppMyCardCmdStylusViewImageCmd: |
401 ViewImageCmdL(); |
466 TRAP( err, ViewImageCmdL() ); |
402 break; |
467 break; |
403 |
468 |
404 case ECCAppMyCardCmdStylusChangeImageCmd: |
469 case ECCAppMyCardCmdStylusChangeImageCmd: |
405 ChangeImageCmdL(); |
470 TRAP( err, ChangeImageCmdL() ); |
406 break; |
471 break; |
407 |
472 |
408 case ECCAppMyCardCmdStylusRemoveImageCmd: |
473 case ECCAppMyCardCmdStylusRemoveImageCmd: |
409 RemoveImageCmdL(); |
474 TRAP( err, RemoveImageCmdL() ); |
410 break; |
475 break; |
411 |
476 |
412 case ECCAppMyCardCmdStylusAddImageCmd: |
477 case ECCAppMyCardCmdStylusAddImageCmd: |
413 AddImageCmdL(); |
478 TRAP( err, AddImageCmdL() ); |
414 break; |
479 break; |
415 |
480 |
416 case ECCAppMyCardCmdStylusCopyDetailCmd: |
481 case ECCAppMyCardCmdStylusCopyDetailCmd: |
417 CopyDetailL(); |
482 TRAP( err, CopyDetailL() ); |
418 break; |
483 break; |
419 |
484 |
420 default: |
485 default: |
421 CAknView::ProcessCommandL(aCommandId); |
486 CAknView::ProcessCommandL(aCommandId); |
422 break; |
487 break; |
423 } |
488 } |
|
489 |
|
490 if( err != KErrNone ) |
|
491 { |
|
492 HandleError( err ); |
|
493 } |
424 } |
494 } |
425 |
495 |
426 // --------------------------------------------------------------------------- |
496 // --------------------------------------------------------------------------- |
427 // CCCAppMyCardPlugin::RemoveImageCmdL |
497 // CCCAppMyCardPlugin::RemoveImageCmdL |
428 // --------------------------------------------------------------------------- |
498 // --------------------------------------------------------------------------- |