phonebookui/Phonebook2/CommandsExtension/src/CPbk2MergeResolver.cpp
branchRCL_3
changeset 17 2666d9724c76
parent 6 e8e3147d53eb
equal deleted inserted replaced
15:34879f5cfc63 17:2666d9724c76
    29 #include <MVPbkStoreContactFieldCollection.h>
    29 #include <MVPbkStoreContactFieldCollection.h>
    30 #include <MVPbkContactFieldTextData.h>
    30 #include <MVPbkContactFieldTextData.h>
    31 #include <MVPbkContactFieldDateTimeData.h>
    31 #include <MVPbkContactFieldDateTimeData.h>
    32 #include <MVPbkContactFieldUriData.h>
    32 #include <MVPbkContactFieldUriData.h>
    33 #include <MVPbkContactFieldBinaryData.h>
    33 #include <MVPbkContactFieldBinaryData.h>
       
    34 #include <vpbkeng.rsg>
       
    35 #include <VPbkSyncConstants.h>
       
    36 #include <Pbk2UIControls.rsg>
       
    37 
       
    38 // System includes
       
    39 #include <AknUtils.h>
    34 
    40 
    35 // Debugging headers
    41 // Debugging headers
    36 #include <Pbk2Debug.h>
    42 #include <Pbk2Debug.h>
    37 #include <Pbk2Profile.h>
    43 #include <Pbk2Profile.h>
    38 
    44 
   692         const MVPbkStoreContactField& aFieldSecond )
   698         const MVPbkStoreContactField& aFieldSecond )
   693     {
   699     {
   694     CPbk2MergeConflict* conflictNew = CPbk2MergeConflict::NewL();
   700     CPbk2MergeConflict* conflictNew = CPbk2MergeConflict::NewL();
   695     CleanupStack::PushL( conflictNew );
   701     CleanupStack::PushL( conflictNew );
   696     conflictNew->AddFields( aFieldFirst, aFieldSecond );
   702     conflictNew->AddFields( aFieldFirst, aFieldSecond );
       
   703 
       
   704     //For sync get possibly localised display fields 
       
   705     if( aFieldFirst.BestMatchingFieldType()->FieldTypeResId() == R_VPBK_FIELD_TYPE_SYNCCLASS )
       
   706         {
       
   707         HBufC* first = SyncDisplayFieldLC( aFieldFirst );
       
   708         if( first )
       
   709             {    
       
   710             HBufC* second = SyncDisplayFieldLC( aFieldSecond );
       
   711             if( second )
       
   712                 {
       
   713                 conflictNew->AddDisplayFields( first, second );
       
   714                 CleanupStack::Pop( 2, first );    
       
   715                 }
       
   716             else
       
   717                 {
       
   718                 CleanupStack::PopAndDestroy( first );
       
   719                 }
       
   720             }
       
   721         }
       
   722 
   697     iConflicts.AppendL( conflictNew );
   723     iConflicts.AppendL( conflictNew );
   698     CleanupStack::Pop( conflictNew );
   724     CleanupStack::Pop( conflictNew );
   699     
   725     
   700     PBK2_DEBUG_PRINT(PBK2_DEBUG_STRING( "CPbk2MergeResolver::AddConflictL - Conflict created" ) );
   726     PBK2_DEBUG_PRINT(PBK2_DEBUG_STRING( "CPbk2MergeResolver::AddConflictL - Conflict created" ) );
       
   727     }
       
   728 
       
   729 // --------------------------------------------------------------------------
       
   730 // CPbk2MergeResolver::SyncDisplayFieldLC
       
   731 // --------------------------------------------------------------------------
       
   732 //
       
   733 HBufC* CPbk2MergeResolver::SyncDisplayFieldLC(
       
   734         const MVPbkStoreContactField& aField )
       
   735     {
       
   736     HBufC* field = NULL;
       
   737     TVPbkFieldStorageType dataType = aField.FieldData().DataType();
       
   738 
       
   739     if ( dataType == EVPbkFieldStorageTypeText )
       
   740          {
       
   741          const MVPbkContactFieldTextData& textData =
       
   742                MVPbkContactFieldTextData::Cast( aField.FieldData() );
       
   743          field = LocaliseSyncDisplayFieldLC( textData.Text() );
       
   744          }
       
   745 
       
   746     return field;
       
   747     }
       
   748 
       
   749 // --------------------------------------------------------------------------
       
   750 // CPbk2MergeResolver::LocaliseSyncDisplayFieldL
       
   751 // --------------------------------------------------------------------------
       
   752 //
       
   753 HBufC* CPbk2MergeResolver::LocaliseSyncDisplayFieldLC( const TDesC& aContent )
       
   754     {
       
   755     HBufC* txt = NULL;
       
   756 
       
   757     if ( !aContent.CompareF( KVPbkContactSyncPublic ) )
       
   758         {
       
   759         txt = CCoeEnv::Static()->AllocReadResourceLC( R_QTN_CALE_CONFIDENT_PUBLIC );
       
   760         }
       
   761     else if ( !aContent.CompareF( KVPbkContactSyncNoSync ) )
       
   762         {
       
   763         txt = CCoeEnv::Static()->AllocReadResourceLC( R_QTN_CALE_CONFIDENT_NONE );
       
   764         }
       
   765     else
       
   766         {
       
   767         txt = CCoeEnv::Static()->AllocReadResourceLC( R_QTN_CALE_CONFIDENT_PRIVATE );
       
   768         }
       
   769 
       
   770     return txt;
   701     }
   771     }
   702 
   772 
   703 // --------------------------------------------------------------------------
   773 // --------------------------------------------------------------------------
   704 // CPbk2MergeResolver::AddAddressConflictL
   774 // CPbk2MergeResolver::AddAddressConflictL
   705 // --------------------------------------------------------------------------
   775 // --------------------------------------------------------------------------