3359 (keyScanCode == EPtiKeyQwertyHash) || |
3359 (keyScanCode == EPtiKeyQwertyHash) || |
3360 (keyScanCode == EPtiKeyQwertySlash) || |
3360 (keyScanCode == EPtiKeyQwertySlash) || |
3361 (keyScanCode == EPtiKeyQwertyApostrophe) ) |
3361 (keyScanCode == EPtiKeyQwertyApostrophe) ) |
3362 && !( iFepPluginManager && iFepPluginManager->EnableITIOnFSQ() ) ) |
3362 && !( iFepPluginManager && iFepPluginManager->EnableITIOnFSQ() ) ) |
3363 { |
3363 { |
3364 SendEventsToPluginManL( EPluginCloseMode, EFalse ); |
3364 //SendEventsToPluginManL( EPluginCloseMode, EFalse ); |
3365 //iFepPluginManager->ClosePluginInputModeL(ETrue); |
3365 //iFepPluginManager->ClosePluginInputModeL(ETrue); |
3366 } |
3366 } |
3367 else if( keyHandled ) |
3367 else if( keyHandled ) |
3368 { |
3368 { |
3369 //for QWERTY, number only, the number is send to editor |
3369 //for QWERTY, number only, the number is send to editor |
3726 SendEventsToPluginManL( EPluginEditorActivate ); |
3726 SendEventsToPluginManL( EPluginEditorActivate ); |
3727 break; |
3727 break; |
3728 case EAknClosePenInputRequest: |
3728 case EAknClosePenInputRequest: |
3729 if ( iFepPluginManager ) |
3729 if ( iFepPluginManager ) |
3730 { |
3730 { |
|
3731 // Fix bug ou1cimx1#225126, editor team asks that the parameter is EFalse. |
3731 iFepPluginManager->ClosePluginInputModeL( EFalse ); |
3732 iFepPluginManager->ClosePluginInputModeL( EFalse ); |
3732 } |
3733 } |
3733 break; |
3734 break; |
3734 case EAknEdwinStatePromptUpdate: |
3735 case EAknEdwinStatePromptUpdate: |
3735 SendEventsToPluginManL( EPluginPromptChanged ); |
3736 SendEventsToPluginManL( EPluginPromptChanged ); |
3750 |
3751 |
3751 default: |
3752 default: |
3752 break; |
3753 break; |
3753 } |
3754 } |
3754 } |
3755 } |
|
3756 #ifdef RD_SCALABLE_UI_V2 |
|
3757 else |
|
3758 { |
|
3759 // Close touch input when inMenu is opened. When inMenu is opened, |
|
3760 // editor loses focus, and inMenu gets focus. After touch input has |
|
3761 // been force closed, menu state should be restored and last focused |
|
3762 // window ,which launches touch input, should be removed. |
|
3763 if( aEventType == EAknClosePenInputRequest |
|
3764 && iFepPluginManager |
|
3765 && iFepPluginManager->IsInMenuOpen() ) |
|
3766 { |
|
3767 CCoeEnv* env = CCoeEnv::Static(); |
|
3768 TKeyEvent keyEvent = {EKeyCBA2, EStdKeyNull, 0, 0}; |
|
3769 env->SimulateKeyEventL(keyEvent,EEventKey); |
|
3770 iFepPluginManager->ResetMenuState(); |
|
3771 iFepPluginManager->RemoveLastFocusedWinFromOpenList(); |
|
3772 // Fix bug ou1cimx1#225126, editor team asks that the parameter is EFalse. |
|
3773 iFepPluginManager->ClosePluginInputModeL( EFalse ); |
|
3774 } |
|
3775 } |
|
3776 #endif // RD_SCALABLE_UI_V2 |
3755 } |
3777 } |
3756 |
3778 |
3757 |
3779 |
3758 CAknExtendedInputCapabilities::TEditorType CAknFepManager::EditorType() const |
3780 CAknExtendedInputCapabilities::TEditorType CAknFepManager::EditorType() const |
3759 { |
3781 { |
4065 void CAknFepManager::ExitPluginSpellModeByOkL() |
4087 void CAknFepManager::ExitPluginSpellModeByOkL() |
4066 { |
4088 { |
4067 #ifdef RD_SCALABLE_UI_V2 |
4089 #ifdef RD_SCALABLE_UI_V2 |
4068 if (iFepPluginManager->IsSpellVisible()) |
4090 if (iFepPluginManager->IsSpellVisible()) |
4069 { |
4091 { |
|
4092 CommitInlineEditL(); |
4070 HBufC* spell = iFepPluginManager->SpellTextInput(); |
4093 HBufC* spell = iFepPluginManager->SpellTextInput(); |
4071 |
4094 |
4072 iFepPluginManager->SetITUTSpellingStateL(EFalse); |
4095 iFepPluginManager->SetITUTSpellingStateL(EFalse); |
4073 iFepPluginManager->DestroySpellEditor(); |
4096 iFepPluginManager->DestroySpellEditor(); |
4074 |
4097 |
8718 iSpellInitText = NULL; |
8741 iSpellInitText = NULL; |
8719 iSpellInitText = aInitialText.AllocL(); |
8742 iSpellInitText = aInitialText.AllocL(); |
8720 iSpellInitCurSel = aTextSpanToReplace; |
8743 iSpellInitCurSel = aTextSpanToReplace; |
8721 |
8744 |
8722 iFepPluginManager->SetCaseUpdatesSupressed(isCaseUpdatesSupressed); |
8745 iFepPluginManager->SetCaseUpdatesSupressed(isCaseUpdatesSupressed); |
8723 iFepPluginManager->SetITUTSpellingStateL(ETrue); |
8746 //add to avoid text update late when open spell. |
|
8747 //iFepPluginManager->SetITUTSpellingStateL(ETrue); |
8724 iFepPluginManager->SetCursorSelection(aTextSpanToReplace); |
8748 iFepPluginManager->SetCursorSelection(aTextSpanToReplace); |
8725 CleanupStack::PopAndDestroy(); |
8749 CleanupStack::PopAndDestroy(); |
8726 |
8750 |
8727 return; |
8751 return; |
8728 } |
8752 } |
12009 SetCcpuFlag(ECcpuStataCommitPredictiveWord); |
12033 SetCcpuFlag(ECcpuStataCommitPredictiveWord); |
12010 // Addition for ITI on FSQ |
12034 // Addition for ITI on FSQ |
12011 // When FSQ is opened with the ITI-supported input language, |
12035 // When FSQ is opened with the ITI-supported input language, |
12012 // if switch to another language which doesn't support ITI, such as Korean, |
12036 // if switch to another language which doesn't support ITI, such as Korean, |
12013 // need to restore the previous configuration on FEP |
12037 // need to restore the previous configuration on FEP |
12014 if ( iFepPluginManager ) |
12038 if ( iFepPluginManager && !iFepPluginManager->IsSupportITIOnFSQ() ) |
12015 { |
12039 { |
12016 iFepPluginManager->ResetItiStateL(); |
12040 iFepPluginManager->ResetItiStateL(); |
12017 } |
12041 } |
12018 if ( !TryChangeModeL(NewInputModeAfterLanguageChange()) ) |
12042 if ( !TryChangeModeL(NewInputModeAfterLanguageChange()) ) |
12019 { |
12043 { |
15566 TInt index = 0; |
15590 TInt index = 0; |
15567 SetFlag( EFlagForegroundUIComponentVisible ); |
15591 SetFlag( EFlagForegroundUIComponentVisible ); |
15568 CleanupStack::Pop( icons ); // iUiInterface->LaunchListPopupL takes ownership immediately |
15592 CleanupStack::Pop( icons ); // iUiInterface->LaunchListPopupL takes ownership immediately |
15569 #ifdef RD_SCALABLE_UI_V2 |
15593 #ifdef RD_SCALABLE_UI_V2 |
15570 /* tp teleca fix 17.9.2009 to IKIM-7VK8GG*/ |
15594 /* tp teleca fix 17.9.2009 to IKIM-7VK8GG*/ |
15571 /*if( iFepFullyConstructed && iFepPluginManager) |
15595 if( iFepFullyConstructed && iFepPluginManager) |
15572 { |
15596 { |
15573 iFepPluginManager->SetMenuState(); |
15597 iFepPluginManager->SetMenuState(); |
15574 }*/ |
15598 } |
15575 // tp teleca fix end |
15599 // tp teleca fix end |
15576 #endif |
15600 #endif |
15577 // Fire up the dialog |
15601 // Fire up the dialog |
15578 #ifdef RD_SCALABLE_UI_V2 |
15602 #ifdef RD_SCALABLE_UI_V2 |
15579 iCancelPopupInQwerty = aLaunchedByTouchWin; |
15603 iCancelPopupInQwerty = aLaunchedByTouchWin; |
20595 aKey = 0; |
20619 aKey = 0; |
20596 |
20620 |
20597 if (!iPtiEngine) |
20621 if (!iPtiEngine) |
20598 return; |
20622 return; |
20599 |
20623 |
20600 CPtiCoreLanguage* lang = (CPtiCoreLanguage*)iPtiEngine->GetLanguage(iLanguageCapabilities.iInputLanguageCode); |
20624 CPtiCoreLanguage* lang = (CPtiCoreLanguage*)iPtiEngine->GetLanguage(iLanguageCapabilities.iInputLanguageCode); |
20601 TPtiEngineInputMode inputMode = iPtiEngine->InputMode(); |
|
20602 |
|
20603 if (!lang) |
20625 if (!lang) |
20604 return; |
20626 return; |
20605 |
20627 |
20606 const TBool vietnamese = (iLanguageCapabilities.iInputLanguageCode == ELangVietnamese); |
20628 const TBool vietnamese = (iLanguageCapabilities.iInputLanguageCode == ELangVietnamese); |
20607 |
20629 |
20608 MPtiKeyMappings* map; |
20630 MPtiKeyMappings* map; |
20609 if (inputMode == EPtiEngineQwerty || inputMode == EPtiEngineQwertyPredictive) |
20631 TPtiKeyboardType keyboardLayout = KeyboardLayout(); |
20610 { |
20632 if ( keyboardLayout == EPtiKeyboardQwerty4x12 |
20611 map = lang->GetQwertyKeymappings(); |
20633 || keyboardLayout == EPtiKeyboardQwerty4x10 |
20612 } |
20634 || keyboardLayout == EPtiKeyboardQwerty3x11 |
20613 else if( inputMode == EPtiEngineHalfQwerty || inputMode == EPtiEngineHalfQwertyPredictive ) |
20635 || keyboardLayout == EPtiKeyboardCustomQwerty ) |
20614 { |
20636 { |
20615 map = lang->GetHalfQwertyKeymappings(); |
20637 map = lang->GetQwertyKeymappings(); |
20616 } |
20638 } |
20617 else |
20639 else if( keyboardLayout == EPtiKeyboardHalfQwerty ) |
20618 { |
20640 { |
20619 map = lang->GetKeymappings(); |
20641 map = lang->GetHalfQwertyKeymappings(); |
20620 } |
20642 } |
|
20643 else |
|
20644 { |
|
20645 map = lang->GetKeymappings(); |
|
20646 } |
20621 |
20647 |
20622 if (!map) |
20648 if (!map) |
20623 { |
20649 { |
20624 return; |
20650 return; |
20625 } |
20651 } |
20626 |
20652 |
20627 TUint16 ch; |
20653 TUint16 ch; |
20628 ch = (TUint16)map->KeyForCharacter(aChar); |
20654 ch = (TUint16)map->KeyForCharacter(aChar); |
20629 if (!ch && vietnamese) |
20655 if ( !ch && vietnamese |
|
20656 && !( iFepPluginManager && iFepPluginManager->IsSupportITIOnFSQ() ) ) |
20630 { |
20657 { |
20631 // This may be Vietnamese tone mark or an accented character which isn't listed |
20658 // This may be Vietnamese tone mark or an accented character which isn't listed |
20632 // in keymappings. |
20659 // in keymappings. |
20633 ch = RemapVietnameseAccentedCharacter(aChar); |
20660 ch = RemapVietnameseAccentedCharacter(aChar); |
20634 } |
20661 } |