summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSandro Knauß <sknauss@kde.org>2016-06-06 15:29:27 +0200
committerSandro Knauß <sknauss@kde.org>2016-06-06 15:29:27 +0200
commitdf211fdd68501e943c8616347c69aa427613a07b (patch)
tree369ae1a7fadc35399053085472b1eac10565fa3a
parent0b41a55ffce06c47465b0c0997349747dc8be289 (diff)
downloadkube-df211fdd68501e943c8616347c69aa427613a07b.tar.gz
kube-df211fdd68501e943c8616347c69aa427613a07b.zip
adopt new mimetreeparser
-rw-r--r--components/package/contents/ui/MailViewer.qml2
-rw-r--r--framework/domain/messageparser.cpp27
-rw-r--r--framework/domain/objecttreesource.cpp10
-rw-r--r--framework/domain/objecttreesource.h5
4 files changed, 24 insertions, 20 deletions
diff --git a/components/package/contents/ui/MailViewer.qml b/components/package/contents/ui/MailViewer.qml
index 825d4aab..124aa05b 100644
--- a/components/package/contents/ui/MailViewer.qml
+++ b/components/package/contents/ui/MailViewer.qml
@@ -32,5 +32,5 @@ Item {
32 id: messageParser 32 id: messageParser
33 message: root.message 33 message: root.message
34 } 34 }
35 html: messageParser.html 35 html: "XXX"+messageParser.html
36} 36}
diff --git a/framework/domain/messageparser.cpp b/framework/domain/messageparser.cpp
index cdaf9db4..faf17a56 100644
--- a/framework/domain/messageparser.cpp
+++ b/framework/domain/messageparser.cpp
@@ -48,15 +48,15 @@ QHash<int, QByteArray> PartModel::roleNames() const
48 48
49QModelIndex PartModel::index(int row, int column, const QModelIndex &parent) const 49QModelIndex PartModel::index(int row, int column, const QModelIndex &parent) const
50{ 50{
51 // qDebug() << "index " << parent << row << column << mPartTree->messageParts().size(); 51 // qDebug() << "index " << parent << row << column << mPartTree->subParts().size();
52 if (!parent.isValid()) { 52 if (!parent.isValid()) {
53 if (row < mPartTree->messageParts().size()) { 53 if (row < mPartTree->subParts().size()) {
54 auto part = mPartTree->messageParts().at(row); 54 auto part = mPartTree->subParts().at(row);
55 return createIndex(row, column, part.data()); 55 return createIndex(row, column, part.data());
56 } 56 }
57 } else { 57 } else {
58 auto part = static_cast<MimeTreeParser::MessagePart*>(parent.internalPointer()); 58 auto part = static_cast<MimeTreeParser::MessagePart*>(parent.internalPointer());
59 auto subPart = part->messageParts().at(row); 59 auto subPart = part->subParts().at(row);
60 return createIndex(row, column, subPart.data()); 60 return createIndex(row, column, subPart.data());
61 } 61 }
62 return QModelIndex(); 62 return QModelIndex();
@@ -103,7 +103,7 @@ QModelIndex PartModel::parent(const QModelIndex &index) const
103 parentPart = mPartTree.data(); 103 parentPart = mPartTree.data();
104 } 104 }
105 int i = 0; 105 int i = 0;
106 for (const auto &p : parentPart->messageParts()) { 106 for (const auto &p : parentPart->subParts()) {
107 if (p.data() == part) { 107 if (p.data() == part) {
108 row = i; 108 row = i;
109 break; 109 break;
@@ -119,12 +119,12 @@ int PartModel::rowCount(const QModelIndex &parent) const
119{ 119{
120 // qDebug() << "Row count " << parent; 120 // qDebug() << "Row count " << parent;
121 if (!parent.isValid()) { 121 if (!parent.isValid()) {
122 // qDebug() << "Row count " << mPartTree->messageParts().size(); 122 // qDebug() << "Row count " << mPartTree->subParts().size();
123 return mPartTree->messageParts().size(); 123 return mPartTree->subParts().size();
124 } else { 124 } else {
125 auto part = static_cast<MimeTreeParser::MessagePart*>(parent.internalPointer()); 125 auto part = static_cast<MimeTreeParser::MessagePart*>(parent.internalPointer());
126 if (part) { 126 if (part) {
127 return part->messageParts().size(); 127 return part->subParts().size();
128 } 128 }
129 } 129 }
130 return 0; 130 return 0;
@@ -172,17 +172,12 @@ void MessageParser::setMessage(const QVariant &message)
172 ObjectTreeSource source(&htmlWriter, &cssHelper); 172 ObjectTreeSource source(&htmlWriter, &cssHelper);
173 MimeTreeParser::ObjectTreeParser otp(&source, mNodeHelper.get()); 173 MimeTreeParser::ObjectTreeParser otp(&source, mNodeHelper.get());
174 174
175 mPartTree = otp.parseToTree(msg.data()).dynamicCast<MimeTreeParser::MessagePart>(); 175 otp.parseObjectTree(msg.data());
176 mPartTree = otp.parsedPart().dynamicCast<MimeTreeParser::MessagePart>();
176 177
177 htmlWriter.begin(QString()); 178 htmlWriter.begin(QString());
178 htmlWriter.queue(cssHelper.htmlHead(false)); 179 htmlWriter.queue(cssHelper.htmlHead(false));
179 180
180 if (mPartTree) {
181 mPartTree->fix();
182 mPartTree->copyContentFrom();
183 mPartTree->html(false);
184 }
185
186 htmlWriter.queue(QStringLiteral("</body></html>")); 181 htmlWriter.queue(QStringLiteral("</body></html>"));
187 htmlWriter.end(); 182 htmlWriter.end();
188 183
@@ -194,7 +189,7 @@ void MessageParser::setMessage(const QVariant &message)
194QAbstractItemModel *MessageParser::partTree() const 189QAbstractItemModel *MessageParser::partTree() const
195{ 190{
196 qDebug() << "Getting partTree"; 191 qDebug() << "Getting partTree";
197 qDebug() << "Row count " << mPartTree->messageParts().size(); 192 qDebug() << "Row count " << mPartTree->subParts().size();
198 return new PartModel(mPartTree, mEmbeddedPartMap); 193 return new PartModel(mPartTree, mEmbeddedPartMap);
199} 194}
200 195
diff --git a/framework/domain/objecttreesource.cpp b/framework/domain/objecttreesource.cpp
index e5e3b9cc..19a216c9 100644
--- a/framework/domain/objecttreesource.cpp
+++ b/framework/domain/objecttreesource.cpp
@@ -21,6 +21,8 @@
21 21
22#include <MimeTreeParser/AttachmentStrategy> 22#include <MimeTreeParser/AttachmentStrategy>
23#include <MimeTreeParser/BodyPartFormatterBaseFactory> 23#include <MimeTreeParser/BodyPartFormatterBaseFactory>
24#include <MimeTreeParser/MessagePart>
25#include <MimeTreeParser/MessagePartRenderer>
24 26
25class ObjectSourcePrivate 27class ObjectSourcePrivate
26{ 28{
@@ -44,7 +46,7 @@ public:
44 46
45ObjectTreeSource::ObjectTreeSource(MimeTreeParser::HtmlWriter *writer, 47ObjectTreeSource::ObjectTreeSource(MimeTreeParser::HtmlWriter *writer,
46 MimeTreeParser::CSSHelperBase *cssHelper) 48 MimeTreeParser::CSSHelperBase *cssHelper)
47 : MimeTreeParser::ObjectTreeSourceIf() 49 : MimeTreeParser::Interface::ObjectTreeSource()
48 , d(new ObjectSourcePrivate) 50 , d(new ObjectSourcePrivate)
49 { 51 {
50 d->mWriter = writer; 52 d->mWriter = writer;
@@ -149,3 +151,9 @@ const MimeTreeParser::BodyPartFormatterBaseFactory *ObjectTreeSource::bodyPartFo
149{ 151{
150 return &(d->mBodyPartFormatterBaseFactory); 152 return &(d->mBodyPartFormatterBaseFactory);
151} 153}
154
155MimeTreeParser::Interface::MessagePartRenderer::Ptr ObjectTreeSource::messagePartTheme(MimeTreeParser::Interface::MessagePart::Ptr msgPart)
156{
157 Q_UNUSED(msgPart);
158 return MimeTreeParser::Interface::MessagePartRenderer::Ptr();
159}
diff --git a/framework/domain/objecttreesource.h b/framework/domain/objecttreesource.h
index bdd9b2ba..eceb04d3 100644
--- a/framework/domain/objecttreesource.h
+++ b/framework/domain/objecttreesource.h
@@ -20,12 +20,12 @@
20#ifndef MAILVIEWER_OBJECTTREEEMPTYSOURCE_H 20#ifndef MAILVIEWER_OBJECTTREEEMPTYSOURCE_H
21#define MAILVIEWER_OBJECTTREEEMPTYSOURCE_H 21#define MAILVIEWER_OBJECTTREEEMPTYSOURCE_H
22 22
23#include <MimeTreeParser/ObjectTreeSourceIf> 23#include <MimeTreeParser/ObjectTreeSource>
24 24
25class QString; 25class QString;
26 26
27class ObjectSourcePrivate; 27class ObjectSourcePrivate;
28class ObjectTreeSource : public MimeTreeParser::ObjectTreeSourceIf 28class ObjectTreeSource : public MimeTreeParser::Interface::ObjectTreeSource
29{ 29{
30public: 30public:
31 ObjectTreeSource(MimeTreeParser::HtmlWriter *writer, 31 ObjectTreeSource(MimeTreeParser::HtmlWriter *writer,
@@ -50,6 +50,7 @@ public:
50 bool showEmoticons() const Q_DECL_OVERRIDE; 50 bool showEmoticons() const Q_DECL_OVERRIDE;
51 bool showExpandQuotesMark() const Q_DECL_OVERRIDE; 51 bool showExpandQuotesMark() const Q_DECL_OVERRIDE;
52 const MimeTreeParser::BodyPartFormatterBaseFactory *bodyPartFormatterFactory() Q_DECL_OVERRIDE; 52 const MimeTreeParser::BodyPartFormatterBaseFactory *bodyPartFormatterFactory() Q_DECL_OVERRIDE;
53 MimeTreeParser::Interface::MessagePartRendererPtr messagePartTheme(MimeTreeParser::Interface::MessagePartPtr msgPart) Q_DECL_OVERRIDE;
53private: 54private:
54 ObjectSourcePrivate *const d; 55 ObjectSourcePrivate *const d;
55}; 56};