diff -r f5a1e66df979 -r a47de9135b21 textinput/peninputgenericitut/src/peninputgenericitutwindowmanager.cpp --- 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(Control(ECtrlIdIndicator))) { - static_cast( - Control(ECtrlIdIndicator))->SetDimmed(EFalse); - } - else - { - static_cast( - Control(ECtrlIdIndicator))->SetDimmed(ETrue); + if (*data) + { + static_cast( + Control(ECtrlIdIndicator))->SetDimmed(EFalse); + } + else + { + static_cast( + 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()); + } } }