diff -r 6defe5d1bd39 -r 4eb1ae11334f textinput/GSLangPlugin/src/GSLangModel.cpp --- a/textinput/GSLangPlugin/src/GSLangModel.cpp Wed Mar 31 22:08:20 2010 +0300 +++ b/textinput/GSLangPlugin/src/GSLangModel.cpp Wed Apr 14 16:18:34 2010 +0300 @@ -56,6 +56,8 @@ //CONSTANTS const TInt KGSDiskSpaceLimitForLanguageChange = 300000; +const TInt KFepChineseInputModeLength = 10; + // ================= MEMBER FUNCTIONS ======================= // ---------------------------------------------------------------------------- @@ -841,9 +843,27 @@ { // fetch the setting value from shared data etc. // return the value - TInt MethodItem; + TUint MethodItem; + _LIT(Kx, "x"); + // This conversion is needed because KAknFepChineseInputMode cenrep key original type was 16bit int. + // now type is changed to string, so that it can accommodate bigger values like EHangul 0x16000. + TBuf conversion; User::LeaveIfError( iAknFepRepository-> - Get( KAknFepChineseInputMode, MethodItem ) ); + Get( KAknFepChineseInputMode, conversion ) ); + TInt len = conversion.Find(Kx); + TLex lex; + + if(len) + { + TPtrC ptr = conversion.Mid(len +1); + lex.Assign(ptr); + } + else + { + lex.Assign(conversion); + } + + lex.Val(MethodItem, EHex); return MethodItem; } else @@ -863,8 +883,11 @@ { if ( FeatureManager::FeatureSupported( KFeatureIdChinese ) ) { + TBuf conversion; + conversion.Num(aMethod, EHex); + User::LeaveIfError( - iAknFepRepository->Set( KAknFepChineseInputMode, aMethod ) ); + iAknFepRepository->Set( KAknFepChineseInputMode, conversion ) ); // See if it cannot do predictive text entry if( !CheckDictionaryFromPtiL( aMethod ) )