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 |