webengine/osswebengine/WebKit/s60/webcoresupport/WebEditorClient.cpp
branchRCL_3
changeset 38 4917f9bf7995
parent 37 ac77f89b1d9e
child 42 a1a5d4e727e8
--- a/webengine/osswebengine/WebKit/s60/webcoresupport/WebEditorClient.cpp	Wed Apr 14 17:06:56 2010 +0300
+++ b/webengine/osswebengine/WebKit/s60/webcoresupport/WebEditorClient.cpp	Tue Apr 27 17:46:17 2010 +0300
@@ -380,12 +380,12 @@
                  frame->editor()->execCommand("MoveLeft");
                 }
                 m_webView->fepTextEditor()->HandleUpdateCursor();
-                if (frame->selectionController()->start() != startPos &&
-                    frame->selectionController()->end() != endPos) {
-                    event->setDefaultHandled();
+                if (frame->selectionController()->start() == startPos &&
+                    frame->selectionController()->end() == endPos && !select) {
+                    m_shouldEndEditing = !(m_webView->fepTextEditor()->IsTextAreaFocused() || m_webView->fepTextEditor()->IsInputElementFocused());
                 }
                 else {
-                    m_shouldEndEditing = !(m_webView->fepTextEditor()->IsTextAreaFocused() || m_webView->fepTextEditor()->IsInputElementFocused());
+                    event->setDefaultHandled();
                 }
                 break;
 
@@ -403,12 +403,12 @@
                  frame->editor()->execCommand("MoveRight");
                 }
                 m_webView->fepTextEditor()->HandleUpdateCursor();
-                if (frame->selectionController()->start() != startPos &&
-                    frame->selectionController()->end() != endPos) {
-                    event->setDefaultHandled();
+                if (frame->selectionController()->start() == startPos &&
+                    frame->selectionController()->end() == endPos && !select) {
+                    m_shouldEndEditing = !(m_webView->fepTextEditor()->IsTextAreaFocused() || m_webView->fepTextEditor()->IsInputElementFocused());
                 }
                 else {
-                    m_shouldEndEditing = !(m_webView->fepTextEditor()->IsTextAreaFocused() || m_webView->fepTextEditor()->IsInputElementFocused());
+                    event->setDefaultHandled();
                 }
                 break;
 
@@ -422,12 +422,12 @@
                     frame->editor()->execCommand("MoveUp");
                 }
                 m_webView->fepTextEditor()->HandleUpdateCursor();
-                if (frame->selectionController()->start() != startPos &&
-                    frame->selectionController()->end() != endPos) {
-                    event->setDefaultHandled();
+                if (frame->selectionController()->start() == startPos &&
+                    frame->selectionController()->end() == endPos && !select) {
+                    m_shouldEndEditing = true;
                 }
                 else {
-                    m_shouldEndEditing = true;
+                    event->setDefaultHandled();
                 }
                 break;
 
@@ -441,12 +441,12 @@
                     frame->editor()->execCommand("MoveDown");
                 }
                 m_webView->fepTextEditor()->HandleUpdateCursor();
-                if (frame->selectionController()->start() != startPos &&
-                    frame->selectionController()->end() != endPos) {
-                    event->setDefaultHandled();
+                if (frame->selectionController()->start() == startPos &&
+                    frame->selectionController()->end() == endPos && !select) {
+                    m_shouldEndEditing = true;
                 }
                 else {
-                    m_shouldEndEditing = true;
+                    event->setDefaultHandled();
                 }
                 break;