fep/aknfep/src/AknFepUiInputStateCandidateMiniQwertyZhuyinPhrase.cpp
branchRCL_3
changeset 50 5a1685599b76
parent 44 ecbabf52600f
child 56 8152b1f1763a
--- a/fep/aknfep/src/AknFepUiInputStateCandidateMiniQwertyZhuyinPhrase.cpp	Tue Sep 14 21:59:06 2010 +0300
+++ b/fep/aknfep/src/AknFepUiInputStateCandidateMiniQwertyZhuyinPhrase.cpp	Wed Sep 15 12:34:44 2010 +0300
@@ -89,8 +89,22 @@
     uiContainer->CandidatePane()->ShowCandidateOrdinals( ETrue );
     uiContainer->CandidatePane()->SelectFirstPhrase();
     UpdateIndicator();
+    RefreshUI( ETrue );
+    }
 
-    }
+void TAknFepUiInputStateCandidateMiniQwertyZhuyinPhrase::RefreshUI( TBool aRefresh )
+	{
+    MAknFepUICtrlContainerChinese* uiContainer = UIContainer();
+    // get cursor position
+    TPoint baseLine;
+    TInt height(0);
+    TInt ascent(0);
+    TRAPD(ret,iOwner->FepMan()->GetScreenCoordinatesL(baseLine,height,ascent));
+    if (ret == KErrNone)
+        {
+        uiContainer->SetContainerPosition(baseLine, height);    
+        }    
+	}
 
 // ---------------------------------------------------------------------------
 // AknFepUiInputStateCandidateMiniQwertyZhuyinPhrase::HandleKeyL
@@ -443,6 +457,19 @@
         {
         return ETrue;
         }
+	else if ( iOwner->FepMan()->IsFlagSet( CAknFepManager::EFlagShiftKeyDepressed )
+        || iOwner->FepMan()->IsFlagSet( CAknFepManager::EFlagQwertyChrKeyDepressed )
+        || ((aKey == EStdKeyLeftFunc) && aLength == EShortKeyPress) )
+        {
+        iOwner->FepMan()->TryCloseUiL();
+        return EFalse;
+        }
+    else if ( aKey == EKeyLeftShift || aKey ==EKeyLeftCtrl || aKey
+        == EKeyRightCtrl || aKey ==EKeyRightFunc )
+        {
+        iOwner->FepMan()->TryCloseUiL();
+        return EFalse;
+        } 
     else if ( aKey == EStdKeyDevice1 )
         {
         iOwner->FepMan()->TryCloseUiL();
@@ -519,11 +546,10 @@
         }
     else
         {
-        TInt index = 0;
-        TBool isIndex = MapKeyToIndexSelectCandidate( aKey, index );
+        //TInt index = 0;
+        //TBool isIndex = MapKeyToIndexSelectCandidate( aKey, index );
         if ( aLength == EShortKeyPress && 
-            ( ( isIndex && UIContainer()->CandidatePane()->SelectIndex( index ) ) ||
-                aKey == EStdKeyDevice0 || 
+            (   aKey == EStdKeyDevice0 || 
                 aKey == EStdKeyDevice3 ) )
             {
             editPane->SetNeedClearDeliberateSelection( ETrue );
@@ -575,4 +601,24 @@
         }
     }
 
+void TAknFepUiInputStateCandidateMiniQwertyZhuyinPhrase::SubmitTextL( const TDesC& aText )
+	{
+	if ( aText.Length( ) )
+	   {
+	   MAknFepManagerUIInterface* fepMan = iOwner->FepMan( );
+	   fepMan->NewTextL( aText );
+	   fepMan->CommitInlineEditL( );
+	   iOwner->PtiEngine()->SetPredictiveChineseChar( aText );
+	   if ( fepMan->IsFlagSet( CAknFepManager::EFlagEditorFull ) )
+	      {
+	      fepMan->ClearFlag( CAknFepManager::EFlagEditorFull );
+	      iOwner->FepMan()->TryCloseUiL( );
+	      }
+	   else
+	      {
+	      iOwner->ChangeState( EPredictiveCandidate );
+	      }
+	    }
+	}
+
 // End of file