summaryrefslogtreecommitdiffstats
path: root/framework/src/domain/mime/messageparser.cpp
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2017-05-29 16:17:04 +0200
committerChristian Mollekopf <chrigi_1@fastmail.fm>2017-06-04 12:57:04 +0200
commite452707fdfbd61be1e5633b516b653b7337e7865 (patch)
tree1e1d4b48ebf8d381f292436f2ba04b8763edc5de /framework/src/domain/mime/messageparser.cpp
parent5a1033bdace740799a6e03389bee30e5a4de5d44 (diff)
downloadkube-e452707fdfbd61be1e5633b516b653b7337e7865.tar.gz
kube-e452707fdfbd61be1e5633b516b653b7337e7865.zip
Reduced the messagetreeparser to aproximately what we actually require
While in a much more managable state it's still not pretty. However, further refactoring can now gradually happen as we need to do further work on it. Things that should happen eventually: * Simplify the logic that creates the messageparts (we don't need the whole formatter plugin complexity) * Get rid of the nodehelper (let the parts hold the necessary data) * Get rid of partmetadata (let the part handleit)
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}