diff -r dcf0eedfc1a3 -r d189ee25cf9d emailuis/nmailui/inc/nmviewerview.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/emailuis/nmailui/inc/nmviewerview.h Tue Aug 31 15:04:17 2010 +0300 @@ -0,0 +1,142 @@ +/* + * Copyright (c) 2009-2010 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: + * + */ + +#ifndef NMVIEWERVIEW_H_ +#define NMVIEWERVIEW_H_ + +#include + +#include "nmbaseview.h" +#include "nmactionobserver.h" +#include "nmattachmentfetchobserver.h" + +class QWebPage; + +class HbWidget; +class HbMainWindow; +class HbScrollArea; + +class NmApplication; +class NmUiEngine; +class NmUiStartParam; +class NmMailViewerWK; +class NmMessage; +class NmViewerViewNetManager; +class NmViewerHeader; +class NmMailViewerWK; +class NmUiDocumentLoader; +class NmOperation; +class HbProgressDialog; +class NmAttachmentListWidget; +class NmAttachmentManager; +class HbMessageBox; +class NmMessagePart; + +class NmViewerView : public NmBaseView, public NmActionObserver, public NmAttachmentFetchObserver +{ + Q_OBJECT +public: + explicit NmViewerView( + NmApplication &application, + NmUiStartParam* startParam, + NmUiEngine &uiEngine, + HbMainWindow *mainWindow, + NmAttachmentManager &attaManager, + bool toolbar = false, + QGraphicsItem *parent = NULL); + ~NmViewerView(); + void reloadViewContents(NmUiStartParam* startParam); + NmUiViewId nmailViewId() const; + NmMailViewerWK* webView(); + NmMessage* message(); + void viewReady(); + void aboutToExitView(); + +signals: + void progressValueChanged(int index, int value); + +public slots: + void orientationChanged(Qt::Orientation orientation); + void adjustViewDimensions(); + void linkClicked(const QUrl& link); + void contentScrollPositionChanged(const QPointF &newPosition); + void fetchMessage(); + void openAttachment(int index); + void createOptionsMenu(); + +private slots: + void setMessageData(); + void messageFetched(int result); + void waitNoteCancelled(); + void webFrameLoaded(bool loaded); + void scaleWebViewWhenLoading(const QSize &size); + void scaleWebViewWhenLoaded(); + void messageDeleted(const NmId &mailboxId, const NmId &folderId, const NmId &messageId); + +public: // From NmActionObserver + void handleActionCommand(NmActionResponse &menuResponse); + +public: // From NmAttachmentFetchObserver + void progressChanged(int value); + void fetchCompleted(int result); + +private: + void deleteMessage(); + void loadMessage(); + void loadViewLayout(); + QString formatMessage(); + QString formatHtmlMessage(NmMessagePart *html); + QString formatPlainTextMessage(NmMessagePart *plain); + bool eventOnTopOfHeaderArea(QGraphicsSceneMouseEvent *event); + void changeMessageReadStatus(bool read); + void setMailboxName(); + void createToolBar(); + void setAttachmentList(); + void createAndShowWaitDialog(); + +private: + NmApplication &mApplication; + NmUiEngine &mUiEngine; + HbMainWindow *mMainWindow; // Not owned + NmAttachmentManager &mAttaManager; + bool mToolbarEnabled; // is toolbar or options menu in use + NmMessage* mMessage; // Owned + HbScrollArea *mScrollArea; // Not owned + HbWidget *mViewerContent; // Not owned + NmMailViewerWK *mWebView; // Not owned + NmViewerHeader *mHeaderWidget; // Not owned + NmAttachmentListWidget *mAttaListWidget; // Not owned + QPointF mHeaderStartScenePos; + QPointer mMessageFetchingOperation; // Not owned + QPointF mLatestScrollPos; + bool mDisplayingPlainText; + QObjectList mWidgetList; + NmUiDocumentLoader *mDocumentLoader; // Owned + HbWidget *mScrollAreaContents; // Not owned + QSize mScreenSize; + HbProgressDialog *mWaitDialog; // Owned + bool webFrameloadingCompleted; + QSize mLatestLoadingSize; + QList mAttaIdList; + int mAttaIndexUnderFetch; + NmAttachmentListWidget *mAttaWidget; // Not owned + bool mViewReady; + bool mWaitNoteCancelled; + HbMessageBox *mErrorNote; // Owned +}; + +#endif /* NMVIEWERVIEW_H_ */