summaryrefslogtreecommitdiffstats
path: root/framework/src/domain/mime/messageparser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/domain/mime/messageparser.cpp')
-rw-r--r--framework/src/domain/mime/messageparser.cpp20
1 files changed, 15 insertions, 5 deletions
diff --git a/framework/src/domain/mime/messageparser.cpp b/framework/src/domain/mime/messageparser.cpp
index 76c060f0..1c31cbae 100644
--- a/framework/src/domain/mime/messageparser.cpp
+++ b/framework/src/domain/mime/messageparser.cpp
@@ -18,15 +18,17 @@
18*/ 18*/
19#include "messageparser.h" 19#include "messageparser.h"
20 20
21#include "partmodel.h"
22#include "attachmentmodel.h"
21#include "modeltest.h" 23#include "modeltest.h"
22#include "mimetreeparser/interface.h" 24#include <mimetreeparser/objecttreeparser.h>
23 25
24#include <QDebug> 26#include <QDebug>
25 27
26class MessagePartPrivate 28class MessagePartPrivate
27{ 29{
28public: 30public:
29 std::shared_ptr<Parser> mParser; 31 std::shared_ptr<MimeTreeParser::ObjectTreeParser> mParser;
30}; 32};
31 33
32MessageParser::MessageParser(QObject *parent) 34MessageParser::MessageParser(QObject *parent)
@@ -48,16 +50,24 @@ QVariant MessageParser::message() const
48 50
49void MessageParser::setMessage(const QVariant &message) 51void MessageParser::setMessage(const QVariant &message)
50{ 52{
51 d->mParser = std::shared_ptr<Parser>(new Parser(message.toByteArray())); 53 d->mParser = std::make_shared<MimeTreeParser::ObjectTreeParser>();
54 d->mParser->parseObjectTree(message.toByteArray());
55 d->mParser->decryptParts();
56 mRawContent = message.toString();
52 emit htmlChanged(); 57 emit htmlChanged();
53} 58}
54 59
55QAbstractItemModel *MessageParser::newTree() const 60QString MessageParser::rawContent() const
61{
62 return mRawContent;
63}
64
65QAbstractItemModel *MessageParser::parts() const
56{ 66{
57 if (!d->mParser) { 67 if (!d->mParser) {
58 return nullptr; 68 return nullptr;
59 } 69 }
60 const auto model = new NewModel(d->mParser); 70 const auto model = new PartModel(d->mParser);
61 // new ModelTest(model, model); 71 // new ModelTest(model, model);
62 return model; 72 return model;
63} 73}