phoneapp/phoneuivoipextension/src/cphonecustomizationvoip.cpp
branchRCL_3
changeset 58 40a3f856b14d
parent 44 3c221667e687
child 61 41a7f70b3818
equal deleted inserted replaced
57:94dc1107e8b2 58:40a3f856b14d
   800         TInt aResourceId, CEikMenuPane& aMenuPane )
   800         TInt aResourceId, CEikMenuPane& aMenuPane )
   801     {
   801     {
   802     __LOGMETHODSTARTEND( PhoneUIVoIPExtension, 
   802     __LOGMETHODSTARTEND( PhoneUIVoIPExtension, 
   803         "CPhoneCustomizationVoip::ModifyNumberAcquisitionMenuL");
   803         "CPhoneCustomizationVoip::ModifyNumberAcquisitionMenuL");
   804     
   804     
   805     if ( ( aResourceId == R_PHONEUI_NUMBERACQ_OPTIONS_CALL_MENU ||
   805     if ( aResourceId == R_PHONEUI_NUMBERACQ_OPTIONS_CALL_MENU &&
   806            aResourceId == R_PHONEUI_NUMBERACQ_OPTIONS_MENU ||
       
   807            aResourceId == R_PHONEUIDIALER_OPTIONS_MENU ) &&
       
   808            VoIPSupportedL() )
   806            VoIPSupportedL() )
   809         {
   807         {
   810         InsertInternetCallMenuItemL( aResourceId, aMenuPane );
   808         InsertInternetCallMenuItemL( aResourceId, aMenuPane );
   811         }
   809         }
   812     
   810     
   823 // -----------------------------------------------------------
   821 // -----------------------------------------------------------
   824 // CPhoneCustomizationVoip::InsertInternetCallMenuItemL
   822 // CPhoneCustomizationVoip::InsertInternetCallMenuItemL
   825 // -----------------------------------------------------------
   823 // -----------------------------------------------------------
   826 //
   824 //
   827 void CPhoneCustomizationVoip::InsertInternetCallMenuItemL( 
   825 void CPhoneCustomizationVoip::InsertInternetCallMenuItemL( 
   828         TInt aResourceId, CEikMenuPane& aMenuPane )
   826         TInt /* aResourceId */, CEikMenuPane& aMenuPane )
   829     {
   827     {
   830     __LOGMETHODSTARTEND( PhoneUIVoIPExtension, 
   828     __LOGMETHODSTARTEND( PhoneUIVoIPExtension, 
   831         "CPhoneCustomizationVoip::InsertInternetCallMenuItemL" );
   829         "CPhoneCustomizationVoip::InsertInternetCallMenuItemL" );
   832 
   830 
   833     // get VoIP services
   831     // get VoIP services
   853 
   851 
   854     HBufC* phoneNumber = PhoneNumberFromEntryLC();
   852     HBufC* phoneNumber = PhoneNumberFromEntryLC();
   855 
   853 
   856     TInt index(KErrNotFound);
   854     TInt index(KErrNotFound);
   857 
   855 
   858     if ( aResourceId == R_PHONEUI_NUMBERACQ_OPTIONS_CALL_MENU )
   856     // If number entry is empty don't add internet call option 
   859         {
   857     if ( phoneNumber->Length() )
   860         if ( !CPhoneKeys::Validate( phoneNumber->Des() ) )
   858         {
   861             {        
       
   862             if ( aMenuPane.MenuItemExists( EPhoneNumberAcqCmdCall, index ) )
       
   863                 {
       
   864                 aMenuPane.DeleteMenuItem( EPhoneNumberAcqCmdCall );
       
   865                 }
       
   866             
       
   867             if ( aMenuPane.MenuItemExists( EPhoneNumberAcqCmdVideoCall, index ) )
       
   868                 {
       
   869                 aMenuPane.DeleteMenuItem( EPhoneNumberAcqCmdVideoCall );
       
   870                 }
       
   871             }
       
   872         
       
   873         aMenuPane.AddMenuItemL( voipMenuItem->iData );
   859         aMenuPane.AddMenuItemL( voipMenuItem->iData );
   874         }
       
   875     else if ( !aMenuPane.MenuItemExists( EPhoneNumberAcqCmdCall, index ) )
       
   876         {
       
   877         // Call menu is removed if user inserts anything that is not
       
   878         // a valid cs number, so must add Internet call option here where
       
   879         // we know that voip is however supported.
       
   880     
       
   881         // If number entry is empty don't add internet call option 
       
   882         if ( phoneNumber->Length() )
       
   883             {
       
   884             // Internet call item must be on the top of the menu
       
   885             aMenuPane.InsertMenuItemL( voipMenuItem->iData, 0 );
       
   886             }
       
   887         }
   860         }
   888     
   861     
   889     CleanupStack::PopAndDestroy( 3, &voipServices );
   862     CleanupStack::PopAndDestroy( 3, &voipServices );
   890     }
   863     }
   891 
   864