diff -r c711bdda59f4 -r ac77f89b1d9e webengine/osswebengine/WebKit/s60/webview/WebFepTextEditor.cpp --- a/webengine/osswebengine/WebKit/s60/webview/WebFepTextEditor.cpp Wed Mar 31 23:16:40 2010 +0300 +++ b/webengine/osswebengine/WebKit/s60/webview/WebFepTextEditor.cpp Wed Apr 14 17:06:56 2010 +0300 @@ -163,7 +163,11 @@ TUint permittedCase ( EAknEditorAllCaseModes ) ; TUint inputMode( EAknEditorNullInputMode ); TUint permittedInputModes( EAknEditorAllInputModes ); +#ifdef BRDO_MULTITOUCH_ENABLED_FF + TUint flags( EAknEditorFlagDefault | EAknEditorFlagSelectionVisible ); +#else TUint flags( EAknEditorFlagDefault ); +#endif TUint numericKeyMap( EAknEditorStandardNumberModeKeymap ); if (GetStateFromFormatMask(currentCase, permittedCase, inputMode, permittedInputModes, flags, numericKeyMap)) { @@ -723,12 +727,21 @@ CAknEdwinState* state = static_cast(State(KNullUid)); if ( IsTextAreaFocused() ) { +#ifdef BRDO_MULTITOUCH_ENABLED_FF // If in a TextArea, allow "enter" key presses to be newline/paragraph state->SetFlags( flags | EAknEditorFlagUseSCTNumericCharmap - | EAknEditorFlagAllowEntersWithScrollDown ); + | EAknEditorFlagAllowEntersWithScrollDown | EAknEditorFlagSelectionVisible ); +#else + state->SetFlags( flags | EAknEditorFlagUseSCTNumericCharmap + | EAknEditorFlagAllowEntersWithScrollDown ); +#endif } else { - state->SetFlags(flags | EAknEditorFlagUseSCTNumericCharmap); +#ifdef BRDO_MULTITOUCH_ENABLED_FF + state->SetFlags(flags | EAknEditorFlagUseSCTNumericCharmap | EAknEditorFlagSelectionVisible); +#else + state->SetFlags(flags | EAknEditorFlagUseSCTNumericCharmap ); +#endif } state->ReportAknEdStateEventL(MAknEdStateObserver::EAknEdwinStateFlagsUpdate); @@ -834,6 +847,7 @@ } } setSCTAvailability(true); + CAknEdwinState* state = static_cast(State(KNullUid)); switch( fm ) { case ELeUpSymPuc: //A any upper case letter or symbolic flags = EAknEditorFlagNoT9 | EAknEditorFlagFixedCase; @@ -853,14 +867,14 @@ flags = EAknEditorFlagNoT9 | EAknEditorFlagFixedCase; currentCase = EAknEditorUpperCase; permittedCase= EAknEditorUpperCase; - inputMode = EAknEditorTextInputMode; + inputMode = state->CurrentInputMode(); permittedInputModes= EAknEditorTextInputMode; break; case ELeLoNumSymPuc: //x any lower case, number or symbolic flags = EAknEditorFlagNoT9 | EAknEditorFlagFixedCase; currentCase = EAknEditorLowerCase; permittedCase= EAknEditorLowerCase; - inputMode = EAknEditorTextInputMode; + inputMode = state->CurrentInputMode(); permittedInputModes= EAknEditorTextInputMode | EAknEditorNumericInputMode; break; case EAnyLow: //m any lower character can be changed to upper @@ -1479,3 +1493,9 @@ return m_longKeyPress ; } +TBool CWebFepTextEditor::IsInputElementFocused() const + { + Frame* frame = m_webView->page()->focusController()->focusedOrMainFrame(); + return ( frame && frame->document()->focusedNode() && + frame->document()->focusedNode()->hasTagName(HTMLNames::inputTag)); + }