phonebookui/Phonebook2/remotecontactlookup/contactactionservice/saveascontactplugin/src/cfscsaveascontactpluginimpl.cpp
branchRCL_3
changeset 23 5586b4d2ec3e
parent 0 e686773b3f54
child 64 c1e8ba0c2b16
equal deleted inserted replaced
21:b3431bff8c19 23:5586b4d2ec3e
    89 // ---------------------------------------------------------------------------
    89 // ---------------------------------------------------------------------------
    90 //
    90 //
    91 CFscSaveAsContactPluginImpl::~CFscSaveAsContactPluginImpl()
    91 CFscSaveAsContactPluginImpl::~CFscSaveAsContactPluginImpl()
    92     {
    92     {
    93     FUNC_LOG;
    93     FUNC_LOG;
    94     DismissWaitNote();
       
    95     delete iNewStoreContact;
    94     delete iNewStoreContact;
    96     delete iContactSaveAsContactAction;
    95     delete iContactSaveAsContactAction;
    97     delete iActionList;
    96     delete iActionList;
    98     CCoeEnv::Static()->DeleteResourceFile(iResourceHandle);
    97     CCoeEnv::Static()->DeleteResourceFile(iResourceHandle);
    99     }
    98     }
   250             break;
   249             break;
   251             }
   250             }
   252 
   251 
   253         case EActionEventCanExecuteFinished:
   252         case EActionEventCanExecuteFinished:
   254             {
   253             {
   255 
       
   256             iWaitDialog = new(ELeave)CAknWaitDialog(
       
   257                     (REINTERPRET_CAST(CEikDialog**,&iWaitDialog)), EFalse);
       
   258             iWaitDialog->ExecuteLD(R_FS_WAIT_NOTE);
       
   259             
       
   260             if (iCanDisplay == KErrNone)
   254             if (iCanDisplay == KErrNone)
   261                 {
   255                 {
   262                 iLastEvent = EActionEventContactRetrieve;
   256                 iLastEvent = EActionEventContactRetrieve;
   263                 iPluginObserver = aObserver;
   257                 iPluginObserver = aObserver;
   264                 aContactSet.NextContactL(this);
   258                 aContactSet.NextContactL(this);
   288 // ---------------------------------------------------------------------------
   282 // ---------------------------------------------------------------------------
   289 //
   283 //
   290 void CFscSaveAsContactPluginImpl::CancelExecute()
   284 void CFscSaveAsContactPluginImpl::CancelExecute()
   291     {
   285     {
   292     FUNC_LOG;
   286     FUNC_LOG;
   293     DismissWaitNote();
       
   294     iLastEvent = EActionEventCanceled;
   287     iLastEvent = EActionEventCanceled;
   295     ResetData();
   288     ResetData();
   296     }
   289     }
   297 // ---------------------------------------------------------------------------
   290 // ---------------------------------------------------------------------------
   298 // CFscSaveAsContactPluginImpl::GetReasonL
   291 // CFscSaveAsContactPluginImpl::GetReasonL
   642         iContactSet->SetToFirstGroup();
   635         iContactSet->SetToFirstGroup();
   643         TRAP_IGNORE( iContactSet->CancelNextContactL() );
   636         TRAP_IGNORE( iContactSet->CancelNextContactL() );
   644         TRAP_IGNORE( iContactSet->CancelNextGroupL() );
   637         TRAP_IGNORE( iContactSet->CancelNextGroupL() );
   645         iContactSet = NULL;
   638         iContactSet = NULL;
   646         }
   639         }
   647     DismissWaitNote();
       
   648 
   640 
   649     iLastEvent = EActionEventIdle;
   641     iLastEvent = EActionEventIdle;
   650     iActionMenuVisibility = NULL;
   642     iActionMenuVisibility = NULL;
   651     iOptionsMenuVisibility = NULL;
   643     iOptionsMenuVisibility = NULL;
   652     iCanDisplay = KErrNone;
   644     iCanDisplay = KErrNone;
   706             TRAP( err, iNewStoreContact->CommitL( *this ) );
   698             TRAP( err, iNewStoreContact->CommitL( *this ) );
   707             break;
   699             break;
   708             }
   700             }
   709         case EContactCommit:
   701         case EContactCommit:
   710             {
   702             {
   711             DismissWaitNote();
       
   712             TRAP( err, iParams.iUtils->ShowCnfNoteL( 
   703             TRAP( err, iParams.iUtils->ShowCnfNoteL( 
   713                     R_FS_ACTION_SAVED_NOTE ) );
   704                     R_FS_ACTION_SAVED_NOTE ) );
   714             ResetData();
   705             ResetData();
   715             iPluginObserver->ExecuteComplete();
   706             iPluginObserver->ExecuteComplete();
   716 
   707 
   756         TInt aErrorCode,
   747         TInt aErrorCode,
   757         TBool /*aErrorNotified*/)
   748         TBool /*aErrorNotified*/)
   758     {
   749     {
   759     FUNC_LOG;
   750     FUNC_LOG;
   760     iLastEvent = EActionEventIdle;
   751     iLastEvent = EActionEventIdle;
   761     DismissWaitNote();
       
   762     ResetData();
   752     ResetData();
   763     iPluginObserver->ExecuteFailed(aErrorCode);
   753     iPluginObserver->ExecuteFailed(aErrorCode);
   764     }
   754     }
   765 
   755 
   766 // ---------------------------------------------------------------------------
       
   767 // CFscSaveAsContactPluginImpl::DismissWaitDialog
       
   768 // ---------------------------------------------------------------------------
       
   769 //
       
   770 void CFscSaveAsContactPluginImpl::DismissWaitNote()
       
   771     {
       
   772     FUNC_LOG;
       
   773     if (iWaitDialog != NULL)
       
   774         {
       
   775         TRAPD( err, iWaitDialog->ProcessFinishedL() );
       
   776         if (err != KErrNone)
       
   777             {
       
   778             delete iWaitDialog;
       
   779             iWaitDialog = NULL;
       
   780             }
       
   781         }
       
   782     }
       
   783 // ======== GLOBAL FUNCTIONS ========
   756 // ======== GLOBAL FUNCTIONS ========
   784 
   757 
   785 // ---------------------------------------------------------------------------
   758 // ---------------------------------------------------------------------------
   786 // ImplementationGroupProxy
   759 // ImplementationGroupProxy
   787 // ---------------------------------------------------------------------------
   760 // ---------------------------------------------------------------------------