textinput/peninputarc/src/peninputserverapp/peninputserver.cpp
branchRCL_3
changeset 12 5e18d8c489d6
parent 7 6defe5d1bd39
child 13 1bbdde98cc2d
--- a/textinput/peninputarc/src/peninputserverapp/peninputserver.cpp	Tue May 11 16:31:42 2010 +0300
+++ b/textinput/peninputarc/src/peninputserverapp/peninputserver.cpp	Tue May 25 13:03:44 2010 +0300
@@ -528,7 +528,10 @@
 
     if(!iUiLayout)
         return;
-    
+
+    TBool notDraw = EFalse;
+    iUiLayout->HandleCommand(ECmdPeninputDisableLayoutDrawing,(unsigned char*)&notDraw);
+  
     // move it out from if(!iActive) to make sure that msg bubble can be 
     // shown if fast swap from other application to msg application.
     TBool bNeedWait = AnimOpNeedWaiting(ESignalPenUiActivated);
@@ -1204,6 +1207,13 @@
 		ClearSpriteGc();
         DeactivateSprite();
         iDestroyingLayout = ETrue;
+        if(iUseWindowCtrl)
+		   {
+		   if(iPenUiCtrl)
+		       {
+			   iPenUiCtrl->Clean();
+			   }
+		   }
         iUiLayout->Destroy();
         iUiLayout = NULL;    
         iDestroyingLayout = EFalse;
@@ -1307,8 +1317,12 @@
         iUseWindowCtrl = ETrue;
 
         if(iUseWindowCtrl)
-            {            
-        iPenUiCtrl->SetExtent(layoutRect.iTl,layoutSize);
+            {
+#ifdef FIX_FOR_NGA
+            TBool flag = ETrue;
+            iUiLayout->HandleCommand(ECmdPeninputEnableOwnBitmap,reinterpret_cast<TUint8*>(&flag));
+#endif            
+            iPenUiCtrl->SetExtent(layoutRect.iTl,layoutSize);
             if(iAnimObj)
                 {
                 iAnimObj->AddEnalbeSpriteCmd(EFalse);
@@ -1563,10 +1577,6 @@
     return;
     }
 
-#ifndef FIX_FOR_NGA
-#define FIX_FOR_NGA
-#endif
-
 //MLayoutOwner
 // ---------------------------------------------------------------------------
 // CPeninputServer::UpdateArea
@@ -1901,15 +1911,11 @@
         	    }
         	    break;
 
-        	case ESignalPopupWndClosed:
-        	    {        	    
-        	    if(iUseWindowCtrl)
+        	default:
+        	    if(iUseWindowCtrl)                    
         	        {
-        	        iPenUiCtrl->ClosePopup();
+                    iPenUiCtrl->HandleNGASpecificSignal(aEventType, aEventData);
         	        }
-        	    }
-        	    break;
-        	default:
         		break;
         	}
         }
@@ -2117,9 +2123,17 @@
             }
         return;    
         }
-*/    if(iActive && !iPrevActive && 
-       iUiLayout->PenInputType() != EPluginInputModeFSQ && 
-       iBackgroudDefaultOri == CAknAppUiBase::EAppUiOrientationUnspecified )
+*/    
+    TInt inputMode = iUiLayout ? iUiLayout->PenInputType() : EPluginInputModeNone;
+	
+    TBool isArabicFingerInput = (inputMode == EPluginInputModeFingerHwr && iInputLanguage == ELangArabic);
+    
+    if(isArabicFingerInput)
+        {
+        return;
+        }
+    
+	if(iActive && !iPrevActive && inputMode != EPluginInputModeFSQ && iBackgroudDefaultOri == CAknAppUiBase::EAppUiOrientationUnspecified )
         {
         
         iPrevActive = ETrue;