diff -r efd4f1afd43e -r d620048b4810 meetingrequest/mrgui/mrfieldbuildercommon/src/cesmrrichtextviewer.cpp --- 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() );