phoneapp/phoneuivoipextension/src/cphonecustomizationvoip.cpp
branchRCL_3
changeset 81 c26cc2a7c548
parent 69 8baf28733c3d
equal deleted inserted replaced
73:e30d4a1b8bad 81:c26cc2a7c548
   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 ) &&
   806            VoIPSupportedL() )
   808            VoIPSupportedL() )
   807         {
   809         {
   808         InsertInternetCallMenuItemL( aResourceId, aMenuPane );
   810         InsertInternetCallMenuItemL( aResourceId, aMenuPane );
   809         }
   811         }
   810     
   812     
   821 // -----------------------------------------------------------
   823 // -----------------------------------------------------------
   822 // CPhoneCustomizationVoip::InsertInternetCallMenuItemL
   824 // CPhoneCustomizationVoip::InsertInternetCallMenuItemL
   823 // -----------------------------------------------------------
   825 // -----------------------------------------------------------
   824 //
   826 //
   825 void CPhoneCustomizationVoip::InsertInternetCallMenuItemL( 
   827 void CPhoneCustomizationVoip::InsertInternetCallMenuItemL( 
   826         TInt /* aResourceId */, CEikMenuPane& aMenuPane )
   828         TInt aResourceId, CEikMenuPane& aMenuPane )
   827     {
   829     {
   828     __LOGMETHODSTARTEND( PhoneUIVoIPExtension, 
   830     __LOGMETHODSTARTEND( PhoneUIVoIPExtension, 
   829         "CPhoneCustomizationVoip::InsertInternetCallMenuItemL" );
   831         "CPhoneCustomizationVoip::InsertInternetCallMenuItemL" );
   830 
   832 
   831     // get VoIP services
   833     // get VoIP services
   849                 ResolveResourceID( EPhoneVoIPCallTypeInternet ) );
   851                 ResolveResourceID( EPhoneVoIPCallTypeInternet ) );
   850         }
   852         }
   851 
   853 
   852     HBufC* phoneNumber = PhoneNumberFromEntryLC();
   854     HBufC* phoneNumber = PhoneNumberFromEntryLC();
   853 
   855 
   854     // If number entry is empty don't add internet call option 
   856     TInt index(KErrNotFound);
   855     if ( phoneNumber->Length() )
   857 
   856         {
   858     if ( aResourceId == R_PHONEUI_NUMBERACQ_OPTIONS_CALL_MENU )
       
   859         {
       
   860         if ( !CPhoneKeys::Validate( phoneNumber->Des() ) )
       
   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         
   857         aMenuPane.AddMenuItemL( voipMenuItem->iData );
   873         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             }
   858         }
   887         }
   859     
   888     
   860     CleanupStack::PopAndDestroy( 3, &voipServices );
   889     CleanupStack::PopAndDestroy( 3, &voipServices );
   861     }
   890     }
   862 
   891