383 return iCurrentUiMgr; |
382 return iCurrentUiMgr; |
384 } |
383 } |
385 |
384 |
386 void CGenericItutUiLayout::SetInputModeL(TInt aMode) |
385 void CGenericItutUiLayout::SetInputModeL(TInt aMode) |
387 { |
386 { |
388 TBool numericOnlyChanged = iDataMgr->IsCharFlagChanged() ? ETrue : EFalse; |
387 // Input mode can not be set to EnativeNumber in Thai |
389 //only number mode need judge it |
388 TInt inputLanguage = iDataMgr->InputLanguage(); |
390 |
389 if ( aMode == ENativeNumber && inputLanguage == ELangThai ) |
391 // both EStrokeFind and EStroke will be stored as Estroke ///// |
390 { |
392 if ( aMode != iDataMgr->InputMode() || |
391 aMode = ENumber; |
393 aMode == EStroke || aMode == EStrokeFind || |
392 } |
394 aMode == EZhuyin || aMode == EZhuyinFind || |
393 |
395 numericOnlyChanged ) |
394 TBool numericOnlyChanged = iDataMgr->IsCharFlagChanged() ? ETrue : EFalse; |
|
395 //only number mode need judge it |
|
396 |
|
397 // both EStrokeFind and EStroke will be stored as Estroke ///// |
|
398 if ( aMode != iDataMgr->InputMode() || |
|
399 aMode == EStroke || aMode == EStrokeFind || |
|
400 aMode == EZhuyin || aMode == EZhuyinFind || |
|
401 numericOnlyChanged ) |
396 { |
402 { |
397 // deactivate original uimgr first |
403 // deactivate original uimgr first |
398 if (iCurrentUiMgr |
404 if (iCurrentUiMgr |
399 && iCurrentUiMgr->CurrentState() |
405 && iCurrentUiMgr->CurrentState() |
400 && iCurrentUiMgr->CurrentState()->StateType() != CGenericItutUiMgrBase::EStateSpelling) |
406 && iCurrentUiMgr->CurrentState()->StateType() != CGenericItutUiMgrBase::EStateSpelling) |