summaryrefslogtreecommitdiffstats
path: root/framework/domain/messageparser.cpp
diff options
context:
space:
mode:
authorSandro Knauß <sknauss@kde.org>2016-04-02 11:15:18 +0200
committerSandro Knauß <sknauss@kde.org>2016-04-02 11:15:27 +0200
commitdb8d420485fe75ebbb45f4b6db978311c0dbf8c1 (patch)
tree65f9056781993e56eecd31875323b4503fd91137 /framework/domain/messageparser.cpp
parent18c38fd700ae3d7242ba0215d1df845928deeac6 (diff)
downloadkube-db8d420485fe75ebbb45f4b6db978311c0dbf8c1.tar.gz
kube-db8d420485fe75ebbb45f4b6db978311c0dbf8c1.zip
Use parseToTree to get a messageTree and create the html on our own
Diffstat (limited to 'framework/domain/messageparser.cpp')
-rw-r--r--framework/domain/messageparser.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/framework/domain/messageparser.cpp b/framework/domain/messageparser.cpp
index 956bfb65..7089e2d8 100644
--- a/framework/domain/messageparser.cpp
+++ b/framework/domain/messageparser.cpp
@@ -27,6 +27,7 @@
27#include <QDebug> 27#include <QDebug>
28#include <QTime> 28#include <QTime>
29#include <MimeTreeParser/ObjectTreeParser> 29#include <MimeTreeParser/ObjectTreeParser>
30#include <MimeTreeParser/MessagePart>
30 31
31MessageParser::MessageParser(QObject *parent) 32MessageParser::MessageParser(QObject *parent)
32 : QObject(parent) 33 : QObject(parent)
@@ -63,10 +64,16 @@ void MessageParser::setMessage(const QVariant &message)
63 ObjectTreeSource source(&htmlWriter, &cssHelper); 64 ObjectTreeSource source(&htmlWriter, &cssHelper);
64 MimeTreeParser::ObjectTreeParser otp(&source, mNodeHelper.get()); 65 MimeTreeParser::ObjectTreeParser otp(&source, mNodeHelper.get());
65 66
67 const auto partTree = otp.parseToTree(msg.data()).dynamicCast<MimeTreeParser::MessagePartList>();
68
66 htmlWriter.begin(QString()); 69 htmlWriter.begin(QString());
67 htmlWriter.queue(cssHelper.htmlHead(false)); 70 htmlWriter.queue(cssHelper.htmlHead(false));
68 71
69 otp.parseObjectTree(msg.data()); 72 if (partTree) {
73 partTree->fix();
74 partTree->copyContentFrom();
75 partTree->html(false);
76 }
70 77
71 htmlWriter.queue(QStringLiteral("</body></html>")); 78 htmlWriter.queue(QStringLiteral("</body></html>"));
72 htmlWriter.end(); 79 htmlWriter.end();