diff options
Diffstat (limited to 'framework')
-rw-r--r-- | framework/domain/messageparser.cpp | 9 |
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 | ||
31 | MessageParser::MessageParser(QObject *parent) | 32 | MessageParser::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(); |