emailuis/nmailui/inc/nmeditorcontent.h
changeset 54 997a02608b3a
parent 53 bf7eb7911fc5
child 59 16ed8d08d0b1
equal deleted inserted replaced
53:bf7eb7911fc5 54:997a02608b3a
    19 #define NMEDITORCONTENT_H_
    19 #define NMEDITORCONTENT_H_
    20 
    20 
    21 #include <hbwidget.h>
    21 #include <hbwidget.h>
    22 #include "nmuiviewids.h"
    22 #include "nmuiviewids.h"
    23 
    23 
    24 enum MessageBodyType { PlainText, HTMLText };
       
    25 
       
    26 class HbAnchorLayout;
    24 class HbAnchorLayout;
    27 class HbTextEdit;
    25 class HbTextEdit;
    28 class HbDocumentLoader;
    26 class HbDocumentLoader;
    29 class NmBaseViewScrollArea;
    27 class NmBaseViewScrollArea;
    30 class NmEditorView;
       
    31 class NmMessage;
    28 class NmMessage;
    32 class NmMessageEnvelope;
    29 class NmMessageEnvelope;
    33 class NmEditorHeader;
    30 class NmEditorHeader;
    34 class NmEditorTextEdit;
    31 class NmEditorTextEdit;
    35 class QNetworkAccessManager;
    32 class QNetworkAccessManager;
       
    33 class NmApplication;
    36 
    34 
    37 class NmEditorContent : public HbWidget
    35 class NmEditorContent : public QObject
    38 {
    36 {
    39 Q_OBJECT
    37 Q_OBJECT
    40 
    38 
    41 public:
    39 public:
    42     NmEditorContent(QGraphicsItem *parent,
    40     NmEditorContent(QObject *parent,
    43                     NmEditorView *parentView,
       
    44                     HbDocumentLoader *documentLoader,
    41                     HbDocumentLoader *documentLoader,
    45                     QNetworkAccessManager &manager);
    42                     QNetworkAccessManager &manager,
       
    43                     NmApplication &application);
       
    44 
    46     virtual ~NmEditorContent();
    45     virtual ~NmEditorContent();
    47 
    46 
    48     void setMessageData(const NmMessage &originalMessage,
    47     void setMessageData(const NmMessage &originalMessage,
    49                         bool createReplyHeader = true);
    48                         NmUiEditorStartMode &editorStartMode);
       
    49 
    50     NmEditorTextEdit* editor() const;
    50     NmEditorTextEdit* editor() const;
       
    51 
    51     NmEditorHeader* header() const;
    52     NmEditorHeader* header() const;
    52 
    53     
    53 private:
    54 private:
    54     void createConnections();
    55     void createConnections();
       
    56     void removeEmbeddedImages(QString &bodyContent);
    55 
    57 
    56 signals:
    58 signals:
    57     void setPlainText(const QString&);
    59     void setPlainText(const QString&);
       
    60 
    58     void setHtml(const QString&);
    61     void setHtml(const QString&);
    59 
    62 
    60 public slots:
    63 public slots:
    61     void setEditorContentHeight();
    64     void setEditorContentHeight();
       
    65     void ensureCursorVisibility();
    62 
    66 
    63 private:
    67 private:
    64     NmEditorHeader *mHeaderWidget;   // Owned
    68     enum MessageBodyType { NmPlainText, NmHTMLText };
    65     NmEditorView *mParentView;       // Not owned
    69 
    66     HbAnchorLayout *mEditorLayout;   // Not owned
    70 private:
       
    71     NmEditorHeader *mHeader; // Not owned
    67     MessageBodyType mMessageBodyType;
    72     MessageBodyType mMessageBodyType;
    68     NmEditorTextEdit *mEditorWidget; // Not owned
    73     NmEditorTextEdit *mEditorWidget; // Not owned
    69     NmBaseViewScrollArea *mBackgroundScrollArea;
    74     NmBaseViewScrollArea *mScrollArea; // Not owned
       
    75     HbWidget *mScrollAreaContents; // Not owned
       
    76     QPointF mScrollPosition;
       
    77     NmApplication &mApplication;
    70 };
    78 };
    71 
    79 
    72 #endif /* NMEDITORCONTENT_H_ */
    80 #endif /* NMEDITORCONTENT_H_ */