diff -r e6a39382bb9c -r c8fb4cf7b3ae textinput/peninputarc/src/peninputlayoutcontrol/peninputlayoutmultilineicfeditor.cpp --- a/textinput/peninputarc/src/peninputlayoutcontrol/peninputlayoutmultilineicfeditor.cpp Tue Apr 27 16:59:43 2010 +0300 +++ b/textinput/peninputarc/src/peninputlayoutcontrol/peninputlayoutmultilineicfeditor.cpp Tue May 11 16:31:42 2010 +0300 @@ -670,7 +670,8 @@ AdjustSelectionL( icfdata.iCurSel ); RecalcualteTextPositionL(); - SetMsgBubbleRect(); + //SetMsgBubbleRect(); + SetMsgBubbleRectAccordingToLanguage(); Draw(); } break; @@ -826,7 +827,8 @@ } else { - SetMsgBubbleRect(); + //SetMsgBubbleRect(); + SetMsgBubbleRectAccordingToLanguage(); SetInfoBubbleRect(); } } @@ -1193,7 +1195,7 @@ TInt baseLine = iFont->AscentInPixels()/2 + rect.Height()/2; TRect clipRect = - TRect( TPoint(Rect().iTl.iX, rect.iTl.iY), TPoint( Rect().iBr.iX, rect.iBr.iY)); + TRect( TPoint(Rect().iTl.iX + 1, rect.iTl.iY), TPoint( Rect().iBr.iX - 1, rect.iBr.iY)); gc->SetClippingRect( clipRect ); gc->Clear( clipRect ); @@ -1313,7 +1315,9 @@ } TRAP_IGNORE(RecalcualteTextPositionL()); - SetMsgBubbleRect(); + + //SetMsgBubbleRect(); + SetMsgBubbleRectAccordingToLanguage(); } void CFepLayoutMultiLineIcfEditor::ResetViewHeightL() @@ -1365,6 +1369,31 @@ iTextView->SetViewRect(iViewRect); } +void CFepLayoutMultiLineIcfEditor::SetMsgBubbleRectAccordingToLanguage() + { + if ( iPreLanguageID == ELangPrcChinese || + iPreLanguageID == ELangHongKongChinese || + iPreLanguageID == ELangTaiwanChinese || + iPreLanguageID == ELangKorean ) + { + SetMsgBubbleRect(); + return; + } + else + { + if(( !iMsgBubble->IsShowing() && !iHideBubbleTemp ) || + iLineMaxCount < 1 || iCursorSel.iCursorPos < 0 ) + { + return; + } + + iMsgBubble->Popup( iMsgBubble->Rect()); + iHideBubbleTemp = EFalse; + + return; + } + } + void CFepLayoutMultiLineIcfEditor::SetMsgBubbleRect() { if( ( !iMsgBubble->IsShowing() && !iHideBubbleTemp ) || @@ -1741,7 +1770,8 @@ iTextView->HandleGlobalChangeNoRedrawL(); iTextView->SetSelectionL( iTextView->Selection() ); RecalcualteTextPositionL(); - SetMsgBubbleRect(); + //SetMsgBubbleRect(); + SetMsgBubbleRectAccordingToLanguage(); Draw(); } @@ -2680,7 +2710,8 @@ { TRAP_IGNORE(iMsgBubble->SetTextL(aText)); iHideBubbleTemp = ETrue; - SetMsgBubbleRect(); + //SetMsgBubbleRect(); + SetMsgBubbleRectAccordingToLanguage(); } void CFepLayoutMultiLineIcfEditor::ShowByteWarningBubble(const TDesC& aInfo) @@ -2780,7 +2811,8 @@ { iTextView->SetViewLineAtTopL(( lineIndex + 1 ) - ( iLineMaxCount - 1 )); RecalcualteTextPositionL(); - SetMsgBubbleRect(); + //SetMsgBubbleRect(); + SetMsgBubbleRectAccordingToLanguage(); } } @@ -2799,7 +2831,8 @@ lineCount - pageCount + 1 < 1 ? 1 : lineCount - pageCount + 1 ); RecalcualteTextPositionL(); - SetMsgBubbleRect(); + //SetMsgBubbleRect(); + SetMsgBubbleRectAccordingToLanguage(); } } }