--- 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<CAknEdwinState*>(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<CAknEdwinState*>(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));
+ }