diff -r c84cf270c54f -r 8871b09be73b phoneapp/phoneuicontrol/src/cphonecbamanager.cpp --- a/phoneapp/phoneuicontrol/src/cphonecbamanager.cpp Tue Feb 02 00:10:04 2010 +0200 +++ b/phoneapp/phoneuicontrol/src/cphonecbamanager.cpp Fri Feb 19 22:50:26 2010 +0200 @@ -139,37 +139,7 @@ } else { - TBool dtmfEditorVisible = iViewCommandHandle.HandleCommandL( - EPhoneViewIsDTMFEditorVisible ) == - EPhoneViewResponseSuccess; - TPhoneCmdParamInteger activeCallCount; - iViewCommandHandle.ExecuteCommandL( - EPhoneViewGetCountOfActiveCalls, &activeCallCount ); - - TPhoneCmdParamCallStateData callStateData; - callStateData.SetCallState( EPEStateRinging ); - iViewCommandHandle.HandleCommandL( - EPhoneViewGetCallIdByState, &callStateData ); - - TInt incomingCall = callStateData.CallId(); - - if( dtmfEditorVisible ) - { - resourceId = EPhoneDtmfDialerCBA; - } - else if( activeCallCount.Integer() == ENoActiveCalls ) - { - resourceId = EPhoneNumberAcqCBA; - } - else if ( activeCallCount.Integer() > ENoActiveCalls && - incomingCall > KErrNotFound ) - { - resourceId = EPhoneCallHandlingCallWaitingCBA; - } - else - { - resourceId = EPhoneInCallNumberAcqCBA; - } + resourceId = GetNumberEntryCbaIdL(); } } @@ -343,9 +313,18 @@ "CPhoneCbaManager::SetCbaL : %d",aResource ); TPhoneCmdParamInteger integerParam; - integerParam.SetInteger( - CPhoneMainResourceResolver::Instance()->ResolveResourceID( - aResource ) ); + + if ( EPhoneEasyDialingCba == aResource ) + { + iViewCommandHandle.ExecuteCommandL( EPhoneViewGetEasyDialingCbaId, &integerParam ); + } + else + { + integerParam.SetInteger( + CPhoneMainResourceResolver::Instance()->ResolveResourceID( + aResource ) ); + } + iViewCommandHandle.ExecuteCommandL( EPhoneViewUpdateCba, &integerParam ); } @@ -487,6 +466,56 @@ return ret; } +// ----------------------------------------------------------- +// CPhoneCbaManager::GetNumberEntryCbaIdL +// ----------------------------------------------------------- +// +TInt CPhoneCbaManager::GetNumberEntryCbaIdL() + { + TInt ret( EPhoneNumberAcqCBA ); + + if ( iState->IsDialingExtensionInFocusL() ) + { + ret = EPhoneEasyDialingCba; + } + else + { + TBool dtmfEditorVisible = iViewCommandHandle.HandleCommandL( + EPhoneViewIsDTMFEditorVisible ) == + EPhoneViewResponseSuccess; + TPhoneCmdParamInteger activeCallCount; + iViewCommandHandle.ExecuteCommandL( + EPhoneViewGetCountOfActiveCalls, &activeCallCount ); + + TPhoneCmdParamCallStateData callStateData; + callStateData.SetCallState( EPEStateRinging ); + iViewCommandHandle.HandleCommandL( + EPhoneViewGetCallIdByState, &callStateData ); + + TInt incomingCall = callStateData.CallId(); + + if( dtmfEditorVisible ) + { + ret = EPhoneDtmfDialerCBA; + } + else if( activeCallCount.Integer() == ENoActiveCalls ) + { + ret = EPhoneNumberAcqCBA; + } + else if ( activeCallCount.Integer() > ENoActiveCalls && + incomingCall > KErrNotFound ) + { + ret = EPhoneCallHandlingCallWaitingCBA; + } + else + { + ret = EPhoneInCallNumberAcqCBA; + } + } + + return ret; + } + // ======== LOCAL FUNCTIONS ========