--- a/textinput/peninputgenericvkb/src/peninputgenericvkbwindow.cpp Tue Apr 27 16:59:43 2010 +0300
+++ b/textinput/peninputgenericvkb/src/peninputgenericvkbwindow.cpp Tue May 11 16:31:42 2010 +0300
@@ -1219,6 +1219,7 @@
TInt currentRange = IntContext( EPeninputDataTypeCurrentRange );
TInt permittedRange = IntContext( EPeninputDataTypePermittedRange );
TInt currentAccent = IntContext( EPeninputDataTypeCurrentAccent );
+ TInt currentLanguage = IntContext( EPeninputDataTypeInputLanguage );
CPeninputRangeBarInfo* rbinfo= ConfigInfo()->RangeBarInfo();
CPeninputRangeInfo* rgninfo = NULL;
@@ -1253,7 +1254,9 @@
}
}
- if ( permittedRange & ERangeNativeNumber )
+ if (( permittedRange & ERangeNativeNumber ) && ( currentRange != ERangeNumber )
+ && (( ELangArabic == currentLanguage ) || ( ELangFarsi == currentLanguage )
+ || ( ELangUrdu == currentLanguage )))
{
rgninfo = rbinfo->FindRange( ERangeNativeNumber );
if ( rgninfo && currentRange != ERangeNativeNumber )
@@ -1263,6 +1266,21 @@
aRangeItems.Append( item );
}
}
+ else if(( permittedRange & ERangeNumber ) && ( currentRange != ERangeNumber )
+ && !(( ELangThai == currentLanguage ) && ( currentRange == ERangeNativeNumber )))
+ {
+ rgninfo = rbinfo->FindRange( ERangeNumber );
+ if ( rgninfo && currentRange != ERangeNumber )
+ {
+ item.iCommand = EPeninputVkbLayoutLatinNumber;
+ item.iText.Copy( iRangeLabels.iLabelLatinNumber );
+ aRangeItems.Append( item );
+ }
+ }
+ else
+ {
+ // Do nothing
+ }
if ( permittedRange & ERangeEnglish )
{
@@ -1275,16 +1293,6 @@
}
}
- if ( permittedRange & ERangeNumber )
- {
- rgninfo = rbinfo->FindRange( ERangeNumber );
- if ( rgninfo && currentRange != ERangeNumber )
- {
- item.iCommand = EPeninputVkbLayoutLatinNumber;
- item.iText.Copy( iRangeLabels.iLabelLatinNumber );
- aRangeItems.Append( item );
- }
- }
}
// ---------------------------------------------------------------------------