diff -r e6a39382bb9c -r c8fb4cf7b3ae textinput/peninputsplitqwerty/src/peninputsplitqwertywindow.cpp --- a/textinput/peninputsplitqwerty/src/peninputsplitqwertywindow.cpp Tue Apr 27 16:59:43 2010 +0300 +++ b/textinput/peninputsplitqwerty/src/peninputsplitqwertywindow.cpp Tue May 11 16:31:42 2010 +0300 @@ -1868,6 +1868,7 @@ TInt currentRange = IntContext( EPeninputDataTypeCurrentRange ); TInt permittedRange = IntContext( EPeninputDataTypePermittedRange ); TInt currentAccent = IntContext( EPeninputDataTypeCurrentAccent ); + TInt currentLanguage = IntContext( EPeninputDataTypeInputLanguage ); CPeninputRangeBarInfo* rbinfo= ConfigInfo()->RangeBarInfo(); CPeninputRangeInfo* rgninfo = NULL; @@ -1903,7 +1904,9 @@ } } - if ( permittedRange & ERangeNativeNumber ) + if (( permittedRange & ERangeNativeNumber ) && ( currentRange != ERangeNumber ) + && (( ELangArabic == currentLanguage ) || ( ELangFarsi == currentLanguage ) + || ( ELangUrdu == currentLanguage ))) { rgninfo = rbinfo->FindRange( ERangeNativeNumber ); if ( rgninfo && currentRange != ERangeNativeNumber ) @@ -1913,6 +1916,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 ) { @@ -1924,16 +1942,5 @@ aRangeItems.Append( item ); } } - - if ( permittedRange & ERangeNumber ) - { - rgninfo = rbinfo->FindRange( ERangeNumber ); - if ( rgninfo && currentRange != ERangeNumber ) - { - item.iCommand = EPeninputVkbLayoutLatinNumber; - item.iText.Copy( iRangeLabels.iLabelLatinNumber ); - aRangeItems.Append( item ); - } - } } // End Of File