fep/aknfep/src/aknfepuiinputstateminiqwertystrokephrase.cpp
branchRCL_3
changeset 50 5a1685599b76
parent 44 ecbabf52600f
child 56 8152b1f1763a
--- a/fep/aknfep/src/aknfepuiinputstateminiqwertystrokephrase.cpp	Tue Sep 14 21:59:06 2010 +0300
+++ b/fep/aknfep/src/aknfepuiinputstateminiqwertystrokephrase.cpp	Wed Sep 15 12:34:44 2010 +0300
@@ -127,7 +127,6 @@
             if ( candidatePane->VisibleCandidateCount()!= 1 )
                 {
                 uiContainer->EditPaneWindow()->SetCandidateRefreshFlag( ETrue );
-                iOwner->ChangeState( ECandidate );
                 candidatePane->SelectNext();
                 }
             break;
@@ -137,9 +136,7 @@
             if ( candidatePane->VisibleCandidateCount()!= 1 )
                 {
                 uiContainer->EditPaneWindow()->SetCandidateRefreshFlag( ETrue );
-                iOwner->ChangeState( ECandidate );
-                TInt numbertotal = UIContainer()->CandidatePane()->VisibleCandidateCount();
-                UIContainer()->CandidatePane()->SelectIndex( numbertotal-1 );
+                candidatePane->SelectPrev();
                 }
             break;
             }
@@ -157,7 +154,7 @@
                     {
                     if ( CheckFirstGroupStroke() )
                         {
-                        iOwner->ChangeState( ECandidate );
+                        iOwner->ChangeState( EEntry );
                         }
                     else
                         {
@@ -191,6 +188,31 @@
     return ret;
     }
 
+void TAknFepInputStateEntryMiniQwertyStrokePhrase::SubmitTextL( const TDesC& aText )
+	{
+	MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
+
+	if ( aText.Length())
+	   {
+	   if ( !CommitInlineEEPL( aText ) )
+	      {
+	      DoActionAfterCommit();
+	      }
+	      else
+	          {
+	          if  ( CheckFirstGroupStroke() )
+	              {
+	              iOwner->ChangeState( EEntry );
+	              }
+	          else
+	              {
+	              uiContainer->EditPaneWindow()->SetAutoChangeStateFlag( EAutoChangeStateFromInput );
+	              iOwner->ChangeState( EMiniQwertyEdit );
+	              }
+	          }
+	     }
+	}
+
 // ---------------------------------------------------------------------------
 // TAknFepInputStateEditingMiniQwertyStrokePhrase::TAknFepInputStateEditingMiniQwertyStrokePhrase
 // C++ default constructor
@@ -263,7 +285,7 @@
             if ( 0 != candidatePane->VisibleCandidateCount() )
                 {
                 uiContainer->EditPaneWindow()->SetChangeState( ETrue );
-                iOwner->ChangeState( ECandidate );
+                iOwner->ChangeState( EEntry );
                 }
             break;
             }
@@ -317,9 +339,10 @@
     {
     iState = ECandidate;
     MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
+    uiContainer->CandidatePane()->SelectFirstPhrase();
     uiContainer->FocusCandidatePane( ETrue );
     uiContainer->CandidatePane()->ShowCandidateOrdinals( ETrue );
-    uiContainer->CandidatePane()->SelectFirstPhrase();
+    
     if ( uiContainer->EditPaneWindow()->GetCandidateRefreshFlag() )
         {
         uiContainer->EditPaneWindow()->DisableCursor();
@@ -480,6 +503,31 @@
         }
     }
 
+void TAknFepInputStateEditingMiniQwertyStrokePhrase::SubmitTextL( const TDesC& aText )
+	{
+	MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
+	if ( aText.Length() )
+	    {
+	    if ( !CommitInlineEEPL( aText ) )
+	        {
+	        DoActionAfterCommit();
+	        }
+	    else
+	        {
+	        if ( CheckFirstGroupStroke() )
+	           {
+	           RefreshUI();
+	           uiContainer->CandidatePane()->SelectFirstPhrase();
+	           }
+	       else
+	           {
+	           uiContainer->EditPaneWindow()->SetAutoChangeStateFlag(
+	                        EAutoChangeStateFromCandidate );
+	           iOwner->ChangeState( EMiniQwertyEdit );
+	           }
+	        }
+	   }
+	}
 
 // ---------------------------------------------------------------------------
 // TAknFepInputStateEntryMiniQwertyStrokePhrase::HandleCommandL
@@ -505,7 +553,7 @@
                     {
                     if ( CheckFirstGroupStroke() )
                         {
-                        iOwner->ChangeState( ECandidate );
+                        iOwner->ChangeState( EMiniQwertyEdit );
                         }
                     else
                         {
@@ -563,3 +611,29 @@
             break;
         }
     }
+
+void TAknFepUiInputStateCandidateMiniQwertyStrokePhrase::SubmitTextL( const TDesC& aText )
+	{
+	MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
+	if ( aText.Length() )
+	    {
+	    if ( !CommitInlineEEPL( aText ) )
+	        {
+	        DoActionAfterCommit();
+	        }
+	    else
+	        {
+	        if ( CheckFirstGroupStroke() )
+	           {
+	           RefreshUI();
+	           uiContainer->CandidatePane()->SelectFirstPhrase();
+	           }
+	           else
+	               {
+	               uiContainer->EditPaneWindow()->SetAutoChangeStateFlag(
+	                            EAutoChangeStateFromCandidate );
+	               iOwner->ChangeState( EMiniQwertyEdit );
+	               }
+	            }
+	   }
+	}