diff -r a47de9135b21 -r 6ceef9a83b1a fep/aknfep/src/AknFepPluginManager.cpp --- a/fep/aknfep/src/AknFepPluginManager.cpp Fri Mar 12 15:44:07 2010 +0200 +++ b/fep/aknfep/src/AknFepPluginManager.cpp Mon Mar 15 12:42:02 2010 +0200 @@ -290,7 +290,8 @@ if( !iPenInputSvrConnected || !iPenInputServer.IsVisible() || iPenInputServer.IsDimmed() ) { if( iFepMan.FepAwareTextEditor() ) - { + { + iPreferredUiMode = ETrue; TryChangePluginInputModeByModeL((TPluginInputMode)(iSharedData.PluginInputMode()), EPenInputOpenManually, ERangeInvalid); @@ -1196,6 +1197,12 @@ iFepMan.UpdateCbaL( NULL ); } + if ( iFepMan.EditorState() ) + { + iFepMan.EditorState()->SetFlags( + iFepMan.EditorState()->Flags() | EAknEditorFlagTouchInputModeOpened ); + } + // Notify application touch window state NotifyAppUiImeTouchWndStateL( ETrue ); @@ -1277,6 +1284,12 @@ iFepMan.UiInterface()->TouchPaneSetInputMethodIconActivated(EFalse); + if ( iFepMan.EditorState() ) + { + iFepMan.EditorState()->SetFlags( + iFepMan.EditorState()->Flags() & ~EAknEditorFlagTouchInputModeOpened ); + } + if ( prePluginInputMode == EPluginInputModeVkb ) { iFepMan.UpdateIndicators(); @@ -1503,6 +1516,15 @@ ERangeInvalid); } break; + case EPeninputCmdHwr: + { + ClosePluginInputModeL(ETrue); + iFepMan.TryCloseUiL(); + TryChangePluginInputModeByModeL( EPluginInputModeFingerHwr, + EPenInputOpenManually, + ERangeInvalid ); + } + break; case EFepInputCmdHelp: { if (iInMenu) @@ -1852,17 +1874,23 @@ TInt curInputMode = iLangMan.CurrentImePlugin()->CurrentMode(); TBool isChinese = iFepMan.IsChineseInputLanguage(); - if ( !isChinese && ( curInputMode == EPluginInputModeItut ) && - !( disabledInputMode & EPluginInputModeFSQ )) + if ( !isChinese && ( curInputMode != EPluginInputModeFSQ ) + && !( disabledInputMode & EPluginInputModeFSQ )) { aMenuPane->SetItemDimmed( EPeninputCmdFSQ, EFalse ); } - if ( !isChinese && ( curInputMode == EPluginInputModeFSQ ) && - !( disabledInputMode & EPluginInputModeItut )) + if ( !isChinese && ( curInputMode != EPluginInputModeItut ) + && !( disabledInputMode & EPluginInputModeItut )) { aMenuPane->SetItemDimmed(EPenInputCmdVITUT, EFalse); } + + if ( iFepMan.IsArabicInputLanguage() && ( curInputMode != EPluginInputModeFingerHwr ) + && !( disabledInputMode & EPluginInputModeFingerHwr )) + { + aMenuPane->SetItemDimmed( EPeninputCmdHwr, EFalse ); + } //For arabic finger hwr input orientation. TInt index = 0; if(iPluginInputMode == EPluginInputModeFingerHwr