fep/aknfep/src/AknFepManager.cpp
branchRCL_3
changeset 11 c8fb4cf7b3ae
parent 9 e6a39382bb9c
child 12 5e18d8c489d6
--- a/fep/aknfep/src/AknFepManager.cpp	Tue Apr 27 16:59:43 2010 +0300
+++ b/fep/aknfep/src/AknFepManager.cpp	Tue May 11 16:31:42 2010 +0300
@@ -3534,7 +3534,7 @@
             // but need to restore fep state here            
             if ( iFepPluginManager )
             	{
-            	iFepPluginManager->ResetItiStateL();
+                TRAP_IGNORE(iFepPluginManager->ResetItiStateL());
             	}
         #endif
             // Close UI
@@ -3728,7 +3728,6 @@
             case EAknClosePenInputRequest:
                 if ( iFepPluginManager )
                     {
-                    // Fix bug ou1cimx1#225126, editor team asks that the parameter is EFalse.
                     iFepPluginManager->ClosePluginInputModeL( EFalse );
                     }
                 break;
@@ -3746,7 +3745,7 @@
                 // In between, if editor context not in inline edit state.
                 // Try to update the case editor gets the focus, and editor
                 // context come in inline state.                
-				//iCaseMan->UpdateCase(ENullNaviEvent);	
+				iCaseMan->UpdateCase( ENullNaviEvent );
                 break;
 
             default:
@@ -3769,7 +3768,6 @@
             env->SimulateKeyEventL(keyEvent,EEventKey);            
             iFepPluginManager->ResetMenuState();            
             iFepPluginManager->RemoveLastFocusedWinFromOpenList();
-            // Fix bug ou1cimx1#225126, editor team asks that the parameter is EFalse.
             iFepPluginManager->ClosePluginInputModeL( EFalse );
             }
         }
@@ -4093,8 +4091,7 @@
         HBufC* spell = iFepPluginManager->SpellTextInput();
         
         iFepPluginManager->SetITUTSpellingStateL(EFalse); 
-        iFepPluginManager->HideSpellEditor();
-        iFepPluginManager->SetInSpellModeFlag( EFalse );
+        iFepPluginManager->HideSpellEditor();        
         
         if (spell)
             {
@@ -4153,8 +4150,7 @@
     if (iFepPluginManager->IsSpellVisible())
         {
         TRAP_IGNORE(iFepPluginManager->SetITUTSpellingStateL(EFalse)); 
-        iFepPluginManager->HideSpellEditor();
-        iFepPluginManager->SetInSpellModeFlag( EFalse );
+        iFepPluginManager->HideSpellEditor();        
 
         TRAP_IGNORE(UpdateCbaL(NULL)); 
         if (iFepPluginManager->CaseUpdatesSupressed())
@@ -7005,13 +7001,6 @@
 void CAknFepManager::HandleChangeInFocusL()
     {
     // Closing SCT has done focus change, so here just reset the flag.
-#ifdef RD_SCALABLE_UI_V2	
-    if(iDisalbleFocusChangeForSCT)
-    {
-    iDisalbleFocusChangeForSCT = EFalse;
-    return;
-    }
-#endif
     // dim state changed, need fetch it again.
     SendEventsToPluginManL(EPluginEnableFetchDimState);
 
@@ -11457,10 +11446,14 @@
             }
         case ELangVietnamese:
             {
-            validInlineCharacter = (aCharacter.IsAlpha() &&
-                                    !((category & TChar::ELetterOtherGroup))) ||
-                                    ((category == TChar::EMarkGroup) && 
-                                    (bdCategory == TChar::ENonSpacingMark));
+            // For full screen qwerty, validInlineCharacter is true
+            if( !( iFepPluginManager && iFepPluginManager->EnableITIOnFSQ() ) )
+                {
+                validInlineCharacter = (aCharacter.IsAlpha() &&
+                                        !((category & TChar::ELetterOtherGroup))) ||
+                                        ((category == TChar::EMarkGroup) && 
+                                        (bdCategory == TChar::ENonSpacingMark));
+                }
             break;
             }
         case ELangThai:
@@ -12113,17 +12106,18 @@
 #endif        
         iHashKeyMan->SetMode(iMode, IsPredictive());
         // ensure editor is aware of new fep mode
+        TCursorSelection curSel;
         if ( IsFepAwareTextEditor() )
             {
             EditorState()->SetCurrentInputMode(EditorModeFromFepMode(aMode));
-            iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(iUncommittedText);
+            iInputCapabilities.FepAwareTextEditor()->GetCursorSelectionForFep(curSel);
             AdjustCursorTypeForCurrentPosition();
             }
 
         // when cursor is in between two words and SCT is launched and
         // cancel key is pressed, dont move the cursor at the end of
         // second word.     
-         if (WesternPredictive(aMode) && !iUncommittedText.Length()
+         if (WesternPredictive(aMode) && !curSel.Length()
             && CursorInsideWord() && !IsCcpuFlagSet(ECcpuStateSupressCursorMoveToEnd)
 #ifdef RD_INTELLIGENT_TEXT_INPUT            
             && (!iSupressCursorMoveToEndChrKeyPressed)
@@ -13078,13 +13072,13 @@
         {
         if ( iLanguageCapabilities.iInputLanguageCode == ELangArabic )
             {
-            //iLanguageCapabilities.iLocalDigitType = EDigitTypeArabicIndic;
+            iLanguageCapabilities.iLocalDigitType = EDigitTypeArabicIndic;
             aNewState=EArabicIndicNumeric;
             }
         else if ( iLanguageCapabilities.iInputLanguageCode == ELangFarsi 
                || iLanguageCapabilities.iInputLanguageCode == ELangUrdu )
             {
-            //iLanguageCapabilities.iLocalDigitType = EDigitTypeEasternArabicIndic;
+            iLanguageCapabilities.iLocalDigitType = EDigitTypeEasternArabicIndic;
             aNewState=EArabicIndicNumeric;
             }    
         else if ( iLanguageCapabilities.iInputLanguageCode == ELangHindi )
@@ -14526,7 +14520,7 @@
             }
         if ( iFepPluginManager && iFepPluginManager->IsSupportITIOnFSQ() )
         	{
-            SendEventsToPluginManL( EPluginUpdatePenInputITIStatus );
+            TRAP_IGNORE(SendEventsToPluginManL( EPluginUpdatePenInputITIStatus ));
         	}
         }
     }
@@ -18363,6 +18357,11 @@
             }
         ClearExtendedFlag(EExtendedFlagEdwinEditorDestroyed);
         
+        if ( iFepPluginManager && iFepPluginManager->IsSpellVisible() )
+        	{
+            iFepPluginManager->SetLaunchSCTInSpell( ETrue );            
+        	}        	
+        
 		if (iUiInterface->CharMapDialogL(
 			sctChars, 
 			specialChars, 
@@ -18461,7 +18460,6 @@
                                     }                               
 //There may be several char to be inserted, need disable Focus change to avoid multi-focus change.
 #ifdef RD_SCALABLE_UI_V2 
-                                iDisalbleFocusChangeForSCT = ETrue;
 #endif       
                                 InsertTextFromDialogL(charAsDesc, cursorSelection);
                                 }
@@ -18477,7 +18475,7 @@
                     }
                 }
 #ifdef RD_SCALABLE_UI_V2 
-            
+            iNotifyPlugin = EFalse;
             if( iFepFullyConstructed && iFepPluginManager)
                 {
                  if (iFepPluginManager->PluginInputMode() == EPluginInputModeItut ||
@@ -18496,15 +18494,14 @@
                 HandleChangeInFocus();
                 }   
             // Set the flag, not change focus for next.
-            iDisalbleFocusChangeForSCT = ETrue;           
+            iNotifyPlugin = ETrue;
 #endif
             }
         else
             {
             iClosePeninputUi = EFalse;
             iStopProcessFocus = EFalse;                   
-            }
-            
+            }		   
         PrepareFepAfterDialogExitL(fepUid);
         }
     }