--- a/fep/aknfep/src/AknFepUiInputStateCandidateMiniQwertyZhuyinPhrase.cpp Mon Mar 08 21:43:50 2010 +0000
+++ b/fep/aknfep/src/AknFepUiInputStateCandidateMiniQwertyZhuyinPhrase.cpp Sun Mar 14 13:11:12 2010 +0000
@@ -220,10 +220,28 @@
CDesCArrayFlat* keyStrokeArray = UIContainer()->EditPaneWindow()->KeystrokeArray();
CDesCArrayFlat* phraseKeyStrokeArray = UIContainer()->EditPaneWindow()->PhraseShowKeyStrokeArray() ;
CDesCArrayFlat* phraseArray = UIContainer()->EditPaneWindow()->PhraseArray();
+ CDesCArrayFlat* phraseZhuYinSpellingArray = UIContainer()->EditPaneWindow()->PhraseZhuYinSpellingArray();
RArray<TInt>* keyCodeArray = UIContainer()->EditPaneWindow()->KeycodeArray();
RArray<TInt>* keyCodePhraseArray = UIContainer()->EditPaneWindow()->PhraseKeycodeArray();
phraseArray->AppendL( aPhrase );
+
+ //we store zhuyin-spelling for this phrase
+ TInt delCount = phraseZhuYinSpellingArray->Count() - phraseArray->Count();//we can sure delCount>=0,impossible <0
+ if(delCount > 0)
+ {
+ phraseZhuYinSpellingArray->Delete( phraseArray->Count(),delCount );//keep same count,del from tail one by one
+ }
+ TInt pos = -1;
+ if(-1 == pos)
+ pos = aText.Find( KDelimiter );//single quote
+ if(-1 == pos)
+ pos = GetIndexOfToneMark( aText );
+ if(-1 == pos)
+ pos = aText.Length();//impossible
+ phraseZhuYinSpellingArray->AppendL(aText.Left(pos+1));//we are sure the first spelling-group from left match the aPhrase
+
+
TBuf<KInputPaneLength> keyStoke;
TInt replaceCount = 0;
TInt delimiterIndex = aText.Find( KDelimiter );