fep/aknfep/src/AknFepManager.cpp
branchRCL_3
changeset 7 6defe5d1bd39
parent 6 6ceef9a83b1a
child 8 4eb1ae11334f
equal deleted inserted replaced
6:6ceef9a83b1a 7:6defe5d1bd39
   128 #include <aknnavi.h> 
   128 #include <aknnavi.h> 
   129 #include <aknnavide.h> 
   129 #include <aknnavide.h> 
   130 
   130 
   131 #include <eikedwin.h>
   131 #include <eikedwin.h>
   132 #include <aknCharMap.h>
   132 #include <aknCharMap.h>
       
   133 
       
   134 #include <AknFepInternalPSKeys.h>
   133 
   135 
   134 const TInt KSelectItemSize(10);
   136 const TInt KSelectItemSize(10);
   135 _LIT(KAknFepResourceFileName, "z:\\resource\\fep\\aknfep.rsc");
   137 _LIT(KAknFepResourceFileName, "z:\\resource\\fep\\aknfep.rsc");
   136 
   138 
   137 #define text_to_field_mode_hash_key ';'
   139 #define text_to_field_mode_hash_key ';'
   759             	}            
   761             	}            
   760 #endif // RD_INTELLIGENT_TEXT_INPUT              
   762 #endif // RD_INTELLIGENT_TEXT_INPUT              
   761 //#endif // __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
   763 //#endif // __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
   762                 
   764                 
   763 #ifdef RD_SCALABLE_UI_V2 
   765 #ifdef RD_SCALABLE_UI_V2 
   764                
   766             
   765             if (iFepPluginManager->BeforeSpell())
   767             if ( iFepPluginManager != NULL && 
       
   768                  iFepPluginManager->BeforeSpell() )
   766                 {
   769                 {
   767                 iFepPluginManager->SetBeforeSpell(EFalse);
   770                 iFepPluginManager->SetBeforeSpell(EFalse);
   768                 }
   771                 }
   769             else
   772             else
   770 #endif  
   773 #endif  
  2413                 iShiftKeypressMonitor->Cancel();
  2416                 iShiftKeypressMonitor->Cancel();
  2414 #ifdef RD_INTELLIGENT_TEXT_INPUT 
  2417 #ifdef RD_INTELLIGENT_TEXT_INPUT 
  2415 #ifdef __HALF_QWERTY_KEYPAD               
  2418 #ifdef __HALF_QWERTY_KEYPAD               
  2416 #ifdef __SHIFT_KEY_LOOP
  2419 #ifdef __SHIFT_KEY_LOOP
  2417 				// Cancel multitap timer
  2420 				// Cancel multitap timer
  2418 				iPtiEngine->CancelTimerActivity();
  2421                 
       
  2422                 if( iPtiEngine != NULL )
       
  2423                     {
       
  2424 				    iPtiEngine->CancelTimerActivity();
       
  2425                     }
  2419 #endif //__SHIFT_KEY_LOOP       
  2426 #endif //__SHIFT_KEY_LOOP       
  2420 #endif //__HALF_QWERTY_KEYPAD      
  2427 #endif //__HALF_QWERTY_KEYPAD      
  2421 #endif //RD_INTELLIGENT_TEXT_INPUT
  2428 #endif //RD_INTELLIGENT_TEXT_INPUT
  2422                 }
  2429                 }
  2423             ClearFlag( EFlagNoActionDuringShiftKeyPress );
  2430             ClearFlag( EFlagNoActionDuringShiftKeyPress );
  3112             response = EKeyWasNotConsumed;
  3119             response = EKeyWasNotConsumed;
  3113             }        
  3120             }        
  3114 #endif   
  3121 #endif   
  3115         ResetCcpuFlags();               
  3122         ResetCcpuFlags();               
  3116         }
  3123         }
  3117 
       
  3118 
       
  3119 //Removed as part of the fix STAA-7FXCTK 
       
  3120 
  3124 
  3121 /*    if (EPtiKeyboardQwerty4x10 == KeyboardLayout())
  3125 /*    if (EPtiKeyboardQwerty4x10 == KeyboardLayout())
  3122     	{
  3126     	{
  3123     	FepUI()->HandleKeyL(EKeyLeftCtrl, EShortKeyPress);    
  3127     	FepUI()->HandleKeyL(EKeyLeftCtrl, EShortKeyPress);    
  3124    	}*/
  3128    	}*/
  4084         {
  4088         {
  4085         CommitInlineEditL();
  4089         CommitInlineEditL();
  4086         HBufC* spell = iFepPluginManager->SpellTextInput();
  4090         HBufC* spell = iFepPluginManager->SpellTextInput();
  4087         
  4091         
  4088         iFepPluginManager->SetITUTSpellingStateL(EFalse); 
  4092         iFepPluginManager->SetITUTSpellingStateL(EFalse); 
  4089         iFepPluginManager->DestroySpellEditor();
  4093         iFepPluginManager->HideSpellEditor();
  4090         
  4094         
  4091         if (spell)
  4095         if (spell)
  4092             {
  4096             {
  4093             CleanupStack::PushL(spell);
  4097             CleanupStack::PushL(spell);
  4094             TPtr text = spell->Des();
  4098             TPtr text = spell->Des();
  4143 */
  4147 */
  4144 #ifdef RD_SCALABLE_UI_V2
  4148 #ifdef RD_SCALABLE_UI_V2
  4145     if (iFepPluginManager->IsSpellVisible())
  4149     if (iFepPluginManager->IsSpellVisible())
  4146         {
  4150         {
  4147         TRAP_IGNORE(iFepPluginManager->SetITUTSpellingStateL(EFalse)); 
  4151         TRAP_IGNORE(iFepPluginManager->SetITUTSpellingStateL(EFalse)); 
  4148         iFepPluginManager->DestroySpellEditor();
  4152         iFepPluginManager->HideSpellEditor();
  4149 
  4153 
  4150         TRAP_IGNORE(UpdateCbaL(NULL)); 
  4154         TRAP_IGNORE(UpdateCbaL(NULL)); 
  4151         if (iFepPluginManager->CaseUpdatesSupressed())
  4155         if (iFepPluginManager->CaseUpdatesSupressed())
  4152             {
  4156             {
  4153             SetFlag(EFlagSupressAutoUpdate);
  4157             SetFlag(EFlagSupressAutoUpdate);
  4889 	        break;
  4893 	        break;
  4890         case EAknFepCmdPredSettings:
  4894         case EAknFepCmdPredSettings:
  4891         	LaunchPredictiveSettingDialogL();
  4895         	LaunchPredictiveSettingDialogL();
  4892         	break;
  4896         	break;
  4893         /*
  4897         /*
  4894 	    This code is the part of fixing TSW Error ID: BSAN-7G58DB :  Edit Menu : 
  4898 	    This code is the part of fixing TSW Error 
  4895 	    "Matches" and "insert word" options are not available under Edit Menu.
  4899 	    "Matches" and "insert word" options are not available under Edit Menu.
  4896 	    This is For Insert Word Functionality*/	
  4900 	    This is For Insert Word Functionality*/	
  4897         case EAknEditMenuCmdInsertWord:
  4901         case EAknEditMenuCmdInsertWord:
  4898         	HandleChangeInFocus();
  4902         	HandleChangeInFocus();
  4899             LaunchInsertWordQueryL(KNullDesC, TCursorSelection(0,0));
  4903             LaunchInsertWordQueryL(KNullDesC, TCursorSelection(0,0));
  5182 #ifdef RD_SCALABLE_UI_V2
  5186 #ifdef RD_SCALABLE_UI_V2
  5183     TInt oldPermitModes = -1;
  5187     TInt oldPermitModes = -1;
  5184     if (R_AVKON_TOUCH_TOUCHINPUT_MENU == aResourceId )
  5188     if (R_AVKON_TOUCH_TOUCHINPUT_MENU == aResourceId )
  5185         {
  5189         {
  5186         oldPermitModes = iPermittedInputModes;
  5190         oldPermitModes = iPermittedInputModes;
  5187         iPermittedInputModes = iFepPluginManager->PreviousPermitMode();   
  5191         
  5188         }
  5192         if( iFepPluginManager != NULL )
  5189 
  5193             {
  5190     iFepPluginManager->InitMenuPaneL( iRememberEditorState, aMenuPane, aResourceId );
  5194             iPermittedInputModes = iFepPluginManager->PreviousPermitMode();
       
  5195             }
       
  5196         }
       
  5197     if( iFepPluginManager != NULL )
       
  5198         {
       
  5199         iFepPluginManager->InitMenuPaneL( iRememberEditorState, aMenuPane, aResourceId );
       
  5200         }
  5191     if (oldPermitModes != -1)
  5201     if (oldPermitModes != -1)
  5192         {
  5202         {
  5193         iPermittedInputModes = oldPermitModes;    
  5203         iPermittedInputModes = oldPermitModes;    
  5194         }
  5204         }
  5195 #endif //  RD_SCALABLE_UI_V2      
  5205 #endif //  RD_SCALABLE_UI_V2      
  5339             }
  5349             }
  5340 #ifdef RD_INTELLIGENT_TEXT_INPUT
  5350 #ifdef RD_INTELLIGENT_TEXT_INPUT
  5341             // Predictive QWERTY (XT9) changes ---->
  5351             // Predictive QWERTY (XT9) changes ---->
  5342         case R_AKNFEP_PRED_INPUT_OPTIONS_SUBMENU:
  5352         case R_AKNFEP_PRED_INPUT_OPTIONS_SUBMENU:
  5343         	{
  5353         	{
  5344             	// This part of code fixing TSW Errors :STAA-7GZE5W
  5354             	// This part of code fixing TSW Errors
  5345             	//									   :STAA-7GZEBX 
       
  5346             	// "Edit word" option is not available under edit menu in ITU-T mode.
  5355             	// "Edit word" option is not available under edit menu in ITU-T mode.
  5347             	// "Insert word" Should not be available QWERTY mode.
  5356             	// "Insert word" Should not be available QWERTY mode.
  5348             //TSW: AKSS-7P87XG
       
  5349             //TSW: AKSS-7P88Wf	
       
  5350           	if (IsKoreanInputLanguage() || 
  5357           	if (IsKoreanInputLanguage() || 
  5351                     iPtiEngine->CurrentLanguage()->LanguageCode() == ELangPrcChinese || 
  5358                     iPtiEngine->CurrentLanguage()->LanguageCode() == ELangPrcChinese || 
  5352                     iPtiEngine->CurrentLanguage()->LanguageCode() == ELangTaiwanChinese || 
  5359                     iPtiEngine->CurrentLanguage()->LanguageCode() == ELangTaiwanChinese || 
  5353                     iPtiEngine->CurrentLanguage()->LanguageCode() == ELangHongKongChinese  )
  5360                     iPtiEngine->CurrentLanguage()->LanguageCode() == ELangHongKongChinese  )
  5354           		{
  5361           		{
  5376         default:
  5383         default:
  5377             break;
  5384             break;
  5378         }
  5385         }
  5379 #ifdef RD_INTELLIGENT_TEXT_INPUT
  5386 #ifdef RD_INTELLIGENT_TEXT_INPUT
  5380 	/*
  5387 	/*
  5381     This code is the part of fixing TSW Error ID: BSAN-7G58DB :  Edit Menu : 
  5388     This code is the part of fixing TSW Error Edit Menu : 
  5382     "Matches" and "insert word" options are not available under Edit Menu.
  5389     "Matches" and "insert word" options are not available under Edit Menu.
  5383     This is To make visible/invisible the Insert Word in Optios menu & Edit Menu*/
  5390     This is To make visible/invisible the Insert Word in Optios menu & Edit Menu*/
  5384     iIsLastResourceEditMenu = aResourceId;
  5391     iIsLastResourceEditMenu = aResourceId;
  5385 #endif  
  5392 #endif  
  5386     }
  5393     }
  6382             
  6389             
  6383             {
  6390             {
  6384             aMenuPane->SetItemDimmed(EAknCmdEditModeNumber, EFalse);
  6391             aMenuPane->SetItemDimmed(EAknCmdEditModeNumber, EFalse);
  6385             }
  6392             }
  6386         }
  6393         }
  6387     //modified by zhangfeiyan, fix bug SKIN-7LABJ3
  6394     
  6388     if ( IsModePermitted( ENativeNumber ) )
  6395     if ( IsModePermitted( ENativeNumber ) )
  6389         {
  6396         {
  6390        if ( iLanguageCapabilities.iArabicIndicDigitsAllowed &&
  6397        if ( iLanguageCapabilities.iArabicIndicDigitsAllowed &&
  6391             !(iAknEditorFlags & EAknEditorFlagLatinInputModesOnly) &&
  6398             !(iAknEditorFlags & EAknEditorFlagLatinInputModesOnly) &&
  6392             iMode != ENativeNumber )
  6399             iMode != ENativeNumber )
  6637             {
  6644             {
  6638             aMenuPane->SetItemDimmed(EAknCmdMultitapPredictiveT9On, EFalse);
  6645             aMenuPane->SetItemDimmed(EAknCmdMultitapPredictiveT9On, EFalse);
  6639             }
  6646             }
  6640         }
  6647         }
  6641 
  6648 
  6642     if ( ( iMode == ENumber || iMode == ENativeNumber ) && 
  6649     if ( ( iMode == ENumber || iMode == ENativeNumber || iMode == EHangul ) && 
  6643         (iPermittedInputModes & (EAknEditorTextInputMode | EAknEditorSecretAlphaInputMode)) )
  6650         (iPermittedInputModes & (EAknEditorTextInputMode | EAknEditorSecretAlphaInputMode)) )
  6644         {
  6651         {
  6645         aMenuPane->SetItemDimmed(EAknCmdEditModeAlpha, EFalse);
  6652         aMenuPane->SetItemDimmed(EAknCmdEditModeAlpha, EFalse);
  6646         }
  6653         }
  6647 
  6654 
  7749     
  7756     
  7750     if (IsFlagSet(EFlagInsideInlineEditingTransaction))
  7757     if (IsFlagSet(EFlagInsideInlineEditingTransaction))
  7751         {
  7758         {
  7752         TryRemoveNoMatchesIndicatorL();
  7759         TryRemoveNoMatchesIndicatorL();
  7753 		/*
  7760 		/*
  7754 	    This code is the part of fixing TSW Error ID: BSAN-7G58DB :  Edit Menu : 
  7761 	    This code is the part of fixing TSW Error Edit Menu : 
  7755 	    "Matches" and "insert word" options are not available under Edit Menu.
  7762 	    "Matches" and "insert word" options are not available under Edit Menu.
  7756 	    When we launch Edit Menu.the word which in Inline Editing in the BackGorund 
  7763 	    When we launch Edit Menu.the word which in Inline Editing in the BackGorund 
  7757 	    Should not Commit*/        
  7764 	    Should not Commit*/        
  7758 #ifndef RD_INTELLIGENT_TEXT_INPUT
  7765 #ifndef RD_INTELLIGENT_TEXT_INPUT
  7759         CommitInlineEditL();
  7766         CommitInlineEditL();
  7760 #endif
  7767 #endif
  7761 		/*
  7768 		/*
  7762 	    This code is the part of fixing TSW Error ID: BSAN-7G58DB :  Edit Menu : 
  7769 	    This code is the part of fixing TSW ErrorEdit Menu : 
  7763 	    "Matches" and "insert word" options are not available under Edit Menu.
  7770 	    "Matches" and "insert word" options are not available under Edit Menu.
  7764 	    This Flag is useful for deciding whether "Matches" Menu Item can Visible 
  7771 	    This Flag is useful for deciding whether "Matches" Menu Item can Visible 
  7765 	    or not*/
  7772 	    or not*/
  7766 #ifdef RD_INTELLIGENT_TEXT_INPUT        
  7773 #ifdef RD_INTELLIGENT_TEXT_INPUT        
  7767         SetFlag(EFlagInlineEditInBackground);
  7774         SetFlag(EFlagInlineEditInBackground);
  7768 #endif
  7775 #endif
  7769 		/*
  7776 		/*
  7770 	    This code is the part of fixing TSW Error ID: BSAN-7G58DB :  Edit Menu : 
  7777 	    This code is the part of fixing TSW Error  Edit Menu : 
  7771 	    "Matches" and "insert word" options are not available under Edit Menu.*/
  7778 	    "Matches" and "insert word" options are not available under Edit Menu.*/
  7772 #ifndef RD_INTELLIGENT_TEXT_INPUT        
  7779 #ifndef RD_INTELLIGENT_TEXT_INPUT        
  7773         ClearFlag(EFlagInsideInlineEditingTransaction);
  7780         ClearFlag(EFlagInsideInlineEditingTransaction);
  7774 #endif        
  7781 #endif        
  7775         }
  7782         }
  7844     
  7851     
  7845     if (IsFlagSet(EFlagInsideInlineEditingTransaction))
  7852     if (IsFlagSet(EFlagInsideInlineEditingTransaction))
  7846         {
  7853         {
  7847         TryRemoveNoMatchesIndicatorL();
  7854         TryRemoveNoMatchesIndicatorL();
  7848 		/*
  7855 		/*
  7849 	    This code is the part of fixing TSW Error ID: BSAN-7G58DB :  Edit Menu : 
  7856 	    This code is the part of fixing TSW Error :  Edit Menu : 
  7850 	    "Matches" and "insert word" options are not available under Edit Menu.
  7857 	    "Matches" and "insert word" options are not available under Edit Menu.
  7851 	    When we launch Edit Menu.the word which in Inline Editing in the BackGorund 
  7858 	    When we launch Edit Menu.the word which in Inline Editing in the BackGorund 
  7852 	    Should not Commit*/        
  7859 	    Should not Commit*/        
  7853 #ifndef RD_INTELLIGENT_TEXT_INPUT
  7860 #ifndef RD_INTELLIGENT_TEXT_INPUT
  7854         CommitInlineEditL();
  7861         CommitInlineEditL();
  7855 #endif
  7862 #endif
  7856 		/*
  7863 		/*
  7857 	    This code is the part of fixing TSW Error ID: BSAN-7G58DB :  Edit Menu : 
  7864 	    This code is the part of fixing TSW Error :  Edit Menu : 
  7858 	    "Matches" and "insert word" options are not available under Edit Menu.
  7865 	    "Matches" and "insert word" options are not available under Edit Menu.
  7859 	    This Flag is useful for deciding whether "Matches" Menu Item can Visible 
  7866 	    This Flag is useful for deciding whether "Matches" Menu Item can Visible 
  7860 	    or not*/
  7867 	    or not*/
  7861 #ifdef RD_INTELLIGENT_TEXT_INPUT        
  7868 #ifdef RD_INTELLIGENT_TEXT_INPUT        
  7862         SetFlag(EFlagInlineEditInBackground);
  7869         SetFlag(EFlagInlineEditInBackground);
  7863 #endif
  7870 #endif
  7864 		/*
  7871 		/*
  7865 	    This code is the part of fixing TSW Error ID: BSAN-7G58DB :  Edit Menu : 
  7872 	    This code is the part of fixing TSW Error :  Edit Menu : 
  7866 	    "Matches" and "insert word" options are not available under Edit Menu.*/
  7873 	    "Matches" and "insert word" options are not available under Edit Menu.*/
  7867 #ifndef RD_INTELLIGENT_TEXT_INPUT        
  7874 #ifndef RD_INTELLIGENT_TEXT_INPUT        
  7868         ClearFlag(EFlagInsideInlineEditingTransaction);
  7875         ClearFlag(EFlagInsideInlineEditingTransaction);
  7869 #endif        
  7876 #endif        
  7870         }
  7877         }
  7909                 {
  7916                 {
  7910                 charResourceId = NumericModeSCTResourceId();
  7917                 charResourceId = NumericModeSCTResourceId();
  7911                 if ( charResourceId != ENoCharacters && IsAbleToLaunchSCT()&& 
  7918                 if ( charResourceId != ENoCharacters && IsAbleToLaunchSCT()&& 
  7912                         EditorType() != CAknExtendedInputCapabilities::EEikSecretEditorBased)
  7919                         EditorType() != CAknExtendedInputCapabilities::EEikSecretEditorBased)
  7913                     {
  7920                     {
  7914                     menuPane->ConstructMenuSctRowL( iEditCharsPtr, charResourceId );
  7921                     
       
  7922                     if( menuPane != NULL )
       
  7923                         {
       
  7924                         menuPane->ConstructMenuSctRowL( iEditCharsPtr, charResourceId );
       
  7925                         }
  7915                     }
  7926                     }
  7916                 else
  7927                 else
  7917                     {
  7928                     {
  7918                     currentEditorSCTResId = charResourceId;
  7929                     currentEditorSCTResId = charResourceId;
  7919                     }   
  7930                     }   
  8148         
  8159         
  8149         inlineEditorTl.iY -= height;
  8160         inlineEditorTl.iY -= height;
  8150         GetScreenCoordinatesL(inlineEditorBr, height, ascent);
  8161         GetScreenCoordinatesL(inlineEditorBr, height, ascent);
  8151         
  8162         
  8152         // Focus next word in list ---->
  8163         // Focus next word in list ---->
  8153         // To fix the bug STAA-7GYDB6, Candidate list opens with the highlight on 3rd candidate when Exact typing is use.
  8164         // To fix the bug Candidate list opens with the highlight on 3rd candidate when Exact typing is use.
  8154         // Show the popup.
  8165         // Show the popup.
  8155         TInt selectedIdx = aFocusedIndex;
  8166         TInt selectedIdx = aFocusedIndex;
  8156         TKeyEvent lastKeyEvent;
  8167         TKeyEvent lastKeyEvent;
  8157         
  8168         
  8158         if(selectedIdx == KErrNotFound)
  8169         if(selectedIdx == KErrNotFound)
  8571 	  fixedToolbar->SetDimmed(ETrue);
  8582 	  fixedToolbar->SetDimmed(ETrue);
  8572 	  fixedToolbar->DrawDeferred();
  8583 	  fixedToolbar->DrawDeferred();
  8573 	  }
  8584 	  }
  8574     TUid fepUid = CCoeEnv::Static()->FepUid();
  8585     TUid fepUid = CCoeEnv::Static()->FepUid();
  8575     ClearExtendedFlag(EExtendedFlagEdwinEditorDestroyed);
  8586     ClearExtendedFlag(EExtendedFlagEdwinEditorDestroyed);
       
  8587 	
       
  8588 	RProperty::Set(KPSUidAknFep,KAknFepSettingDialogState,1);
  8576 	UiInterface()->LaunchPredictiveSettingDialogL(R_PREDICTIVESETTING_DIALOG,
  8589 	UiInterface()->LaunchPredictiveSettingDialogL(R_PREDICTIVESETTING_DIALOG,
  8577 												  R_PREDICTIVESETTINGDIALOG_MENUBAR,
  8590 												  R_PREDICTIVESETTINGDIALOG_MENUBAR,
  8578 												  R_PREDICTIVETEXTOFF_CONFIRMATION_QUERY,
  8591 												  R_PREDICTIVETEXTOFF_CONFIRMATION_QUERY,
  8579 												  R_AKNFEP_PRED_INPUT_SETTINGS_TITLE);
  8592 												  R_AKNFEP_PRED_INPUT_SETTINGS_TITLE);
  8580     PrepareFepAfterDialogExitL(fepUid);	
  8593     PrepareFepAfterDialogExitL(fepUid);	
       
  8594 	RProperty::Set(KPSUidAknFep,KAknFepSettingDialogState,0);
  8581 #ifdef RD_SCALABLE_UI_V2	
  8595 #ifdef RD_SCALABLE_UI_V2	
  8582     // // Addtion of ITI features on FSQ.    
  8596     // // Addtion of ITI features on FSQ.    
  8583     if ( iFepPluginManager 
  8597     if ( iFepPluginManager 
  8584          && iFepPluginManager->IsSupportITIOnFSQ() )
  8598          && iFepPluginManager->IsSupportITIOnFSQ() )
  8585         {        
  8599         {        
 10683               && !IsFeatureSupportedJapanese())  //new find pane
 10697               && !IsFeatureSupportedJapanese())  //new find pane
 10684         {
 10698         {
 10685         // the default chinese find mode is the first mode in the hash key loop, except PrcChinese
 10699         // the default chinese find mode is the first mode in the hash key loop, except PrcChinese
 10686         if( iLanguageCapabilities.iInputLanguageCode == ELangPrcChinese)
 10700         if( iLanguageCapabilities.iInputLanguageCode == ELangPrcChinese)
 10687             {
 10701             {
 10688             // Fix bug EHST-6DBFUJ: Default searching language shall be ELatin
 10702             // Default searching language shall be ELatin
 10689             // Changed from EPinyin to ELatin here
 10703             // Changed from EPinyin to ELatin here
 10690             TryChangeModeL(ELatin);
 10704             TryChangeModeL(ELatin);
 10691             }
 10705             }
 10692         else
 10706         else
 10693             {
 10707             {
 12908                         {
 12922                         {
 12909                         break;
 12923                         break;
 12910                         }
 12924                         }
 12911                     }
 12925                     }
 12912                 }
 12926                 }
 12913            // Add This condition for Fixing EYYE-7HHBWW: Phonebook, ReTe, PF52.50_2008_wk32: 
 12927            // Add This condition for  Phonebook, ReTe, PF52.50_2008_wk32: 
 12914            // Navigation bar disappears after tapping find pane and then returning back to Names list view.
 12928            // Navigation bar disappears after tapping find pane and then returning back to Names list view.
 12915            if (!(editingStateIndicator == (MAknEditingStateIndicator*)iIndicator &&
 12929            if (!(editingStateIndicator == (MAknEditingStateIndicator*)iIndicator &&
 12916                ( iFepPluginManager && iFepPluginManager->PluginInputMode() == EPluginInputModeItut ) &&
 12930                ( iFepPluginManager && iFepPluginManager->PluginInputMode() == EPluginInputModeItut ) &&
 12917                IsFindPaneEditor()))
 12931                IsFindPaneEditor()))
 12918                {
 12932                {
 12936     }
 12950     }
 12937 
 12951 
 12938 void CAknFepManager::UpdateNumberIndicator( TAknEditingState& aNewState )
 12952 void CAknFepManager::UpdateNumberIndicator( TAknEditingState& aNewState )
 12939     {
 12953     {
 12940     
 12954     
 12941  // chnage for AIYR-6L7DGU; This problrm persist in all variants. 
       
 12942  // The fix is made only for Hindi
 12955  // The fix is made only for Hindi
 12943     UpdateNumericEditorDigitType();
 12956     UpdateNumericEditorDigitType();
 12944     TBool supportsWesternNumericIntegerOrReal =
 12957     TBool supportsWesternNumericIntegerOrReal =
 12945         ( iInputCapabilities.SupportsWesternNumericIntegerPositive() ||
 12958         ( iInputCapabilities.SupportsWesternNumericIntegerPositive() ||
 12946         iInputCapabilities.SupportsWesternNumericIntegerNegative() ||
 12959         iInputCapabilities.SupportsWesternNumericIntegerNegative() ||
 13656 TBool CAknFepManager::IsAbleToLaunchSmiley() const
 13669 TBool CAknFepManager::IsAbleToLaunchSmiley() const
 13657     {
 13670     {
 13658     TBool ableToLaunchSmiley(EFalse);
 13671     TBool ableToLaunchSmiley(EFalse);
 13659     
 13672     
 13660     CAknEdwinState* edwinState = EditorState();
 13673     CAknEdwinState* edwinState = EditorState();
 13661     if(edwinState)
 13674     if ( edwinState && EditorHasFreeSpace() )
 13662         {
 13675         {
 13663         CAknEdwinFormAccessor* formAccessor = edwinState->FormAccessor();
 13676         CAknEdwinFormAccessor* formAccessor = edwinState->FormAccessor();
 13664         if(formAccessor)
 13677         if(formAccessor)
 13665             {
 13678             {
 13666             CEikEdwin *edwin = static_cast<CEikEdwin*>(formAccessor->FormClientControl());
 13679             CEikEdwin *edwin = static_cast<CEikEdwin*>(formAccessor->FormClientControl());
 14320     if (IsCcpuFlagSet(ECcpuStateStartCopy | ECcpuStateCopy | ECcpuStateStartCut | ECcpuStateCut))
 14333     if (IsCcpuFlagSet(ECcpuStateStartCopy | ECcpuStateCopy | ECcpuStateStartCut | ECcpuStateCut))
 14321         {
 14334         {
 14322         return;
 14335         return;
 14323         }
 14336         }
 14324     
 14337     
 14325     //For bug ESSG-7RXC96
       
 14326     if((iAknEditorFlags & EAknEditorFlagFindPane)&& IsChineseInputLanguage()&& aResourceId != NULL)
 14338     if((iAknEditorFlags & EAknEditorFlagFindPane)&& IsChineseInputLanguage()&& aResourceId != NULL)
 14327         {
 14339         {
 14328         return;
 14340         return;
 14329         }
 14341         }
 14330 
 14342 
 14444             }
 14456             }
 14445         else
 14457         else
 14446             {
 14458             {
 14447             iSharedDataInterface->ResetPredictiveTextOn();
 14459             iSharedDataInterface->ResetPredictiveTextOn();
 14448             }
 14460             }
       
 14461         if ( iFepPluginManager && iFepPluginManager->IsSupportITIOnFSQ() )
       
 14462         	{
       
 14463             SendEventsToPluginManL( EPluginUpdatePenInputITIStatus );
       
 14464         	}
 14449         }
 14465         }
 14450     }
 14466     }
 14451 
 14467 
 14452 void CAknFepManager::SetWesternAutoComplete( const TBool aWesternAutoComplete )
 14468 void CAknFepManager::SetWesternAutoComplete( const TBool aWesternAutoComplete )
 14453     {
 14469     {
 15683 
 15699 
 15684     TInt index = 0;
 15700     TInt index = 0;
 15685     SetFlag( EFlagForegroundUIComponentVisible );
 15701     SetFlag( EFlagForegroundUIComponentVisible );
 15686     CleanupStack::Pop( icons );	// iUiInterface->LaunchListPopupL takes ownership immediately
 15702     CleanupStack::Pop( icons );	// iUiInterface->LaunchListPopupL takes ownership immediately
 15687 #ifdef RD_SCALABLE_UI_V2 
 15703 #ifdef RD_SCALABLE_UI_V2 
 15688     /* tp teleca fix 17.9.2009 to IKIM-7VK8GG*/
 15704     if( iFepFullyConstructed && iFepPluginManager && !iFepPluginManager->IsInMenuOpen() )
 15689     if( iFepFullyConstructed && iFepPluginManager)
       
 15690             {
 15705             {
 15691             iFepPluginManager->SetMenuState();            
 15706             iFepPluginManager->SetMenuState();            
 15692             }
 15707             }
 15693     // tp teleca fix end
       
 15694 #endif              
 15708 #endif              
 15695     // Fire up the dialog
 15709     // Fire up the dialog
 15696 #ifdef RD_SCALABLE_UI_V2
 15710 #ifdef RD_SCALABLE_UI_V2
 15697     iCancelPopupInQwerty = aLaunchedByTouchWin;
 15711     iCancelPopupInQwerty = aLaunchedByTouchWin;
 15698 #endif //RD_SCALABLE_UI_V2
 15712 #endif //RD_SCALABLE_UI_V2
 15960              ( (TAknFepUiIndicInputManager :: IsIndicDigitsSupported(TLanguage(aInputLanguage))) );
 15974              ( (TAknFepUiIndicInputManager :: IsIndicDigitsSupported(TLanguage(aInputLanguage))) );
 15961     UpdateLocalDigitMode();
 15975     UpdateLocalDigitMode();
 15962 
 15976 
 15963     MAknFepManagerInterface* fepUI = iLangMan->GetFepUI(ELatin, iCharWidth, ETrue);
 15977     MAknFepManagerInterface* fepUI = iLangMan->GetFepUI(ELatin, iCharWidth, ETrue);
 15964     MPtiLanguage* ptiLanguage = iPtiEngine->GetLanguage(fepUI->SupportLanguage(ELatin));
 15978     MPtiLanguage* ptiLanguage = iPtiEngine->GetLanguage(fepUI->SupportLanguage(ELatin));
 15965     if (ptiLanguage) // can be NULL in some uncommon situations, see TAVN-6SWB4Z
 15979     if (ptiLanguage) // can be NULL in some uncommon situations
 15966         {
 15980         {
 15967         iLanguageCapabilities.iSupportsWesternPredictive = 
 15981         iLanguageCapabilities.iSupportsWesternPredictive = 
 15968                                            ptiLanguage->HasInputMode(EPtiEnginePredictive);
 15982                                            ptiLanguage->HasInputMode(EPtiEnginePredictive);
 15969         // tp teleca change Korean lang does not support predictive
 15983         // tp teleca change Korean lang does not support predictive
 15970         // and we want to disable predictive even with local editors
 15984         // and we want to disable predictive even with local editors
 18238             {
 18252             {
 18239              if (iFepPluginManager->PluginInputMode() == EPluginInputModeItut ||
 18253              if (iFepPluginManager->PluginInputMode() == EPluginInputModeItut ||
 18240                  iFepPluginManager->PluginInputMode() == EPluginInputModeFSQ ||
 18254                  iFepPluginManager->PluginInputMode() == EPluginInputModeFSQ ||
 18241                  iFepPluginManager->PluginInputMode() == EPluginInputModeFingerHwr)
 18255                  iFepPluginManager->PluginInputMode() == EPluginInputModeFingerHwr)
 18242                 {
 18256                 {
 18243                  SetStopProcessFocus(ETrue, EFalse);
 18257                 SetStopProcessFocus(ETrue, ETrue);
 18244                 iFepPluginManager->SetMenuState();            
 18258                 iFepPluginManager->SetMenuState();            
 18245                 }            
 18259                 }            
 18246              else if (!iFepPluginManager->IsGlobleNotes())
 18260              else if (!iFepPluginManager->IsGlobleNotes())
 18247                 {
 18261                 {
 18248                 iFepPluginManager->ClosePluginInputUiL( ETrue );
 18262                 iFepPluginManager->ClosePluginInputUiL( ETrue );
 20735     aKey = 0;
 20749     aKey = 0;
 20736 	
 20750 	
 20737 	if (!iPtiEngine)
 20751 	if (!iPtiEngine)
 20738 		return;
 20752 		return;
 20739 		
 20753 		
 20740     CPtiCoreLanguage* lang = (CPtiCoreLanguage*)iPtiEngine->GetLanguage(iLanguageCapabilities.iInputLanguageCode);    
 20754     CPtiCoreLanguage* lang = static_cast<CPtiCoreLanguage*>( iPtiEngine->CurrentLanguage() );
 20741     if (!lang)
 20755     if (!lang)
 20742         return;
 20756         return;
 20743 
 20757 
 20744     const TBool vietnamese = (iLanguageCapabilities.iInputLanguageCode == ELangVietnamese);
 20758     const TBool vietnamese = (iLanguageCapabilities.iInputLanguageCode == ELangVietnamese);
 20745     
 20759