--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/email/mail/ViewerSrc/MsgMailViewerAttachmentsDlg.h Thu Dec 17 08:44:11 2009 +0200
@@ -0,0 +1,146 @@
+/*
+* Copyright (c) 2002 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"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: This dialog is used for Attachment handling.
+*
+*/
+
+
+#ifndef MSGMAILVIEWERATTACHMENTS_H
+#define MSGMAILVIEWERATTACHMENTS_H
+
+// INCLUDES
+#include <MsgViewAttachmentsDialog.h>
+#include <msvapi.h> // MMsvSessionObserver
+#include "MMsgMailAttachmentDialogObserver.h"
+
+// FORWARD DECLARATIONS
+class CMsgMailViewerDocument;
+
+// CLASS DECLARATION
+
+/**
+* Dialog for attachments.
+* Mail attachments are handled from this dialog.
+*/
+class CMsgMailViewerAttachmentsDlg :public CMsgViewAttachmentsDialog,
+ public MMsvSessionObserver
+ {
+ public: // Constructors and destructor
+ /**
+ * NewL
+ * @param aTitle Dialog title text
+ * @param aAttachmentModel a reference to attachment model
+ * @param aDocument a reference to app document.
+ */
+ static CMsgMailViewerAttachmentsDlg* NewL(
+ TDesC& aTitle,
+ CMsgAttachmentModel& aAttachmentModel,
+ CMsgMailViewerDocument& aDocument,
+ MMsgMailAttachmentDialogObserver& aDlgObserver
+ );
+
+ /**
+ * Destructor
+ */
+ ~CMsgMailViewerAttachmentsDlg();
+
+ /**
+ * NotifySizeChanged, calls SizeChanged() method of
+ * dialog's listbox
+ *
+ */
+ void NotifySizeChanged();
+
+ /**
+ * Updates all attachments fetched flags
+ * in attachment model.
+ *
+ */
+ void UpdateAttachmentsFetchFlags();
+
+ /**
+ * From MEikListBoxObserverClass
+ */
+ void HandleListBoxEventL(
+ CEikListBox* aListBox, TListBoxEvent aEventType );
+
+ /**
+ * Updates list of attatchments if attatchment
+ * dialog is opened before all attatchments
+ * are loaded.
+ */
+ void UpdateAttatchmentListL();
+
+ private: // Implementation
+ void UpdateChangedAttachmentsL(
+ const CMsvEntrySelection& aChangedEntries );
+ void FetchRemoteAttachmentL( TInt aIndex );
+ void UpdateModelInfoL( TInt aIndex );
+ void OpenAttachmentL();
+ void DoFetchOrOpenL( TInt aIndex );
+ void DoProcessCommandL( TInt aCommandId );
+ void DoSendViaL();
+ void PurgeAttachmentL( TInt aIndex );
+ TBool CanRemoveAttachment( CMsgAttachmentInfo& aInfo );
+ void SetMiddleSoftKeyLabelL(
+ TInt aResourceId,
+ TInt aCommandId );
+ void UpdateMiddleSoftKeyL( TInt aIndex );
+
+
+ private: // Constructor
+ CMsgMailViewerAttachmentsDlg(
+ TDesC& aTitle,
+ CMsgAttachmentModel& aAttachmentModel,
+ CMsgMailViewerDocument& aDocument,
+ MMsgMailAttachmentDialogObserver& aDlgObserver );
+ /**
+ * 2nd phase constructor
+ */
+ void ConstructL();
+
+ private: // Functions from base classes
+ /// from CAknDialog
+ void DynInitMenuPaneL(TInt aMenuId, CEikMenuPane* aMenuPane);
+ /// From CCoeControl
+ TKeyResponse OfferKeyEventL(
+ const TKeyEvent& aKeyEvent,TEventCode aType);
+ /// from CAknDialog
+ void ProcessCommandL(TInt aCommandId);
+ /// From CCoeControl
+ void GetHelpContext( TCoeHelpContext& aContext) const;
+ /// From MMsvSessionObserver
+ void HandleSessionEventL(TMsvSessionEvent aEvent,
+ TAny* aArg1, TAny* aArg2, TAny* aArg3);
+ //From CEikDialog
+ TBool OkToExitL(TInt aButtonId);
+
+ private: // Data
+ /**
+ * A reference to the application Document.
+ */
+ CMsgMailViewerDocument& iDocument;
+
+ /// Internal status flags
+ TInt iFlags;
+
+ /**
+ * Ref: application UI object.
+ */
+ MMsgMailAttachmentDialogObserver& iDlgObserver;
+ };
+
+#endif // MSGMAILVIEWATTACHMENTS_H
+
+// End of File