phonebookui/Phonebook2/MapExtension/src/cpmapcmd.cpp
branchRCL_3
changeset 9 0d28c1c5b6dd
parent 5 81f8547efd4f
child 11 2828b4d142c0
equal deleted inserted replaced
8:5586b4d2ec3e 9:0d28c1c5b6dd
   200     		}
   200     		}
   201     	}
   201     	}
   202     
   202     
   203     User::LeaveIfNull(iContact);
   203     User::LeaveIfNull(iContact);
   204     
   204     
   205     if( iCommandId == EPbk2ExtensionAssignFromMapSelect )
       
   206     	{
       
   207     	iCommandId = EPbk2ExtensionAssignFromMap;
       
   208     	}
       
   209     
   205     
   210     PBK2_DEBUG_PRINT(PBK2_DEBUG_STRING
   206     PBK2_DEBUG_PRINT(PBK2_DEBUG_STRING
   211         ("CPmapCmd::ConstructL end"));        
   207         ("CPmapCmd::ConstructL end"));        
   212     }
   208     }
   213 
   209 
   579     CleanupClosePushL( landmarks );
   575     CleanupClosePushL( landmarks );
   580 
   576 
   581     CPosLandmark* landmark = CPosLandmark::NewL();
   577     CPosLandmark* landmark = CPosLandmark::NewL();
   582     CleanupStack::PushL( landmark );
   578     CleanupStack::PushL( landmark );
   583 
   579 
   584     if ( !FillGeoLandmarkL( *landmark, aAddressType ) )
   580     FillGeoLandmarkL( *landmark, aAddressType );
   585         {
   581     FillLandmarkL( *landmark, aAddressType );
   586         FillLandmarkL( *landmark, aAddressType );
   582     SetLandmarkNameL(*landmark);
   587         }
   583                 
   588     TLocality locality;
   584     TLocality locality;
   589     if ( landmark->NumOfAvailablePositionFields() > 0
   585     if ( landmark->NumOfAvailablePositionFields() > 0
   590         || landmark->GetPosition( locality ) == KErrNone )
   586         || landmark->GetPosition( locality ) == KErrNone )
   591         {
   587         {
   592         landmarks.AppendL( landmark );
   588         landmarks.AppendL( landmark );
   884 					}
   880 					}
   885 				}
   881 				}
   886 			}
   882 			}
   887 		}
   883 		}
   888 	}
   884 	}
       
   885 
       
   886 void CPmapCmd::SetLandmarkNameL(CPosLandmark& aLandmark)
       
   887     {
       
   888     _LIT(KComma, ",");
       
   889     _LIT(KSpace, " ");
       
   890     
       
   891     TInt length = 0; 
       
   892     TPtrC street;
       
   893     if( aLandmark.IsPositionFieldAvailable( EPositionFieldStreet ) )
       
   894         {
       
   895         aLandmark.GetPositionField( EPositionFieldStreet, street );
       
   896         length += street.Length();
       
   897         }
       
   898     
       
   899     TPtrC city;
       
   900     if( aLandmark.IsPositionFieldAvailable( EPositionFieldCity ) )
       
   901         {
       
   902         aLandmark.GetPositionField( EPositionFieldCity, city );
       
   903         if( length )
       
   904             {
       
   905             length += KComma().Length() + KSpace().Length();
       
   906             }
       
   907         length += city.Length();
       
   908         }   
       
   909     
       
   910     TPtrC country;
       
   911     if( aLandmark.IsPositionFieldAvailable( EPositionFieldCountry ) )
       
   912         {
       
   913         aLandmark.GetPositionField( EPositionFieldCountry, country );
       
   914         if( length )
       
   915             {
       
   916             length += KComma().Length() + KSpace().Length();
       
   917             }
       
   918         length += country.Length();
       
   919         }   
       
   920     
       
   921     RBuf newAddr;
       
   922     newAddr.CreateL( length );
       
   923     CleanupClosePushL( newAddr );
       
   924     
       
   925     if( street.Length() )
       
   926         {
       
   927         newAddr += street;
       
   928         }
       
   929     
       
   930     if( city.Length() )
       
   931         {
       
   932         if( newAddr.Length() > 0 )
       
   933             {
       
   934             newAddr += KComma();
       
   935             newAddr += KSpace();
       
   936             }
       
   937         newAddr += city;
       
   938         }
       
   939     
       
   940     if( country.Length() )
       
   941         {
       
   942         if( newAddr.Length() > 0 )
       
   943             {
       
   944             newAddr += KComma();
       
   945             newAddr += KSpace();
       
   946             }
       
   947         newAddr += country;
       
   948         }
       
   949     if(length)
       
   950         aLandmark.SetLandmarkNameL(newAddr);
       
   951     
       
   952     CleanupStack::PopAndDestroy( &newAddr );
       
   953     }
   889 
   954 
   890 // --------------------------------------------------------------------------
   955 // --------------------------------------------------------------------------
   891 // CPmapCmd::FillGeoLandmarkL
   956 // CPmapCmd::FillGeoLandmarkL
   892 // --------------------------------------------------------------------------
   957 // --------------------------------------------------------------------------
   893 //
   958 //