diff -r e1b6206813b4 -r f5907b1a1053 emailuis/emailui/inc/FreestyleEmailUiMailListVisualiser.h --- a/emailuis/emailui/inc/FreestyleEmailUiMailListVisualiser.h Fri Feb 19 22:37:30 2010 +0200 +++ b/emailuis/emailui/inc/FreestyleEmailUiMailListVisualiser.h Fri Mar 12 15:41:14 2010 +0200 @@ -31,6 +31,9 @@ // #include "FSEmailBuildFlags.h" +#include +#include + // INTERNAL INCLUDES #include "FreestyleEmailUiViewBase.h" #include "FreestyleEmailUiListVisualiser.h" @@ -38,6 +41,7 @@ #include "FreestyleEmailUiControlBarCallback.h" #include "FreestyleEmailUiUtilities.h" #include "FreestyleEmailUiContactHandlerObserver.h" +#include "cmailboxstateext.h" // FORWARD DECLARATIONS class CAlfTextVisual; @@ -78,6 +82,7 @@ class CEUiEmailListTouchManager; class MFSMailIterator; class CAknStylusPopUpMenu; +template struct TDeleteTask; /** * CMailListModelUpdater @@ -258,7 +263,8 @@ public MFSEmailUiSortListCallback, public MFsTreeListObserver, public MFSEmailUiContactHandlerObserver, - public CMailListModelUpdater::MObserver + public CMailListModelUpdater::MObserver, + public MEmailMailboxState // { friend class CMailListUpdater; @@ -372,7 +378,7 @@ TRect SortButtonRect(); // Update theme colors - void UpdateTheme(); + void UpdateTheme(const TBool aSystemUpdate = ETrue); // Navigation functions, used mainly from viewer TBool IsNextMsgAvailable( TFSMailMsgId aCurrentMsgId, TFSMailMsgId& aFoundNextMsgId, TFSMailMsgId& aFoundNextMsgFolder ) const; @@ -421,6 +427,11 @@ */ void NotifyDateChangedL(); + // Sets aActiveMailboxId and aActiveFolderId from iMailFolder if available + TInt GetActiveFolderId(TFSMailMsgId& aActiveMailboxId, TFSMailMsgId& aActiveFolderId) const; + + // Creates CMailboxStateExtension with this class set as dataprovider + void CreateExtensionL(); private: // from /** @@ -536,7 +547,12 @@ // Message deletion internal functions void DeleteFocusedMessageL(); void DeleteMarkedMessagesL(); - static TInt DoDeleteMarkedMessages( TAny* aSelfPtr ); + void DeleteMessagesUnderNodeL( const TFsTreeItemId aNodeId ); + void ConfirmAndStartDeleteTaskL( TDeleteTask* aTask ); + TBool ConfirmDeleteL( const TInt aItemCount, const TFsTreeItemId aItemId ) const; + static TInt DoExecuteDeleteTask( TAny* aSelfPtr ); + void HandleDeleteTaskL( const RFsTreeItemIdList& aEntries ); + void HandleDeleteTaskLeavingCodeL( const RFsTreeItemIdList& aEntries ); // Helper functions to access model data TFSMailMsgId MsgIdFromIndex( TInt aItemIdx ) const; @@ -703,6 +719,8 @@ private: // Private objects + // Extension to support Ozone-plugin's check for active mailbox + CMailboxStateExtension* iExtension; // Reference to Alf environment CAlfEnv& iEnv; // Mail list updater timer @@ -780,6 +798,7 @@ TBool iShowReplyAll; // Was focus visible in the ListView. + TDeleteTask* iDeleteTask; TBool iLastFocus; //used to prevent Call application execution (on keyup of call button) when call to contact required TBool iConsumeStdKeyYes_KeyUp; @@ -787,6 +806,8 @@ TBool iForceRefresh; // true if message viewer/editor is open to disable background list updates TBool iMailOpened; + // tactile feed back -- not owned + MTouchFeedback* iTouchFeedBack; };