emailuis/emailui/inc/FreestyleMessageHeaderURLEventHandler.h
branchRCL_3
changeset 23 dcf0eedfc1a3
parent 4 e7aa27f58ae1
--- a/emailuis/emailui/inc/FreestyleMessageHeaderURLEventHandler.h	Thu Jul 15 18:19:25 2010 +0300
+++ b/emailuis/emailui/inc/FreestyleMessageHeaderURLEventHandler.h	Thu Aug 19 09:38:05 2010 +0300
@@ -70,10 +70,13 @@
 private:
     const TAttachmentData& FindAttachmentL( const CFreestyleMessageHeaderURL& aAttachmentUrl );
     void LaunchAttachmentMenuL( const TAttachmentData& aAttachment );
+    TBool LaunchAttachmentMenuHWKeyL( const TAttachmentData& aAttachment );
     void HandAttachmentActionMenuCommandL( TActionMenuCustomItemId aSelectedActionMenuItem,
                                            const TAttachmentData& aAttachment );    
     void LaunchEmailAddressMenuL( );
+    TBool LaunchEmailAddressMenuHWKeyL();
     void LaunchWebAddressMenuL( );
+    TBool LaunchWebAddressMenuHWKeyL( );    
     
 private:
     CFreestyleMessageHeaderURL*     iMessageHeaderURL;
@@ -90,4 +93,49 @@
     CFSHtmlReloadAO*                iHTMLReloadAO; 
     };
 
+
+/******************************************************************************
+ * class TPopupMenuItem
+ ******************************************************************************/
+
+NONSHARABLE_CLASS (TPopupMenuItem) 
+    {
+public:        
+    TInt iCommandId;
+    TBuf<KMaxName> iText;
+    TBool iDimmed;
+    TInt iListIndex;
+    };
+
+
+/******************************************************************************
+ * class CFreestylePopupMenu
+ ******************************************************************************/
+
+NONSHARABLE_CLASS  (CFreestylePopupMenu) : public CBase 
+    {
+public:
+    static CFreestylePopupMenu* NewL( TInt aResourceId ); 
+    ~CFreestylePopupMenu();
+    
+private:
+    CFreestylePopupMenu( TInt aResourceId );
+    void ConstructL();
+    
+public:
+    TInt LaunchPopupMenuL();  // returns command id or KErrCancel
+    void SetDimmed( TInt aCommandId, TBool aDimmed );
+    
+private:
+    TInt CommandIdFromListIndex( TInt aListIndex );
+    void ConstructFromResourceL( TResourceReader& aReader );
+    void StrCopy( TDes& aTarget, const TDesC& aSource );
+    
+private:
+    TInt iResourceId;
+    
+    RArray<TPopupMenuItem> iItemList;
+    };
+
+
 #endif //__CFREESTYLE_MESSAGE_HEADER_EVENTHANDLER_URL_H__