textinput/peninputgenericitut/src/peninputgenericitutlayout.cpp
branchRCL_3
changeset 7 6defe5d1bd39
parent 6 6ceef9a83b1a
child 13 1bbdde98cc2d
--- a/textinput/peninputgenericitut/src/peninputgenericitutlayout.cpp	Mon Mar 15 12:42:02 2010 +0200
+++ b/textinput/peninputgenericitut/src/peninputgenericitutlayout.cpp	Wed Mar 31 22:08:20 2010 +0300
@@ -46,6 +46,8 @@
 #include "peninputgenericitutconverter.h"
 #include "peninputgenericitutwindowmanager.h"
 
+const TInt KChineseSpell = 100;
+const TInt KWesternSpell = 101;
 
 
 CGenericItutUiLayout* CGenericItutUiLayout::NewL(MLayoutOwner* aLayoutOwner,
@@ -204,14 +206,6 @@
         case ECmdPenInputFingerSpelling:
             {
 
-            // Fix bug EZLG-7YUAP7
-            // When writing language is Chinese, and Spell On, enforce setting language to English 
-            if( (*(reinterpret_cast<TBool*>(aData))) && iDataMgr->IsChinese() )  
-            	{
-            	iDataMgr->SetLanguageL( ELangEnglish );
-            	}
-           //
-
             if (UiMgr())
                 {
                 TInt handled = KErrNone;
@@ -298,6 +292,26 @@
             iWindowMgr->ShowBubble(*aData);    
             }
             break;
+        case ECmdPeninputSpellLanguageMode:
+        	{
+            if ( *data == KChineseSpell )
+            	{
+				iDataMgr->SetChineseSpellFlag( ETrue );
+				return KErrNone;
+            	}
+            
+            if ( *data == KWesternSpell )
+            	{
+				iDataMgr->SetChineseSpellFlag( EFalse );
+				return KErrNone;
+            	}
+        	}
+        	break;
+        case ECmdPeninputSpellICFDisplayContent:
+        	{
+        	TRAP_IGNORE( iWindowMgr->HandleCommandL( aCmd, aData ));
+        	}
+        	break;
         default:
             break;
         }
@@ -374,7 +388,7 @@
 		TBool numericOnlyChanged = iDataMgr->IsCharFlagChanged() ? ETrue : EFalse;
 		//only number mode need judge it
 
-		// fix EJML-7HM6GM, e.g. both EStrokeFind and EStroke will be stored as Estroke  ///// 
+		//  both EStrokeFind and EStroke will be stored as Estroke  ///// 
 		if ( aMode != iDataMgr->InputMode() || 
 			 aMode == EStroke || aMode == EStrokeFind || 
 			 aMode == EZhuyin || aMode == EZhuyinFind || 
@@ -402,8 +416,6 @@
     
     if (previousLang != aLanguage)
         {
-
-        // Fix bug for EZLG-7YUAP7 
         // When state is spelling, don¡¯t apply LAF Data   
         if(iCurrentUiMgr 
            && iCurrentUiMgr->CurrentState()