408 |
403 |
409 RPointerArray<HBufC> candidates = iDataStore.Candidate(); |
404 RPointerArray<HBufC> candidates = iDataStore.Candidate(); |
410 if ( candidates.Count() > 0 ) |
405 if ( candidates.Count() > 0 ) |
411 { |
406 { |
412 HBufC* defaultCandiate = candidates[0]; |
407 HBufC* defaultCandiate = candidates[0]; |
413 |
408 iStateManager.HwrLayout().SubmitStringToFep( *defaultCandiate ); |
414 if( iDataStore.IsSpecialDisplayChars( *defaultCandiate ) ) |
|
415 { |
|
416 HBufC* realCandidate = iDataStore.ConvertDisplayChars( *defaultCandiate ); |
|
417 iStateManager.HwrLayout().SubmitStringToFep( *realCandidate ); |
|
418 delete realCandidate; |
|
419 } |
|
420 else |
|
421 { |
|
422 iStateManager.HwrLayout().SubmitStringToFep( *defaultCandiate ); |
|
423 } |
|
424 |
409 |
425 //check if the default candidate is need to be sent directly |
410 iStateManager.SetState( CPeninputFingerHwrArStateManager:: |
426 if( iDataStore.IsDirectlySentCandidate( *defaultCandiate ) ) |
|
427 { |
|
428 iStateManager.SetState( CPeninputFingerHwrArStateManager:: |
|
429 EPeninputFingerHwrArStateStandby ); |
|
430 } |
|
431 else |
|
432 { |
|
433 |
|
434 iStateManager.SetState( CPeninputFingerHwrArStateManager:: |
|
435 EPeninputFingerHwrArStateCandidateSelecting ); |
411 EPeninputFingerHwrArStateCandidateSelecting ); |
436 } |
|
437 |
412 |
438 } |
413 } |
439 } |
414 } |
440 |
|
441 // ----------------------------------------------------------------------------- |
|
442 // CPeninputFingerHwrArStateWriting::OnSelectedCandidatesL() |
|
443 // . |
|
444 // ----------------------------------------------------------------------------- |
|
445 // |
|
446 void CPeninputFingerHwrArStateWriting::OnSelectedCandidatesL( |
|
447 const TDesC& aEventData ) |
|
448 { |
|
449 const TInt cellNo = aEventData[aEventData.Length() - 1]; |
|
450 if (!iDataStore.IsValidCandidate( cellNo )) |
|
451 { |
|
452 iStateManager.SetState(CPeninputFingerHwrArStateManager:: |
|
453 EPeninputFingerHwrArStateStandby ); |
|
454 return; |
|
455 } |
|
456 |
|
457 TPtrC ptr; |
|
458 ptr.Set(( aEventData.Left( aEventData.Length() - 1 ) ) ); |
|
459 RPointerArray<HBufC> candidates = iDataStore.Candidate(); |
|
460 |
|
461 //handle special display char |
|
462 if( iDataStore.IsSpecialDisplayChars( ptr ) ) |
|
463 { |
|
464 HBufC* realCandidate = iDataStore.ConvertDisplayChars( ptr ); |
|
465 iStateManager.HwrLayout().SubmitStringToFep( ptr ); |
|
466 delete realCandidate; |
|
467 } |
|
468 else |
|
469 { |
|
470 iStateManager.HwrLayout().SubmitStringToFep( ptr ); |
|
471 } |
|
472 |
|
473 iDataStore.SetArabicSymbolL(); |
|
474 |
|
475 // record the default cell highlight flag |
|
476 iDataStore.SetHighlight(EFalse); |
|
477 |
|
478 // iStateManager.SetState( |
|
479 // CPeninputFingerHwrArStateManager:: |
|
480 // EPeninputFingerHwrArStateStandby ); |
|
481 } |
|
482 |
|
483 |
|
484 |
|
485 |
415 |
486 // ----------------------------------------------------------------------------- |
416 // ----------------------------------------------------------------------------- |
487 // CPeninputFingerHwrArStateWriting::OnEntry() |
417 // CPeninputFingerHwrArStateWriting::OnEntry() |
488 // . |
418 // . |
489 // ----------------------------------------------------------------------------- |
419 // ----------------------------------------------------------------------------- |
590 //the selected char is not same as default |
520 //the selected char is not same as default |
591 //replace the default candidate |
521 //replace the default candidate |
592 HBufC* defaultCandidate = candidates[0]; |
522 HBufC* defaultCandidate = candidates[0]; |
593 if( *defaultCandidate != ptr ) |
523 if( *defaultCandidate != ptr ) |
594 { |
524 { |
595 if( iDataStore.IsSpecialDisplayChars( ptr ) ) |
525 iStateManager.HwrLayout().Replace( *defaultCandidate, ptr ); |
596 { |
|
597 HBufC* realCandidate = iDataStore.ConvertDisplayChars( ptr ); |
|
598 iStateManager.HwrLayout().Replace( *defaultCandidate, |
|
599 *realCandidate ); |
|
600 delete realCandidate; |
|
601 } |
|
602 else |
|
603 { |
|
604 iStateManager.HwrLayout().Replace( *defaultCandidate, ptr ); |
|
605 } |
|
606 } |
526 } |
607 iDataStore.SetArabicSymbolL(); |
527 iDataStore.SetArabicSymbolL(); |
608 // iStateManager.SetState( CPeninputFingerHwrArStateManager:: |
|
609 // EPeninputFingerHwrArStateStandby ); |
|
610 |
|
611 } |
528 } |
612 |
529 |
613 |
530 |
614 // ----------------------------------------------------------------------------- |
531 // ----------------------------------------------------------------------------- |
615 // CPeninputFingerHwrStateHandlerCandidateSelecting::OnClickBackSpaceL() |
532 // CPeninputFingerHwrStateHandlerCandidateSelecting::OnClickBackSpaceL() |