webengine/osswebengine/WebKit/s60/webview/WebFepTextEditor.cpp
branchRCL_3
changeset 42 a1a5d4e727e8
parent 41 4bd5176e1bc8
child 44 800203832575
--- a/webengine/osswebengine/WebKit/s60/webview/WebFepTextEditor.cpp	Tue May 25 13:52:38 2010 +0300
+++ b/webengine/osswebengine/WebKit/s60/webview/WebFepTextEditor.cpp	Wed Jun 09 10:52:50 2010 +0300
@@ -76,7 +76,8 @@
     : m_webView(aView),
       m_textFormatMask(NULL),
       m_inlineEditText(NULL),
-      m_longKeyPress(EFalse)
+      m_longKeyPress(EFalse),
+      m_inlineTextEditingStarted(EFalse)
 {
     // Set up the extended capabilities
     TRAP_IGNORE(
@@ -323,6 +324,7 @@
 {
     CCoeEnv::Static()->ForEachFepObserverCall(FepObserverHandleStartOfTransactionL);
     ClearInlineText();
+    m_inlineTextEditingStarted= ETrue;
     UpdateInlineText(aInitialInlineText);
 }
 
@@ -549,7 +551,7 @@
 			Node* editNode = sc->focusNode();
 			TPoint viewPoint = kit(frame)->frameView()->frameCoordsInViewCoords(editNode->getRect().Rect().iBr);
 			xPos = viewPoint.iX;
-			yPos = viewPoint.iY;
+			yPos = frame->document()->focusedNode()->getRect().bottomLeft().y() + rect.height();
 			String str;
 			if ( editNode &&
 				 editNode->isTextNode() ) {
@@ -600,6 +602,7 @@
     m_inlineEditText = NULL;
     
     m_longKeyPress = EFalse;
+    m_inlineTextEditingStarted= EFalse;
 
     HandleUpdateCursor();
     UpdateEditingMode();
@@ -922,6 +925,9 @@
 
         return ETrue;
     }
+	else {
+    setSCTAvailability(true);
+    }
 
     return EFalse;
 }
@@ -1388,6 +1394,10 @@
 {
     CAknCcpuSupport* ccpu = NULL;
     CAknEdwinState* edwinState = static_cast<CAknEdwinState*>(this->State(KNullUid));
+    if ( edwinState && edwinState->MenuBar() && edwinState->MenuBar()->IsDisplayed() )
+        {
+        return;
+        }
     ccpu = new(ELeave) CAknCcpuSupport(this);
     ccpu->SetMopParent(this);
     CleanupStack::PushL(ccpu);
@@ -1508,3 +1518,9 @@
     m_ExtendedInputCapabilities->ReportEventL(CAknExtendedInputCapabilities::
                         MAknEventObserver::EPointerEventReceived, NULL );
     }
+
+TBool CWebFepTextEditor::inlineTextEditingStarted()
+    {
+    return m_inlineTextEditingStarted; 
+    }
+