phonebookui/Phonebook2/UIControls/src/Pbk2AddressTools.cpp
branchRCL_3
changeset 21 b3431bff8c19
parent 3 04ab22b956c2
child 64 c1e8ba0c2b16
equal deleted inserted replaced
15:e8e3147d53eb 21:b3431bff8c19
   410                 }
   410                 }
   411             }
   411             }
   412      	}
   412      	}
   413     }
   413     }
   414 
   414 
   415 
   415 // --------------------------------------------------------------------------
   416 
   416 // Pbk2AddressTools::MapVPbkFieldTypeToAddressGroupId
   417 
   417 // --------------------------------------------------------------------------
       
   418 //
       
   419 EXPORT_C TPbk2FieldGroupId Pbk2AddressTools::MapVPbkFieldTypeToAddressGroupId( 
       
   420 			const MVPbkFieldType* aVPbkFieldType )
       
   421     {
       
   422     TPbk2FieldGroupId groupId = EPbk2FieldGroupIdNone;
       
   423     TArray<TVPbkFieldVersitProperty> versitArr = aVPbkFieldType->VersitProperties();
       
   424     if (versitArr.Count())
       
   425         {
       
   426         const TVPbkFieldVersitProperty& prop = versitArr[0];
       
   427 
       
   428         if (prop.Name() == EVPbkVersitNameADR)
       
   429             {
       
   430             if (versitArr[0].Parameters().Contains(EVPbkVersitParamHOME))
       
   431                 {
       
   432                 groupId = EPbk2FieldGroupIdHomeAddress;
       
   433                 }
       
   434             else if (versitArr[0].Parameters().Contains(EVPbkVersitParamWORK))
       
   435                 {
       
   436                 groupId = EPbk2FieldGroupIdCompanyAddress;
       
   437                 }
       
   438             else
       
   439                 {
       
   440                 groupId = EPbk2FieldGroupIdPostalAddress;
       
   441                 }
       
   442             }
       
   443         }
       
   444     return groupId;
       
   445     }
       
   446 
       
   447 // --------------------------------------------------------------------------
       
   448 // Pbk2AddressTools::IsAddressPreviewEmptyL
       
   449 // --------------------------------------------------------------------------
       
   450 //
       
   451 EXPORT_C TBool Pbk2AddressTools::IsAddressPreviewEmptyL( 
       
   452 		MVPbkStoreContact& aContact,
       
   453 		TPbk2FieldGroupId aAddressGroup )
       
   454 	{
       
   455     if( aAddressGroup != EPbk2FieldGroupIdPostalAddress &&
       
   456     		aAddressGroup != EPbk2FieldGroupIdCompanyAddress &&
       
   457     		aAddressGroup != EPbk2FieldGroupIdHomeAddress )
       
   458         	{
       
   459         	User::Leave(KErrArgument);
       
   460         	}
       
   461     TBool isEmpty = ETrue;
       
   462     RHashMap<TInt, TPtrC> fieldsMap;
       
   463     GetAddressFieldsLC( aContact, aAddressGroup, fieldsMap );
       
   464     if( fieldsMap.Find( EVPbkVersitSubFieldStreet ) )
       
   465     	{
       
   466         isEmpty = EFalse;
       
   467     	}
       
   468     else if( fieldsMap.Find( EVPbkVersitSubFieldLocality ) )
       
   469     	{
       
   470         isEmpty = EFalse;
       
   471     	}
       
   472     else if( fieldsMap.Find( EVPbkVersitSubFieldRegion ) )
       
   473     	{
       
   474         isEmpty = EFalse;
       
   475     	}
       
   476     else if( fieldsMap.Find( EVPbkVersitSubFieldCountry ) )
       
   477     	{
       
   478         isEmpty = EFalse;
       
   479     	}
       
   480     CleanupStack::PopAndDestroy( &fieldsMap );
       
   481     return isEmpty;
       
   482 	}
       
   483