diff -r ac7e4d1d9209 -r ebd48d2de13c textinput/peninputarc/gsplugin/gspeninputplugin/src/gspeninputmodel.cpp --- a/textinput/peninputarc/gsplugin/gspeninputplugin/src/gspeninputmodel.cpp Thu Aug 19 10:15:25 2010 +0300 +++ b/textinput/peninputarc/gsplugin/gspeninputplugin/src/gspeninputmodel.cpp Tue Aug 31 15:31:50 2010 +0300 @@ -48,8 +48,6 @@ const TUid KUidtruiApp = { 0x2000B104 }; const TUid KUidPenInputSettingApp = { 0x2001959B }; -const TInt KFepChineseInputModeLength = 10; - _LIT(KLeftBracket, "(" ); _LIT(KRightBracket, ")" ); @@ -1187,9 +1185,7 @@ case ELangHongKongChinese: case ELangTaiwanChinese: { - TBuf conversion; - conversion.Num(aInputMode, EHex); - iAknfepRepository->Set( KAknFepChineseInputMode, conversion ); + iAknfepRepository->Set(KAknFepChineseInputMode, aInputMode); } break; default: @@ -1204,33 +1200,14 @@ // TInt CGSPenInputModel::GetFepInputMode() { - TUint inputMode = 0; + TInt inputMode = 0; switch(iInputLanguage) { case ELangPrcChinese: case ELangHongKongChinese: case ELangTaiwanChinese: { - _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; - iAknfepRepository->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(inputMode, EHex); + iAknfepRepository->Get(KAknFepChineseInputMode, inputMode); } break; default: @@ -1268,7 +1245,20 @@ { case EGSInputpenIdHwrTraining: { - iIsHwrTrainingAviliable = EFalse; + iIsHwrTrainingAviliable = EFalse; + TInt supportMode = EPluginInputModeNone; + if(KErrNone == iConnectErr) + { + supportMode = iPenInputServer.SupportInputMode(); + } + TBool supportHWR = EFalse; + if(supportMode & EPluginInputModeHwr || + supportMode & EPluginInputModeFSc || + supportMode & EPluginInputModeFingerHwr) + { + supportHWR = ETrue; + } + CEikonEnv* env = CEikonEnv::Static(); TUid appUid = env->EikAppUi() ->Application()->AppDllUid(); @@ -1285,17 +1275,15 @@ iIsHwrTrainingAviliable = EFalse; } else - { + { iIsHwrTrainingAviliable = IsTruiSupportedLanguage(); - } - } + } + } else { iIsHwrTrainingAviliable = IsTruiSupportedLanguage(); } - res = ( !ChineseLanguage() && !JapaneseLanguage() - && iIsHwrTrainingAviliable - && IsSupportHWR() ); + res = ( !ChineseLanguage() && !JapaneseLanguage() && iIsHwrTrainingAviliable && supportHWR); } break; case EGSInputpenIdInputLanguage: @@ -1317,43 +1305,47 @@ case EGSInputpenIdGuidLine: { - res = ( !ChineseLanguage() && !JapaneseLanguage() && IsSupportHWR()); - if(FeatureManager::FeatureSupported(KFeatureIdFfCapacitiveDisplay)&& - iInputLanguage == ELangArabic) + TInt supportMode = EPluginInputModeNone; + if(KErrNone == iConnectErr) { - res = EFalse; + supportMode = iPenInputServer.SupportInputMode(); } + + TBool supportHWR = EFalse; + if(supportMode & EPluginInputModeHwr || + supportMode & EPluginInputModeFSc || + supportMode & EPluginInputModeFingerHwr) + { + supportHWR = ETrue; + } + + res = ( !ChineseLanguage() && !JapaneseLanguage() && supportHWR); } break; case EGSInputpenIdRecognitionWithDictionary: { - res = EFalse;//item is useless after updating arabic hwr engine. -// TInt currentLanguage = InputLanguage(); // add this line -// if (currentLanguage == ELangArabic) -// { -// res = ETrue; -// } + TInt currentLanguage = InputLanguage(); // add this line + if (currentLanguage == ELangArabic) + { + res = ETrue; + } } break; case EGSInputpenIdWritingSpeed: case EGSInputpenIdPenTrailWidth: - { - if(IsSupportHWR()) - { - res = ETrue; - } - if(FeatureManager::FeatureSupported(KFeatureIdFfCapacitiveDisplay)&& - iInputLanguage == ELangArabic) - {//Hide item in setting list in arabic finger hwr. - res = EFalse; - } - } - break; case EGSInputpenIdPenTrailColour: { - if(IsSupportHWR()) + TInt supportMode = EPluginInputModeNone; + if(KErrNone == iConnectErr) + { + supportMode = iPenInputServer.SupportInputMode(); + } + + if(supportMode & EPluginInputModeHwr || + supportMode & EPluginInputModeFSc || + supportMode & EPluginInputModeFingerHwr) { res = ETrue; } @@ -1415,25 +1407,4 @@ return EFalse; } -// --------------------------------------------------------- -// Check if support hwr. -// --------------------------------------------------------- -// -TBool CGSPenInputModel::IsSupportHWR() - { - TInt supportMode = EPluginInputModeNone; - if(KErrNone == iConnectErr) - { - supportMode = iPenInputServer.SupportInputMode( iInputLanguage ); - } - - if( supportMode & EPluginInputModeHwr || - supportMode & EPluginInputModeFSc || - supportMode & EPluginInputModeFingerHwr) - { - return ETrue; - } - return EFalse; - } - // End Of File