1217 { |
1217 { |
1218 aRangeItems.Reset(); |
1218 aRangeItems.Reset(); |
1219 TInt currentRange = IntContext( EPeninputDataTypeCurrentRange ); |
1219 TInt currentRange = IntContext( EPeninputDataTypeCurrentRange ); |
1220 TInt permittedRange = IntContext( EPeninputDataTypePermittedRange ); |
1220 TInt permittedRange = IntContext( EPeninputDataTypePermittedRange ); |
1221 TInt currentAccent = IntContext( EPeninputDataTypeCurrentAccent ); |
1221 TInt currentAccent = IntContext( EPeninputDataTypeCurrentAccent ); |
|
1222 TInt currentLanguage = IntContext( EPeninputDataTypeInputLanguage ); |
1222 |
1223 |
1223 CPeninputRangeBarInfo* rbinfo= ConfigInfo()->RangeBarInfo(); |
1224 CPeninputRangeBarInfo* rbinfo= ConfigInfo()->RangeBarInfo(); |
1224 CPeninputRangeInfo* rgninfo = NULL; |
1225 CPeninputRangeInfo* rgninfo = NULL; |
1225 |
1226 |
1226 //add accent items |
1227 //add accent items |
1251 item.iText.Copy( iRangeLabels.iLabelNativeChar ); |
1252 item.iText.Copy( iRangeLabels.iLabelNativeChar ); |
1252 aRangeItems.Append( item ); |
1253 aRangeItems.Append( item ); |
1253 } |
1254 } |
1254 } |
1255 } |
1255 |
1256 |
1256 if ( permittedRange & ERangeNativeNumber ) |
1257 if (( permittedRange & ERangeNativeNumber ) && ( currentRange != ERangeNumber ) |
|
1258 && (( ELangArabic == currentLanguage ) || ( ELangFarsi == currentLanguage ) |
|
1259 || ( ELangUrdu == currentLanguage ))) |
1257 { |
1260 { |
1258 rgninfo = rbinfo->FindRange( ERangeNativeNumber ); |
1261 rgninfo = rbinfo->FindRange( ERangeNativeNumber ); |
1259 if ( rgninfo && currentRange != ERangeNativeNumber ) |
1262 if ( rgninfo && currentRange != ERangeNativeNumber ) |
1260 { |
1263 { |
1261 item.iCommand = EPeninputVkbLayoutNativeNumber; |
1264 item.iCommand = EPeninputVkbLayoutNativeNumber; |
1262 item.iText.Copy( iRangeLabels.iLabelNativeNumber ); |
1265 item.iText.Copy( iRangeLabels.iLabelNativeNumber ); |
1263 aRangeItems.Append( item ); |
1266 aRangeItems.Append( item ); |
1264 } |
1267 } |
1265 } |
1268 } |
|
1269 else if(( permittedRange & ERangeNumber ) && ( currentRange != ERangeNumber ) |
|
1270 && !(( ELangThai == currentLanguage ) && ( currentRange == ERangeNativeNumber ))) |
|
1271 { |
|
1272 rgninfo = rbinfo->FindRange( ERangeNumber ); |
|
1273 if ( rgninfo && currentRange != ERangeNumber ) |
|
1274 { |
|
1275 item.iCommand = EPeninputVkbLayoutLatinNumber; |
|
1276 item.iText.Copy( iRangeLabels.iLabelLatinNumber ); |
|
1277 aRangeItems.Append( item ); |
|
1278 } |
|
1279 } |
|
1280 else |
|
1281 { |
|
1282 // Do nothing |
|
1283 } |
1266 |
1284 |
1267 if ( permittedRange & ERangeEnglish ) |
1285 if ( permittedRange & ERangeEnglish ) |
1268 { |
1286 { |
1269 rgninfo = rbinfo->FindRange( ERangeEnglish ); |
1287 rgninfo = rbinfo->FindRange( ERangeEnglish ); |
1270 if ( rgninfo && currentRange != ERangeEnglish ) |
1288 if ( rgninfo && currentRange != ERangeEnglish ) |
1273 item.iText.Copy( iRangeLabels.iLabelLatinChar ); |
1291 item.iText.Copy( iRangeLabels.iLabelLatinChar ); |
1274 aRangeItems.Append( item ); |
1292 aRangeItems.Append( item ); |
1275 } |
1293 } |
1276 } |
1294 } |
1277 |
1295 |
1278 if ( permittedRange & ERangeNumber ) |
|
1279 { |
|
1280 rgninfo = rbinfo->FindRange( ERangeNumber ); |
|
1281 if ( rgninfo && currentRange != ERangeNumber ) |
|
1282 { |
|
1283 item.iCommand = EPeninputVkbLayoutLatinNumber; |
|
1284 item.iText.Copy( iRangeLabels.iLabelLatinNumber ); |
|
1285 aRangeItems.Append( item ); |
|
1286 } |
|
1287 } |
|
1288 } |
1296 } |
1289 |
1297 |
1290 // --------------------------------------------------------------------------- |
1298 // --------------------------------------------------------------------------- |
1291 // Load range labels for range list |
1299 // Load range labels for range list |
1292 // --------------------------------------------------------------------------- |
1300 // --------------------------------------------------------------------------- |