textinput/peninputarc/src/peninputlayoutcontrol/peninputlayoutmultilineicfeditor.cpp
branchRCL_3
changeset 11 c8fb4cf7b3ae
parent 9 e6a39382bb9c
child 12 5e18d8c489d6
--- 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();
             }
         }
     }