1246 if(!iPrimaryCandidate) |
1246 if(!iPrimaryCandidate) |
1247 iPtiEngine->HandleCommandL( EPtiCommandUserActionGetIndexOfSecondaryCandidate, |
1247 iPtiEngine->HandleCommandL( EPtiCommandUserActionGetIndexOfSecondaryCandidate, |
1248 &wordIndexToSelect ); |
1248 &wordIndexToSelect ); |
1249 |
1249 |
1250 if( iQwertyInputMode |
1250 if( iQwertyInputMode |
1251 && ( iExactWordPopupContent->IsPopUpVisible() |
1251 && IsExactWordPopUpShown() |
1252 || ( iFepPluginManager && iFepPluginManager->IsTooltipOpenOnFSQ() ) ) |
|
1253 && aCode == EKeyUpArrow ) |
1252 && aCode == EKeyUpArrow ) |
1254 { |
1253 { |
1255 iExactWordPopupContent->HidePopUp(); |
1254 iExactWordPopupContent->HidePopUp(); |
1256 |
1255 |
1257 // When press up, if FSQ is opened, |
1256 // When press up, if FSQ is opened, |
1513 else if(FepUI()->HandleKeyL(aCode, aLength)) |
1512 else if(FepUI()->HandleKeyL(aCode, aLength)) |
1514 { |
1513 { |
1515 response = EKeyWasConsumed; |
1514 response = EKeyWasConsumed; |
1516 } |
1515 } |
1517 SendEventsToPluginManL( EPluginHideTooltip ); |
1516 SendEventsToPluginManL( EPluginHideTooltip ); |
1518 if(iExactWordPopupContent && iExactWordPopupContent->IsPopUpVisible()) |
1517 iExactWordPopupContent->HidePopUp(); |
1519 { |
|
1520 iExactWordPopupContent->HidePopUp(); |
|
1521 } |
|
1522 #else |
1518 #else |
1523 else if (FepUI()->HandleKeyL(aCode, aLength)) |
1519 else if (FepUI()->HandleKeyL(aCode, aLength)) |
1524 { |
1520 { |
1525 response = EKeyWasConsumed; |
1521 response = EKeyWasConsumed; |
1526 } |
1522 } |
1542 |
1538 |
1543 // When press delete key, if FSQ is opened, |
1539 // When press delete key, if FSQ is opened, |
1544 // also need to check and close tooltip on it. |
1540 // also need to check and close tooltip on it. |
1545 SendEventsToPluginManL( EPluginHideTooltip ); |
1541 SendEventsToPluginManL( EPluginHideTooltip ); |
1546 |
1542 |
1547 if(iExactWordPopupContent && iExactWordPopupContent->IsPopUpVisible()) |
1543 iExactWordPopupContent->HidePopUp(); |
1548 { |
|
1549 iExactWordPopupContent->HidePopUp(); |
|
1550 } |
|
1551 if ( IsFlagSet( EFlagInsideInlineEditingTransaction ) ) |
1544 if ( IsFlagSet( EFlagInsideInlineEditingTransaction ) ) |
1552 { |
1545 { |
1553 TryRemoveNoMatchesIndicatorL(); |
1546 TryRemoveNoMatchesIndicatorL(); |
1554 UpdateCbaL(NULL); |
1547 UpdateCbaL(NULL); |
1555 CommitInlineEditL(); |
1548 CommitInlineEditL(); |
3310 if (keyHandled) |
3303 if (keyHandled) |
3311 { |
3304 { |
3312 aResponse = EKeyWasConsumed; |
3305 aResponse = EKeyWasConsumed; |
3313 #ifdef RD_INTELLIGENT_TEXT_INPUT |
3306 #ifdef RD_INTELLIGENT_TEXT_INPUT |
3314 // Predictive QWERTY changes ----> |
3307 // Predictive QWERTY changes ----> |
3315 ShowExactWordPopupIfNecessaryL(); |
3308 if ( iLangMan->IsSplitView() || ( iFepPluginManager && !iFepPluginManager->EnableITIOnFSQ())) |
|
3309 { |
|
3310 ShowExactWordPopupIfNecessaryL(); |
|
3311 } |
3316 // Predictive QWERTY changes <---- |
3312 // Predictive QWERTY changes <---- |
3317 } |
3313 } |
3318 #endif //RD_INTELLIGENT_TEXT_INPUT |
3314 #endif //RD_INTELLIGENT_TEXT_INPUT |
3319 |
3315 |
3320 // The indicators should be updated only if the key was handled. Otherwise |
3316 // The indicators should be updated only if the key was handled. Otherwise |
3826 { |
3822 { |
3827 switch (aEvent) |
3823 switch (aEvent) |
3828 { |
3824 { |
3829 case CAknExtendedInputCapabilities::MAknEventObserver::EActivatePenInputRequest: |
3825 case CAknExtendedInputCapabilities::MAknEventObserver::EActivatePenInputRequest: |
3830 SendEventsToPluginManL( EPluginEditorActivate ); |
3826 SendEventsToPluginManL( EPluginEditorActivate ); |
|
3827 break; |
|
3828 case CAknExtendedInputCapabilities::MAknEventObserver::EClosePenInputRequest: |
|
3829 if ( iFepPluginManager ) |
|
3830 { |
|
3831 iFepPluginManager->ClosePluginInputModeL( EFalse ); |
|
3832 } |
3831 break; |
3833 break; |
3832 case CAknExtendedInputCapabilities::MAknEventObserver::EPointerEventReceived: |
3834 case CAknExtendedInputCapabilities::MAknEventObserver::EPointerEventReceived: |
3833 |
3835 |
3834 /* |
3836 /* |
3835 #ifdef RD_TACTILE_FEEDBACK |
3837 #ifdef RD_TACTILE_FEEDBACK |
4460 // delete it for support auto update to text-case |
4462 // delete it for support auto update to text-case |
4461 //SetFlag(EFlagSupressAutoUpdate); |
4463 //SetFlag(EFlagSupressAutoUpdate); |
4462 iCaseMan->SetCurrentCase(EAknEditorLowerCase); |
4464 iCaseMan->SetCurrentCase(EAknEditorLowerCase); |
4463 break; |
4465 break; |
4464 case EAknCmdEditModeNumber: |
4466 case EAknCmdEditModeNumber: |
|
4467 //if current input is arabic finger hwr, then change the default |
|
4468 //number mode. |
|
4469 if(iSharedDataInterface->InputTextLanguage() == ELangArabic |
|
4470 && iFepPluginManager->PluginInputMode() == EPluginInputModeFingerHwr) |
|
4471 { |
|
4472 iSharedDataInterface->SetDefaultArabicNumberMode(0); |
|
4473 HandleChangeInFocus(); |
|
4474 SendEventsToPluginManL(EPluginArabicNumModeChanged, 0); |
|
4475 break; |
|
4476 } |
4465 case EJapanFepCmdEditModeNumber: |
4477 case EJapanFepCmdEditModeNumber: |
4466 case EChinFepCmdModeNumber: |
4478 case EChinFepCmdModeNumber: |
4467 SendEventsToPluginManL( EPluginCloseMode, EFalse ); |
4479 SendEventsToPluginManL( EPluginCloseMode, EFalse ); |
4468 HandleChangeInFocus(); |
4480 HandleChangeInFocus(); |
4469 if ( iLanguageCapabilities.iArabicIndicDigitsAllowed |
4481 if ( iLanguageCapabilities.iArabicIndicDigitsAllowed |
4473 iLanguageCapabilities.iLocalDigitType = EDigitTypeWestern; |
4485 iLanguageCapabilities.iLocalDigitType = EDigitTypeWestern; |
4474 } |
4486 } |
4475 TryChangeModeL(ENumber); |
4487 TryChangeModeL(ENumber); |
4476 break; |
4488 break; |
4477 case EAknCmdEditModeArabicIndicNumber: |
4489 case EAknCmdEditModeArabicIndicNumber: |
4478 SendEventsToPluginManL( EPluginCloseMode, EFalse ); |
4490 //if current input is arabic finger hwr, then change the default |
4479 HandleChangeInFocus(); |
4491 //number mode. |
4480 iLanguageCapabilities.iLocalDigitType = EDigitTypeArabicIndic; |
4492 if(iSharedDataInterface->InputTextLanguage() == ELangArabic |
4481 TryChangeModeL(ENativeNumber); |
4493 && iFepPluginManager->PluginInputMode() == EPluginInputModeFingerHwr) |
|
4494 { |
|
4495 iSharedDataInterface->SetDefaultArabicNumberMode(1); |
|
4496 SendEventsToPluginManL(EPluginArabicNumModeChanged, 1); |
|
4497 HandleChangeInFocus(); |
|
4498 } |
|
4499 else |
|
4500 { |
|
4501 SendEventsToPluginManL( EPluginCloseMode, EFalse ); |
|
4502 HandleChangeInFocus(); |
|
4503 iLanguageCapabilities.iLocalDigitType = EDigitTypeArabicIndic; |
|
4504 TryChangeModeL(ENativeNumber); |
|
4505 } |
4482 break; |
4506 break; |
4483 /*For Eastern Arabic Numeric*/ |
4507 /*For Eastern Arabic Numeric*/ |
4484 case EAknCmdEditModeEasternArabicIndicNumber: |
4508 case EAknCmdEditModeEasternArabicIndicNumber: |
4485 SendEventsToPluginManL( EPluginCloseMode, EFalse ); |
4509 SendEventsToPluginManL( EPluginCloseMode, EFalse ); |
4486 HandleChangeInFocus(); |
4510 HandleChangeInFocus(); |
4601 } |
4625 } |
4602 // Show Thai specific SCT with Thai vowels and tonemarks |
4626 // Show Thai specific SCT with Thai vowels and tonemarks |
4603 if ( (iLanguageCapabilities.iInputLanguageCode == ELangThai ) && |
4627 if ( (iLanguageCapabilities.iInputLanguageCode == ELangThai ) && |
4604 (iMode!=ENumber && iMode != ENativeNumber ) ) |
4628 (iMode!=ENumber && iMode != ENativeNumber ) ) |
4605 { |
4629 { |
4606 #ifdef RD_INTELLIGENT_TEXT_INPUT |
4630 TInt resourceId = 0; |
4607 // if itut call Thai multitap HandleCommandL to Launch SCT |
4631 if (iAknFepThaiSCTSelector) |
4608 if(!iQwertyInputMode) |
4632 { |
4609 { |
4633 resourceId = iAknFepThaiSCTSelector->ThaiSCRResourceId(PreviousChar(),EPtiKeyStar); |
4610 #endif |
4634 } |
4611 TInt resourceId = 0; |
4635 LaunchSpecialCharacterTableL(resourceId, |
4612 if (iAknFepThaiSCTSelector) |
4636 aCommandId==EAknCmdEditInsertSymbol, |
4613 { |
4637 aCommandId==EAknCmdEditInsertSmiley); |
4614 resourceId = iAknFepThaiSCTSelector->ThaiSCRResourceId(PreviousChar(),EPtiKeyStar); |
|
4615 } |
|
4616 LaunchSpecialCharacterTableL(resourceId, |
|
4617 aCommandId==EAknCmdEditInsertSymbol, |
|
4618 aCommandId==EAknCmdEditInsertSmiley); |
|
4619 #ifdef RD_INTELLIGENT_TEXT_INPUT |
|
4620 } |
|
4621 else |
|
4622 { |
|
4623 CAknFepUIManagerWestern* westernUIManager = static_cast<CAknFepUIManagerWestern*>(FepUI()); |
|
4624 LaunchSpecialCharacterTableL(westernUIManager->ThaiSCTResourceId(static_cast<TChar>(PreviousChar()),EPtiKeyStar), |
|
4625 aCommandId==EAknCmdEditInsertSymbol, |
|
4626 aCommandId==EAknCmdEditInsertSmiley); |
|
4627 } |
|
4628 #endif |
|
4629 } |
4638 } |
4630 else |
4639 else |
4631 { |
4640 { |
4632 LaunchSpecialCharacterTableL(0, |
4641 LaunchSpecialCharacterTableL(0, |
4633 aCommandId==EAknCmdEditInsertSymbol, |
4642 aCommandId==EAknCmdEditInsertSymbol, |
4969 SendEventsToPluginManL( EPluginCloseMode, EFalse ); |
4978 SendEventsToPluginManL( EPluginCloseMode, EFalse ); |
4970 HandleChangeInFocus(); |
4979 HandleChangeInFocus(); |
4971 SendEventsToPluginManL( EPluginSwitchToLandscape); |
4980 SendEventsToPluginManL( EPluginSwitchToLandscape); |
4972 } |
4981 } |
4973 break; |
4982 break; |
4974 case EPenInputCmdSwitchToVkeyBasedInput: |
4983 /*case EPenInputCmdSwitchToVkeyBasedInput: |
4975 { |
4984 { |
4976 SendEventsToPluginManL( EPluginCloseMode, EFalse ); |
4985 SendEventsToPluginManL( EPluginCloseMode, EFalse ); |
4977 HandleChangeInFocus(); |
4986 HandleChangeInFocus(); |
4978 SendEventsToPluginManL( EPluginSwitchMode); |
4987 SendEventsToPluginManL( EPluginSwitchMode); |
4979 } |
4988 } |
4980 break; |
4989 break;*/ |
4981 case EPenInputCmdWritingSpeed: |
4990 case EPenInputCmdWritingSpeed: |
4982 { |
4991 { |
4983 SetStopProcessFocus(ETrue); |
4992 SetStopProcessFocus(ETrue,EFalse); |
4984 HandleChangeInFocus(); |
|
4985 LaunchWritingSpeedPopupListL(); |
4993 LaunchWritingSpeedPopupListL(); |
4986 HandleChangeInFocus(); |
4994 SetStopProcessFocus(EFalse); |
4987 iStopProcessFocus = EFalse; |
|
4988 } |
4995 } |
4989 break; |
4996 break; |
4990 case EPenInputCmdGuidingLine: |
4997 case EPenInputCmdGuidingLine: |
4991 { |
4998 { |
4992 SetStopProcessFocus(ETrue); |
4999 SetStopProcessFocus(ETrue,EFalse); |
4993 HandleChangeInFocus(); |
|
4994 LaunchGuidingLinePopupListL(); |
5000 LaunchGuidingLinePopupListL(); |
4995 HandleChangeInFocus(); |
5001 SetStopProcessFocus(EFalse); |
4996 iStopProcessFocus = EFalse; |
|
4997 } |
5002 } |
4998 break; |
5003 break; |
4999 default: |
5004 default: |
5000 break; |
5005 break; |
5001 } |
5006 } |
8480 // equivalent of the OLD ShowExactWordPopupIfNecessaryL; but |
8485 // equivalent of the OLD ShowExactWordPopupIfNecessaryL; but |
8481 // now I can call TryPopExactWordInICFL and |
8486 // now I can call TryPopExactWordInICFL and |
8482 // TryPopExactWordInOtherPlaceL directly after extracting them from |
8487 // TryPopExactWordInOtherPlaceL directly after extracting them from |
8483 // the OLD ShowExactWordPopupIfNecessaryL. |
8488 // the OLD ShowExactWordPopupIfNecessaryL. |
8484 iExactWordPopupContent->HidePopUp(); |
8489 iExactWordPopupContent->HidePopUp(); |
8485 SendEventsToPluginManL(EPluginHideTooltip); |
8490 // SendEventsToPluginManL(EPluginHideTooltip); |
8486 if (!iWesternPredictive || !IsFlagSet(EFlagInsideInlineEditingTransaction)) |
8491 if (!iWesternPredictive || !IsFlagSet(EFlagInsideInlineEditingTransaction)) |
8487 return; |
8492 return; |
8488 |
8493 |
8489 if (EPtiKeyboardHalfQwerty == KeyboardLayout()) |
8494 if (EPtiKeyboardHalfQwerty == KeyboardLayout()) |
8490 { |
8495 { |
8491 if (IsFlagSet(CAknFepManager::EFlagNoMatches)) |
8496 if (IsFlagSet(CAknFepManager::EFlagNoMatches)) |
8492 UpdateCbaL(R_AKNFEP_SOFTKEYS_SPELL_EMPTY); |
8497 UpdateCbaL(R_AKNFEP_SOFTKEYS_SPELL_EMPTY); |
8493 return; |
8498 return; |
8494 } |
8499 } |
8495 |
8500 |
8496 TryPopExactWordInICFL(); |
8501 //TryPopExactWordInICFL(); |
8497 if (iFepPluginManager && !iFepPluginManager->IsTooltipOpenOnFSQ()) |
8502 if (iFepPluginManager && !iFepPluginManager->IsTooltipOpenOnFSQ()) |
8498 TryPopExactWordInOtherPlaceL(); |
8503 TryPopExactWordInOtherPlaceL(); |
8499 } |
8504 } |
8500 |
8505 |
8501 void CAknFepManager::TryPopExactWordInICFL() |
8506 void CAknFepManager::TryPopExactWordInICFL() |
8504 return; |
8509 return; |
8505 #endif |
8510 #endif |
8506 |
8511 |
8507 // Before open tooltip, |
8512 // Before open tooltip, |
8508 // also need to check and close tooltip on it. |
8513 // also need to check and close tooltip on it. |
8509 SendEventsToPluginManL(EPluginHideTooltip); |
8514 // SendEventsToPluginManL(EPluginHideTooltip); |
8510 if (!iWesternPredictive || !IsFlagSet(EFlagInsideInlineEditingTransaction)) |
8515 if (!iWesternPredictive || !IsFlagSet(EFlagInsideInlineEditingTransaction)) |
|
8516 { |
|
8517 SendEventsToPluginManL(EPluginHideTooltip); |
8511 return; |
8518 return; |
|
8519 } |
8512 |
8520 |
8513 TInt activeIdx, secondaryIdx; |
8521 TInt activeIdx, secondaryIdx; |
8514 GetCandidatesWithIndexL(NULL, activeIdx, secondaryIdx); |
8522 GetCandidatesWithIndexL(NULL, activeIdx, secondaryIdx); |
8515 if (activeIdx == secondaryIdx) |
8523 if (activeIdx == secondaryIdx) |
|
8524 { |
|
8525 SendEventsToPluginManL(EPluginHideTooltip); |
8516 return; |
8526 return; |
|
8527 } |
8517 |
8528 |
8518 CDesCArray* candidates = new (ELeave) CDesCArrayFlat(16); |
8529 CDesCArray* candidates = new (ELeave) CDesCArrayFlat(16); |
8519 CleanupStack::PushL(candidates); |
8530 CleanupStack::PushL(candidates); |
8520 GetCandidatesWithIndexL(candidates, activeIdx, secondaryIdx); |
8531 GetCandidatesWithIndexL(candidates, activeIdx, secondaryIdx); |
8521 CleanupStack::PopAndDestroy(candidates); |
8532 CleanupStack::PopAndDestroy(candidates); |
8522 if (activeIdx == secondaryIdx) |
8533 if (activeIdx == secondaryIdx) |
|
8534 { |
|
8535 SendEventsToPluginManL(EPluginHideTooltip); |
8523 return; |
8536 return; |
|
8537 } |
8524 |
8538 |
8525 if (iFepPluginManager) |
8539 if (iFepPluginManager) |
8526 SendEventsToPluginManL(EPluginShowTooltip, secondaryIdx); |
8540 SendEventsToPluginManL(EPluginShowTooltip, secondaryIdx); |
8527 } |
8541 } |
8528 |
8542 |
12981 } |
12995 } |
12982 } |
12996 } |
12983 // Add This condition for Phonebook, ReTe, PF52.50_2008_wk32: |
12997 // Add This condition for Phonebook, ReTe, PF52.50_2008_wk32: |
12984 // Navigation bar disappears after tapping find pane and then returning back to Names list view. |
12998 // Navigation bar disappears after tapping find pane and then returning back to Names list view. |
12985 if (!(editingStateIndicator == (MAknEditingStateIndicator*)iIndicator && |
12999 if (!(editingStateIndicator == (MAknEditingStateIndicator*)iIndicator && |
12986 ( iFepPluginManager && iFepPluginManager->PluginInputMode() == EPluginInputModeItut ) && |
13000 ( iFepPluginManager && ( iFepPluginManager->PluginInputMode() == EPluginInputModeItut |
|
13001 || iFepPluginManager->PluginInputMode() == EPluginInputModeFSQ ) ) && |
12987 IsFindPaneEditor())) |
13002 IsFindPaneEditor())) |
12988 { |
13003 { |
12989 editingStateIndicator->SetState(newState); |
13004 editingStateIndicator->SetState(newState); |
12990 } |
13005 } |
12991 |
13006 |
15104 |
15119 |
15105 TKeyResponse CAknFepManager::HandleNaviEventOutsideInlineEditL(TUint aCode, |
15120 TKeyResponse CAknFepManager::HandleNaviEventOutsideInlineEditL(TUint aCode, |
15106 TKeyPressLength aLength) |
15121 TKeyPressLength aLength) |
15107 { |
15122 { |
15108 TKeyResponse response = EKeyWasNotConsumed; |
15123 TKeyResponse response = EKeyWasNotConsumed; |
15109 |
15124 if ( iFepPluginManager && iFepPluginManager->PluginInputMode() == EPluginInputModeFingerHwr |
|
15125 && aCode == EKeyBackspace ) |
|
15126 { |
|
15127 return response; |
|
15128 } |
|
15129 |
15110 if (TryHandleCommonArrowAndBackspaceFunctionalityL(aCode, response)) |
15130 if (TryHandleCommonArrowAndBackspaceFunctionalityL(aCode, response)) |
15111 { |
15131 { |
15112 return response; |
15132 return response; |
15113 } |
15133 } |
15114 if (WesternPredictive()) |
15134 if (WesternPredictive()) |
18214 { |
18234 { |
18215 currentEditorSCTResId = charMap; |
18235 currentEditorSCTResId = charMap; |
18216 } |
18236 } |
18217 if(R_AKNFEP_SCT_NUMERIC_MODE_CHARS_PLAIN == charMap && |
18237 if(R_AKNFEP_SCT_NUMERIC_MODE_CHARS_PLAIN == charMap && |
18218 ( R_AVKON_SPECIAL_CHARACTER_TABLE_DIALOG_LATIN_ONLY == currentEditorSCTResId || |
18238 ( R_AVKON_SPECIAL_CHARACTER_TABLE_DIALOG_LATIN_ONLY == currentEditorSCTResId || |
18219 R_AVKON_SPECIAL_CHARACTER_TABLE_DIALOG == currentEditorSCTResId ) ) |
18239 R_AVKON_SPECIAL_CHARACTER_TABLE_DIALOG == currentEditorSCTResId || |
|
18240 R_AVKON_URL_SPECIAL_CHARACTER_TABLE_DIALOG == currentEditorSCTResId) ) |
18220 { |
18241 { |
18221 TBool isEmpty = ETrue; |
18242 TBool isEmpty = ETrue; |
18222 TRAP_IGNORE(isEmpty = GetSctLengthL(charMap)); |
18243 TRAP_IGNORE(isEmpty = GetSctLengthL(charMap)); |
18223 if(isEmpty) |
18244 if(isEmpty) |
18224 { |
18245 { |
18376 { |
18397 { |
18377 PrepareFepAfterDialogExitL(fepUid); |
18398 PrepareFepAfterDialogExitL(fepUid); |
18378 SetCcpuFlag(ECcpuStateSupressCursorMoveToEnd); |
18399 SetCcpuFlag(ECcpuStateSupressCursorMoveToEnd); |
18379 // after closing SCT, need change dim state. |
18400 // after closing SCT, need change dim state. |
18380 SendEventsToPluginManL(EPluginEnableFetchDimState); |
18401 SendEventsToPluginManL(EPluginEnableFetchDimState); |
18381 |
18402 #ifdef RD_SCALABLE_UI_V2 |
|
18403 iNotifyPlugin = EFalse; |
|
18404 if( iFepFullyConstructed && iFepPluginManager) |
|
18405 { |
|
18406 if (iFepPluginManager->PluginInputMode() == EPluginInputModeItut || |
|
18407 iFepPluginManager->PluginInputMode() == EPluginInputModeFSQ || |
|
18408 iFepPluginManager->PluginInputMode() == EPluginInputModeFingerHwr) |
|
18409 { |
|
18410 SetStopProcessFocus(EFalse); |
|
18411 } |
|
18412 else |
|
18413 { |
|
18414 HandleChangeInFocus(); |
|
18415 } |
|
18416 } |
|
18417 else |
|
18418 { |
|
18419 HandleChangeInFocus(); |
|
18420 } |
|
18421 // Set the flag, not change focus for next. |
|
18422 iNotifyPlugin = ETrue; |
|
18423 #endif |
18382 |
18424 |
18383 //Removes auto-complition part if SCT is launched and any special character is selected |
18425 //Removes auto-complition part if SCT is launched and any special character is selected |
18384 #ifdef RD_INTELLIGENT_TEXT_INPUT |
18426 #ifdef RD_INTELLIGENT_TEXT_INPUT |
18385 if( specialChars.Length() > 0 ) |
18427 if( specialChars.Length() > 0 ) |
18386 { |
18428 { |
18429 { |
18471 { |
18430 cursorSelection = TCursorSelection(iUncommittedText.iCursorPos + 1, |
18472 cursorSelection = TCursorSelection(iUncommittedText.iCursorPos + 1, |
18431 iUncommittedText.iAnchorPos); |
18473 iUncommittedText.iAnchorPos); |
18432 } |
18474 } |
18433 } |
18475 } |
18434 // Get new InputCapabilities immediatly. |
|
18435 CCoeEnv* coeEnv = CCoeEnv::Static(); |
|
18436 iInputCapabilities = static_cast<const CCoeAppUi*>(coeEnv->AppUi())->InputCapabilities(); |
|
18437 if (EditorState()) |
18476 if (EditorState()) |
18438 { |
18477 { |
18439 if (charAsDesc[0] == CEditableText::EParagraphDelimiter) |
18478 if (charAsDesc[0] == CEditableText::EParagraphDelimiter) |
18440 { |
18479 { |
18441 // This is line feed character. Post it to editor and let it decide |
18480 // This is line feed character. Post it to editor and let it decide |
18472 NULL); |
18511 NULL); |
18473 } |
18512 } |
18474 } |
18513 } |
18475 } |
18514 } |
18476 } |
18515 } |
18477 #ifdef RD_SCALABLE_UI_V2 |
|
18478 iNotifyPlugin = EFalse; |
|
18479 if( iFepFullyConstructed && iFepPluginManager) |
|
18480 { |
|
18481 if (iFepPluginManager->PluginInputMode() == EPluginInputModeItut || |
|
18482 iFepPluginManager->PluginInputMode() == EPluginInputModeFSQ || |
|
18483 iFepPluginManager->PluginInputMode() == EPluginInputModeFingerHwr) |
|
18484 { |
|
18485 SetStopProcessFocus(EFalse); |
|
18486 } |
|
18487 else |
|
18488 { |
|
18489 HandleChangeInFocus(); |
|
18490 } |
|
18491 } |
|
18492 else |
|
18493 { |
|
18494 HandleChangeInFocus(); |
|
18495 } |
|
18496 // Set the flag, not change focus for next. |
|
18497 iNotifyPlugin = ETrue; |
|
18498 #endif |
|
18499 } |
18516 } |
18500 else |
18517 else |
18501 { |
18518 { |
18502 iClosePeninputUi = EFalse; |
18519 iClosePeninputUi = EFalse; |
18503 iStopProcessFocus = EFalse; |
18520 iStopProcessFocus = EFalse; |
18793 if(iInputCapabilities.FepAwareTextEditor()) |
18810 if(iInputCapabilities.FepAwareTextEditor()) |
18794 { |
18811 { |
18795 iInputCapabilities.FepAwareTextEditor()-> |
18812 iInputCapabilities.FepAwareTextEditor()-> |
18796 GetCursorSelectionForFep(currentEditorSelection); |
18813 GetCursorSelectionForFep(currentEditorSelection); |
18797 } |
18814 } |
18798 |
18815 |
18799 if(!IsMfneEditor() && |
18816 TInt inputMode = PluginInputMode(); |
18800 (PluginInputMode() == EPluginInputModeItut || |
18817 TBool isArabicFingerHwr = (inputMode == EPluginInputModeFingerHwr && |
18801 PluginInputMode() == EPluginInputModeFSQ) && |
18818 GetInputLanguageFromSharedDataInterface() == ELangArabic); |
18802 currentEditorSelection.Length() != 0) |
18819 if(!IsMfneEditor() && (inputMode == EPluginInputModeItut || |
|
18820 inputMode == EPluginInputModeFSQ || isArabicFingerHwr) |
|
18821 && currentEditorSelection.Length() != 0) |
18803 { |
18822 { |
18804 |
18823 |
18805 if ((aKeyEvent.iScanCode == EStdKeyLeftArrow) || (aKeyEvent.iScanCode == EStdKeyRightArrow)) |
18824 if ((aKeyEvent.iScanCode == EStdKeyLeftArrow) || (aKeyEvent.iScanCode == EStdKeyRightArrow)) |
18806 { |
18825 { |
18807 if (!(aKeyEvent.iModifiers & EModifierShift)) |
18826 if (!(aKeyEvent.iModifiers & EModifierShift)) |
20720 iShiftAndSpace = aFlag; |
20739 iShiftAndSpace = aFlag; |
20721 } |
20740 } |
20722 |
20741 |
20723 void CAknFepManager::HideExactWordPopUp() |
20742 void CAknFepManager::HideExactWordPopUp() |
20724 { |
20743 { |
20725 iExactWordPopupContent->HidePopUp(); |
20744 iExactWordPopupContent->HidePopUp(); |
|
20745 SendEventsToPluginManL( EPluginHideTooltip ); |
20726 } |
20746 } |
20727 |
20747 |
20728 TBool CAknFepManager::IsExactWordPopUpShown() |
20748 TBool CAknFepManager::IsExactWordPopUpShown() |
20729 { |
20749 { |
20730 return iExactWordPopupContent->IsPopUpVisible(); |
20750 #ifdef RD_SCALABLE_UI_V2 |
|
20751 return iExactWordPopupContent->IsPopUpVisible() |
|
20752 || ( iFepPluginManager && iFepPluginManager->IsTooltipOpenOnFSQ() ); |
|
20753 #else |
|
20754 return iExactWordPopupContent->IsPopUpVisible(); |
|
20755 #endif // RD_SCALABLE_UI_V2 |
20731 } |
20756 } |
20732 void CAknFepManager::StopDisplayingMenuBar() |
20757 void CAknFepManager::StopDisplayingMenuBar() |
20733 { |
20758 { |
20734 if (iEditMenuBar) |
20759 if (iEditMenuBar) |
20735 { |
20760 { |