textinput/peninputsplitqwerty/src/peninputsplitqwertywindow.cpp
branchRCL_3
changeset 11 c8fb4cf7b3ae
parent 9 e6a39382bb9c
child 12 5e18d8c489d6
--- 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