diff -r a3a1ae9acec6 -r da5135c61bad meetingrequest/mrgui/mrfieldbuilderplugin/inc/cesmrviewerdescriptionfield.h --- a/meetingrequest/mrgui/mrfieldbuilderplugin/inc/cesmrviewerdescriptionfield.h Mon Mar 15 12:39:10 2010 +0200 +++ b/meetingrequest/mrgui/mrfieldbuilderplugin/inc/cesmrviewerdescriptionfield.h Wed Mar 31 21:08:33 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of "Eclipse Public License v1.0" @@ -21,17 +21,19 @@ #include #include #include "cesmrfield.h" +#include "cesmrrichtextviewer.h" -class CESMRRichTextViewer; class CESMRLocationPlugin; class CESMRFeatureSettings; +class CESMRUrlParserPlugin; /** * Description field is a custom control * that shows the description of a calendar event. */ NONSHARABLE_CLASS( CESMRViewerDescriptionField ): public CESMRField, - public MEikEdwinSizeObserver + public MEikEdwinSizeObserver, + public MESMRRichTextObserver { public: @@ -48,10 +50,11 @@ public: // From CESMRField void InternalizeL( MESMRCalEntry& aEntry ); void InitializeL(); - void GetMinimumVisibleVerticalArea( TInt& aUpper, TInt& aLower ); + void GetCursorLineVerticalPos( TInt& aUpper, TInt& aLower ); void ListObserverSet(); - void ExecuteGenericCommandL( TInt aCommand ); + TBool ExecuteGenericCommandL( TInt aCommand ); void SetOutlineFocusL( TBool aFocus ); + void HandleLongtapEventL( const TPoint& aPosition ); public: // From CCoeControl TKeyResponse OfferKeyEventL(const TKeyEvent& aEvent, TEventCode aType ); @@ -65,7 +68,10 @@ // From MEikEdwinSizeObserver TBool HandleEdwinSizeEventL( CEikEdwin* aEdwin, TEdwinSizeEvent aType, TSize aSize ); - + +protected: + TBool HandleRichTextLinkSelection( const CESMRRichTextLink* aLink ); + private: // Implementation CESMRViewerDescriptionField(); void ConstructL(); @@ -73,37 +79,41 @@ void SetShowOnMapLinkMiddleSoftKeyL(); CESMRFeatureSettings& FeaturesL(); CESMRLocationPlugin& LocationPluginL(); + void ShowLocationOnMapL( const CESMRRichTextLink& aLink ); + void StoreGeoValueL( CCalEntry& aCalEntry, + const TDesC& aLocationUrl ); + CESMRUrlParserPlugin& UrlParserL(); private: - + /** * Field size. */ TSize iSize; - + /** * Rich text viewer. * Own. */ CESMRRichTextViewer* iRichTextViewer; - + /** * Location plugin. * Own. */ CESMRLocationPlugin* iLocationPlugin; - + /** * Feature settings. * Own. */ CESMRFeatureSettings* iFeatures; - + /** - * Location title. + * Location URL parser. * Own. */ - HBufC* iLocation; + CESMRUrlParserPlugin* iUrlParser; }; #endif /* CESMRVIEWERDESCRIPTIONFIELD_H */