webengine/osswebengine/WebKit/s60/webcoresupport/WebEditorClient.cpp
branchRCL_3
changeset 38 4917f9bf7995
parent 37 ac77f89b1d9e
child 42 a1a5d4e727e8
equal deleted inserted replaced
37:ac77f89b1d9e 38:4917f9bf7995
   378                 else
   378                 else
   379                 {
   379                 {
   380                  frame->editor()->execCommand("MoveLeft");
   380                  frame->editor()->execCommand("MoveLeft");
   381                 }
   381                 }
   382                 m_webView->fepTextEditor()->HandleUpdateCursor();
   382                 m_webView->fepTextEditor()->HandleUpdateCursor();
   383                 if (frame->selectionController()->start() != startPos &&
   383                 if (frame->selectionController()->start() == startPos &&
   384                     frame->selectionController()->end() != endPos) {
   384                     frame->selectionController()->end() == endPos && !select) {
       
   385                     m_shouldEndEditing = !(m_webView->fepTextEditor()->IsTextAreaFocused() || m_webView->fepTextEditor()->IsInputElementFocused());
       
   386                 }
       
   387                 else {
   385                     event->setDefaultHandled();
   388                     event->setDefaultHandled();
   386                 }
       
   387                 else {
       
   388                     m_shouldEndEditing = !(m_webView->fepTextEditor()->IsTextAreaFocused() || m_webView->fepTextEditor()->IsInputElementFocused());
       
   389                 }
   389                 }
   390                 break;
   390                 break;
   391 
   391 
   392             case EKeyRightArrow:
   392             case EKeyRightArrow:
   393                 if (select)//If shift is pressed then highlight the selection
   393                 if (select)//If shift is pressed then highlight the selection
   401                 else
   401                 else
   402                 {
   402                 {
   403                  frame->editor()->execCommand("MoveRight");
   403                  frame->editor()->execCommand("MoveRight");
   404                 }
   404                 }
   405                 m_webView->fepTextEditor()->HandleUpdateCursor();
   405                 m_webView->fepTextEditor()->HandleUpdateCursor();
   406                 if (frame->selectionController()->start() != startPos &&
   406                 if (frame->selectionController()->start() == startPos &&
   407                     frame->selectionController()->end() != endPos) {
   407                     frame->selectionController()->end() == endPos && !select) {
       
   408                     m_shouldEndEditing = !(m_webView->fepTextEditor()->IsTextAreaFocused() || m_webView->fepTextEditor()->IsInputElementFocused());
       
   409                 }
       
   410                 else {
   408                     event->setDefaultHandled();
   411                     event->setDefaultHandled();
   409                 }
       
   410                 else {
       
   411                     m_shouldEndEditing = !(m_webView->fepTextEditor()->IsTextAreaFocused() || m_webView->fepTextEditor()->IsInputElementFocused());
       
   412                 }
   412                 }
   413                 break;
   413                 break;
   414 
   414 
   415             case EKeyUpArrow:
   415             case EKeyUpArrow:
   416                 if (select) { //If shift is pressed then highlight the selection
   416                 if (select) { //If shift is pressed then highlight the selection
   420                 }
   420                 }
   421                 else {
   421                 else {
   422                     frame->editor()->execCommand("MoveUp");
   422                     frame->editor()->execCommand("MoveUp");
   423                 }
   423                 }
   424                 m_webView->fepTextEditor()->HandleUpdateCursor();
   424                 m_webView->fepTextEditor()->HandleUpdateCursor();
   425                 if (frame->selectionController()->start() != startPos &&
   425                 if (frame->selectionController()->start() == startPos &&
   426                     frame->selectionController()->end() != endPos) {
   426                     frame->selectionController()->end() == endPos && !select) {
       
   427                     m_shouldEndEditing = true;
       
   428                 }
       
   429                 else {
   427                     event->setDefaultHandled();
   430                     event->setDefaultHandled();
   428                 }
       
   429                 else {
       
   430                     m_shouldEndEditing = true;
       
   431                 }
   431                 }
   432                 break;
   432                 break;
   433 
   433 
   434             case EKeyDownArrow:
   434             case EKeyDownArrow:
   435                 if (select) {//If shift is pressed then highlight the selection
   435                 if (select) {//If shift is pressed then highlight the selection
   439                 }
   439                 }
   440                 else {
   440                 else {
   441                     frame->editor()->execCommand("MoveDown");
   441                     frame->editor()->execCommand("MoveDown");
   442                 }
   442                 }
   443                 m_webView->fepTextEditor()->HandleUpdateCursor();
   443                 m_webView->fepTextEditor()->HandleUpdateCursor();
   444                 if (frame->selectionController()->start() != startPos &&
   444                 if (frame->selectionController()->start() == startPos &&
   445                     frame->selectionController()->end() != endPos) {
   445                     frame->selectionController()->end() == endPos && !select) {
       
   446                     m_shouldEndEditing = true;
       
   447                 }
       
   448                 else {
   446                     event->setDefaultHandled();
   449                     event->setDefaultHandled();
   447                 }
       
   448                 else {
       
   449                     m_shouldEndEditing = true;
       
   450                 }
   450                 }
   451                 break;
   451                 break;
   452                 
   452                 
   453             case EKeyEnter:
   453             case EKeyEnter:
   454             case EKeyDevice3:    
   454             case EKeyDevice3: