textinput/GSLangPlugin/src/GSLangModel.cpp
branchRCL_3
changeset 12 4eb1ae11334f
parent 0 eb1f2e154e89
child 14 e6a39382bb9c
--- 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<KFepChineseInputModeLength> 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<KFepChineseInputModeLength> 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 ) )