--- 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();
}