textinput/peninputgenericitut/src/peninputgenericitutwindowmanager.cpp
branchRCL_3
changeset 5 a47de9135b21
parent 0 eb1f2e154e89
child 6 6ceef9a83b1a
--- a/textinput/peninputgenericitut/src/peninputgenericitutwindowmanager.cpp	Fri Feb 19 23:09:27 2010 +0200
+++ b/textinput/peninputgenericitut/src/peninputgenericitutwindowmanager.cpp	Fri Mar 12 15:44:07 2010 +0200
@@ -45,6 +45,7 @@
 #include "peninputgenericitutuistatebase.h"
 #include "peninputgenericitutconverter.h"
 
+_LIT(KEmptyString, "");
 const TInt KPeriodicTimerIntervalSec(2500000);
 /* Teleca change end, 18.05.2009 ssal */
 CGenericItutWindowManager* CGenericItutWindowManager::NewL(CGenericItutUiLayout* aLayoutOwner,
@@ -283,7 +284,12 @@
         case ECmdPenInputIsSecretText:
             {
             iWindow->Icf()->SetTextIsSecret(*aData);
-            iWindow->InputModeSwitch()->SetSecretEditor(*aData);
+            CPeninputLayoutInputmodelChoice* choice = 
+                iWindow->InputModeSwitch();
+            if ( choice )
+                {
+                choice->SetSecretEditor(*aData);
+                }
             }
             break;
         case ECmdPenInputIsNumberGrouping:
@@ -299,7 +305,14 @@
             break;
         case ECmdPenInputFingerMatchIndicator:
             {
-            UpdateIndicatorL(aData);
+            if ( IsPortraitWest() && ( !iDataMgr->IsChineseGlobalLanguage()))
+                {
+                iWindow->UpdateIndiBubbleL( aData );
+                }
+            else
+                {
+                UpdateIndicatorL( aData );
+                }
             handle = ETrue;
             }
             break;
@@ -337,15 +350,18 @@
 
         case ECmdPenInputEnableIndicatorButton:
             {
-            if (*data)
+            if ( NULL != static_cast<CAknFepCtrlCommonButton*>(Control(ECtrlIdIndicator)))
                 {
-                static_cast<CAknFepCtrlCommonButton*>(
-                                              Control(ECtrlIdIndicator))->SetDimmed(EFalse);
-                }
-            else
-                {
-                static_cast<CAknFepCtrlCommonButton*>(
-                                              Control(ECtrlIdIndicator))->SetDimmed(ETrue);
+                if (*data)
+                    {
+                    static_cast<CAknFepCtrlCommonButton*>(
+                                                  Control(ECtrlIdIndicator))->SetDimmed(EFalse);
+                    }
+                else
+                    {
+                    static_cast<CAknFepCtrlCommonButton*>(
+                                                  Control(ECtrlIdIndicator))->SetDimmed(ETrue);
+                    }
                 }
             }
         break;
@@ -416,6 +432,10 @@
     return iLayoutOwner;
     }
     
+TBool CGenericItutWindowManager::IsPortraitWest()
+    {
+    return !iDataMgr->IsChinese() && !iDataMgr->IsLandScape();
+    }
 void CGenericItutWindowManager::HandleAppInfoChangeL(const TDesC& aInfo)
     {
     CGenericItutUiLayout * itutLayoutOwner;
@@ -426,11 +446,58 @@
             CGenericItutUiMgrBase::EStateSpelling && 
          !iInEditWordQueryDlg)
         {
+        if ( IsPortraitWest() && (!iDataMgr->IsChineseGlobalLanguage()))
+            {
+			iWindow->Icf()->HideBubble();
+            iWindow->SetIndiWithTextFlag( ETrue );
+            iWindow->IndiBubbleWithText();
+            
+            if ( iDataMgr->IndicatorData().iIndicatorImgID != 0 &&
+                 iDataMgr->IndicatorData().iIndicatorMaskID != 0 && 
+                 iDataMgr->IndicatorData().iIndicatorTextImgID != 0 &&
+                 iDataMgr->IndicatorData().iIndicatorTextMaskID != 0 )
+                {
+                iWindow->SetIndiBubbleImageL( 
+                        iDataMgr->IndicatorData().iIndicatorImgID,
+                        iDataMgr->IndicatorData().iIndicatorMaskID,
+                        iDataMgr->IndicatorData().iIndicatorTextImgID,
+                        iDataMgr->IndicatorData().iIndicatorTextMaskID);
+                }
+            }
         iWindow->Icf()->ShowBubble(aInfo,iWindow->Icf()->MsgBubbleCtrl()->Rect());
         }
     else
         {
-        iWindow->Icf()->HideBubble();
+        if ((!IsPortraitWest()) || iDataMgr->IsChineseGlobalLanguage())
+            {
+            iWindow->Icf()->HideBubble();
+            }
+        else
+            {
+			if ( itutLayoutOwner->UiMgr()->CurrentState() &&
+			     itutLayoutOwner->UiMgr()->CurrentState()->StateType() !=
+			            CGenericItutUiMgrBase::EStateSpelling )
+				{
+				iWindow->Icf()->HideBubble();
+				iWindow->SetIndiWithTextFlag( EFalse );
+				iWindow->IndiBubbleWithoutText();
+				}
+				
+				if ( iDataMgr->IndicatorData().iIndicatorImgID != 0 &&
+					 iDataMgr->IndicatorData().iIndicatorMaskID != 0 && 
+					 iDataMgr->IndicatorData().iIndicatorTextImgID != 0 &&
+					 iDataMgr->IndicatorData().iIndicatorTextMaskID != 0 )
+					{
+					iWindow->SetIndiBubbleImageL( 
+							iDataMgr->IndicatorData().iIndicatorImgID,
+							iDataMgr->IndicatorData().iIndicatorMaskID,
+							iDataMgr->IndicatorData().iIndicatorTextImgID,
+							iDataMgr->IndicatorData().iIndicatorTextMaskID);
+					}
+            
+            iWindow->Icf()->ShowBubble( KEmptyString, 
+                    iWindow->Icf()->MsgBubbleCtrl()->Rect());
+            }
         }
     }