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_ */ |