emailuis/emailui/inc/FreestyleMessageHeaderURLEventHandler.h
changeset 2 5253a20d2a1e
parent 0 8466d47a6819
child 4 e7aa27f58ae1
equal deleted inserted replaced
1:12c456ceeff2 2:5253a20d2a1e
    25 class CFreestyleEmailUiAppUi;
    25 class CFreestyleEmailUiAppUi;
    26 class CFSMailMessage;
    26 class CFSMailMessage;
    27 class CFsEmailUiHtmlViewerView;
    27 class CFsEmailUiHtmlViewerView;
    28 class CFreestyleMessageHeaderURL;
    28 class CFreestyleMessageHeaderURL;
    29 class TAttachmentData;
    29 class TAttachmentData;
       
    30 class CAknStylusPopUpMenu;
       
    31 class CFSHtmlReloadAO;
    30 
    32 
    31 enum TLinkType
    33 enum TLinkType
    32     {
    34     {
    33     EMailHeaderTo,
    35     EMailHeaderTo,
    34     EMailHeaderCC,
    36     EMailHeaderCC,
    41 public:
    43 public:
    42     virtual TBool HandleEventL( const TDesC& aUri ) = 0;
    44     virtual TBool HandleEventL( const TDesC& aUri ) = 0;
    43     };
    45     };
    44 
    46 
    45 class CFreestyleMessageHeaderURLEventHandler : public CBase, 
    47 class CFreestyleMessageHeaderURLEventHandler : public CBase, 
    46                                                public MFreestyleMessageViewEventHandler
    48                                                public MFreestyleMessageViewEventHandler,
       
    49                                                public MEikMenuObserver
    47     {
    50     {
    48 public:
    51 public:
    49     IMPORT_C static CFreestyleMessageHeaderURLEventHandler * NewL( 
    52     IMPORT_C static CFreestyleMessageHeaderURLEventHandler * NewL( 
    50             CFreestyleEmailUiAppUi& aAppUi, 
    53             CFreestyleEmailUiAppUi& aAppUi, 
    51             CFsEmailUiHtmlViewerView& aView );
    54             CFsEmailUiHtmlViewerView& aView );
    52     ~CFreestyleMessageHeaderURLEventHandler ();
    55     ~CFreestyleMessageHeaderURLEventHandler ();
    53     
    56     
    54     IMPORT_C TBool HandleEventL( const TDesC& aUri );
    57     IMPORT_C TBool HandleEventL( const TDesC& aUri );
       
    58     void DismissMenuAndReload();
       
    59     TBool IsMenuVisible();
       
    60     
       
    61 public: //From MEikMenuObserver
       
    62 	void ProcessCommandL(TInt aCommandId);
       
    63 	void SetEmphasis(CCoeControl* /*aMenuControl*/,TBool /*aEmphasis*/);
    55     
    64     
    56 protected:
    65 protected:
    57     CFreestyleMessageHeaderURLEventHandler( CFreestyleEmailUiAppUi& aAppUi, 
    66     CFreestyleMessageHeaderURLEventHandler( CFreestyleEmailUiAppUi& aAppUi, 
    58                                             CFsEmailUiHtmlViewerView& aView );
    67                                             CFsEmailUiHtmlViewerView& aView );
    59     void ConstructL();
    68     void ConstructL();
    60     
    69     
    61 private:
    70 private:
    62     const TAttachmentData& FindAttachmentL( const CFreestyleMessageHeaderURL& aAttachmentUrl );
    71     const TAttachmentData& FindAttachmentL( const CFreestyleMessageHeaderURL& aAttachmentUrl );
    63     void LaunchAttachmentMenuL( const TAttachmentData& aAttachment );
    72     void LaunchAttachmentMenuL( const TAttachmentData& aAttachment );
    64     void HandAttachmentActionMenuCommandL( TActionMenuCustomItemId aSelectedActionMenuItem,
    73     void HandAttachmentActionMenuCommandL( TActionMenuCustomItemId aSelectedActionMenuItem,
    65                                            const TAttachmentData& aAttachment );
    74                                            const TAttachmentData& aAttachment );    
    66     
    75     void LaunchEmailAddressMenuL( );
    67     void LaunchEmailAddressMenuL( const CFreestyleMessageHeaderURL& iMessageHeaderURL );    
    76     void LaunchWebAddressMenu( );
    68     void HandleEmailAddressActionMenuCommandL( TActionMenuCustomItemId aSelectedActionMenuItem, 
       
    69                                                const CFreestyleMessageHeaderURL& iMessageHeaderURL );
       
    70     
       
    71     void SaveEmailAsContactL( const TDesC& aEmailAddress );
       
    72     
    77     
    73 private:
    78 private:
    74     CFreestyleMessageHeaderURL*     iMessageHeaderURL;
    79     CFreestyleMessageHeaderURL*     iMessageHeaderURL;
    75     CFreestyleEmailUiAppUi&         iAppUi;
    80     CFreestyleEmailUiAppUi&         iAppUi;
    76     CFsEmailUiHtmlViewerView&       iView;
    81     CFsEmailUiHtmlViewerView&       iView;
    77     CFSMailMessage*                 iMailMessage;
    82     CFSMailMessage*                 iMailMessage;
    78     CFSEmailUiAttachmentsListModel* iAttachmentsListModel;
    83     CFSEmailUiAttachmentsListModel* iAttachmentsListModel;
       
    84     CAknStylusPopUpMenu*			iEmailAddressStylusPopup;  
       
    85     CAknStylusPopUpMenu*			iAttachmentStylusPopup;
       
    86     CAknStylusPopUpMenu*			iWebAddressStylusPopup;
       
    87     HBufC* 							iUrl;
       
    88     TBool                          iMenuVisible;
       
    89     TBool                           iPendingReload;
       
    90     CFSHtmlReloadAO*                iHTMLReloadAO; 
    79     };
    91     };
    80 
    92 
    81 #endif //__CFREESTYLE_MESSAGE_HEADER_EVENTHANDLER_URL_H__
    93 #endif //__CFREESTYLE_MESSAGE_HEADER_EVENTHANDLER_URL_H__