fep/aknfep/peninputplugins/peninputimeplugingeneric/src/peninputimeplugingeneric.cpp
--- a/fep/aknfep/peninputplugins/peninputimeplugingeneric/src/peninputimeplugingeneric.cpp Fri Feb 19 23:09:27 2010 +0200
+++ b/fep/aknfep/peninputplugins/peninputimeplugingeneric/src/peninputimeplugingeneric.cpp Fri Mar 12 15:44:07 2010 +0200
@@ -50,7 +50,7 @@
_LIT(KVkbImeName, "Generic VKB");
_LIT(KFSQImeName, "Generic FSQ");
_LIT(KSSQImeName, "Split View Qwerty");
-
+_LIT(KFingerHwrImeName, "Generic Fingerhwr");
_LIT(KHwrResourceFormatPattern, "peninputhwrwindowconfiginfo_*.rsc");
_LIT(KVkbResourceFormatPattern, "peninputvkbwindowconfiginfo_*.rsc");
_LIT(KSsqResourceFormatPattern, "peninputssqwinconfiginfo_*.rsc");
@@ -207,6 +207,11 @@
}
}
break;
+ case EPluginInputModeFingerHwr:
+ {
+ layoutId.iUid = KFingerHwrUiId;
+ }
+ break;
default:
return NULL;
}
@@ -266,6 +271,10 @@
{
mode = EPluginInputModeFSQ;
}
+ else if( aLayoutId == KFingerHwrUiId )
+ {
+ mode = EPluginInputModeFingerHwr;
+ }
else
{
return NULL;
@@ -356,6 +365,11 @@
id = KFsqUiId;
}
break;
+ case EPluginInputModeFingerHwr:
+ {
+ id = KFingerHwrUiId;
+ }
+ break;
default:
{
id = KInvalidImplId;
@@ -452,7 +466,7 @@
TBool vkb = EFalse;
TBool fsq = EFalse;
TBool ssq = EFalse;
-
+ TBool fingerhwr = EFalse;
CleanupStack::PushL( TCleanupItem( Cleanup, &infoArray ) );
REComSession::ListImplementationsL(id, infoArray);
@@ -480,6 +494,10 @@
{
ssq = ETrue;
}
+ if (infoArray[i]->ImplementationUid().iUid == KFingerHwrUiId )
+ {
+ fingerhwr = ETrue;
+ }
}
TImePlguinImplDetail detail;
@@ -592,6 +610,14 @@
}
delete dir;
}
+ if( fingerhwr )
+ {
+ detail.iMode = EPluginInputModeFingerHwr;
+ detail.iMeritValue = EImeMerit_Preferred;
+ detail.iDisplayName.Copy(KFingerHwrImeName());
+ detail.iLanguage = ELangArabic;
+ aSupportList.Append(detail);
+ }
CleanupStack::PopAndDestroy(&infoArray); // infoArray
@@ -735,6 +761,7 @@
switch ( aMode )
{
+ case EPluginInputModeFingerHwr:
case EPluginInputModeHwr:
{
return iPluginUiManager = CPluginFepManagerHwr::NewL(*this, iPenInputServer);