meetingrequest/mrgui/mrfieldbuildercommon/src/cesmrrichtextviewer.cpp
branchRCL_3
changeset 22 d620048b4810
parent 18 6b8f3b30d0ec
--- a/meetingrequest/mrgui/mrfieldbuildercommon/src/cesmrrichtextviewer.cpp	Mon Jun 21 15:20:54 2010 +0300
+++ b/meetingrequest/mrgui/mrfieldbuildercommon/src/cesmrrichtextviewer.cpp	Thu Jul 15 18:19:25 2010 +0300
@@ -12,7 +12,7 @@
 * Contributors:
 *
 *  Description : CEikRichTextEditor based Rich Text viewer
-*  Version     : %version: e002sa32#42.1.2 %
+*  Version     : %version: e002sa33#45.3 %
 *
 */
 
@@ -333,7 +333,6 @@
         switch ( aPointerEvent.iType )
             {
             case TPointerEvent::EButton1Down:
-            case TPointerEvent::EDrag:
                 {
                 RRegion linkArea;
                 CleanupClosePushL( linkArea );
@@ -352,6 +351,7 @@
                             {
                             iCntMenuHdlr->Reset();
                             iCntMenuHdlr->SetContactMenuObserver( this );
+
                             HighlightLinkL( *link );
                             DrawDeferred();
                             }
@@ -395,7 +395,7 @@
                 }
             }
 
-        if ( !linkFound )
+        if ( !linkFound && TPointerEvent::EDrag != aPointerEvent.iType )
             {
             // Tap on plain text
             TextView()->ClearSelectionL();
@@ -924,10 +924,18 @@
                 {
                 type = CESMRRichTextLink::ETypePhoneNumber;
 
-                // Remove unsupported characters from phone number
+                // patch the symbian level error , 10.120.22.141 this kind of url should not 
+                // be recognized to be a phone number.
                 TPtr phonePtr = valueBuf->Des ( );
-                CommonPhoneParser::ParsePhoneNumber (phonePtr,
-                        CommonPhoneParser::EContactCardNumber );
+                if( phonePtr.Find(_L(".")) == KErrNotFound )
+                	{
+                     CommonPhoneParser::ParsePhoneNumber (phonePtr,
+                       CommonPhoneParser::EContactCardNumber );
+                	}
+                else
+                	{
+                    type = (CESMRRichTextLink::TType) -1 ;
+                    }
                 break;
                 }
             case CFindItemEngine::EFindItemSearchURLBin:
@@ -1106,12 +1114,12 @@
     if ( iOpenActionMenu )
         {
         // Activate link as actions have been discovered
+        iOpenActionMenu = EFalse;
         TRAP_IGNORE(  LinkSelectedL() );
         }
 
     // Reset menu observer
-    iCntMenuHdlr->SetContactMenuObserver( NULL );
-    iOpenActionMenu = EFalse;
+    iCntMenuHdlr->SetContactMenuObserver( NULL );    
     }
 
 // -----------------------------------------------------------------------------
@@ -1121,8 +1129,11 @@
 void CESMRRichTextViewer::ShowContextMenuL()
     {
     FUNC_LOG;
-    iOpenActionMenu = EFalse;
-    ProcessCommandL( EAknSoftkeyContextOptions );
+    
+    if ( !iOpenActionMenu )
+        {
+        ProcessCommandL( EAknSoftkeyContextOptions );
+        }
     }
 
 // -----------------------------------------------------------------------------
@@ -1154,15 +1165,8 @@
                 CFont::TMeasureTextInput::EFVisualOrder );
 
         TPoint tl( posInfo.iEdge );
+        tl.iY -= iFont->FontMaxAscent();
 
-        if ( AknLayoutUtils::LayoutMirrored() )
-            {
-            // move top left x to end of text
-			// will be handled further, if all mr fields need to be changed the order from right to left.
-            //tl.iX -= textWidth;
-            }
-
-        tl.iY -= iFont->FontMaxAscent();
         TPoint br( tl.iX + textWidth, tl.iY + iFont->FontMaxHeight() );
 
         TRect rect( Rect() );