textinput/peninputfingerhwrar/src/peninputfingerhwrarstatemanager.cpp
branchRCL_3
changeset 12 5e18d8c489d6
parent 7 6defe5d1bd39
--- a/textinput/peninputfingerhwrar/src/peninputfingerhwrarstatemanager.cpp	Tue May 11 16:31:42 2010 +0300
+++ b/textinput/peninputfingerhwrar/src/peninputfingerhwrarstatemanager.cpp	Tue May 25 13:03:44 2010 +0300
@@ -404,9 +404,10 @@
     RPointerArray<HBufC> candidates = iDataStore.Candidate();
     if ( candidates.Count() > 0 )
         {
-        HBufC* defaultCandiate = candidates[0];
-        iStateManager.HwrLayout().SubmitStringToFep( *defaultCandiate );
-            
+		if(iStateManager.HwrLayout().IsAllowedToSubmitDefaultCandiate())
+		    {
+			iStateManager.HwrLayout().SubmitStringToFep( *candidates[0]);
+			}
         iStateManager.SetState( CPeninputFingerHwrArStateManager::
                 EPeninputFingerHwrArStateCandidateSelecting );  
         
@@ -516,14 +517,21 @@
     
     TPtrC ptr;
     ptr.Set( ( aEventData.Left( aEventData.Length() - 1 ) ) );
-    RPointerArray<HBufC> candidates = iDataStore.Candidate();
-    //the selected char is not same as default
-    //replace the default candidate
-    HBufC* defaultCandidate = candidates[0];
-    if( *defaultCandidate != ptr )
+	if(!iStateManager.HwrLayout().IsAllowedToSubmitDefaultCandiate())
+		{
+		iStateManager.HwrLayout().SubmitStringToFep( ptr);
+		}
+	else
         {
-        iStateManager.HwrLayout().Replace( *defaultCandidate, ptr );         
-        }
+		RPointerArray<HBufC> candidates = iDataStore.Candidate();
+		//the selected char is not same as default
+		//replace the default candidate
+		HBufC* defaultCandidate = candidates[0];
+		if( *defaultCandidate != ptr )
+			{
+			iStateManager.HwrLayout().Replace( *defaultCandidate, ptr, EFalse);         
+			}
+		}	
     iDataStore.SetArabicSymbolL();
     }