diff options
9 files changed, 16 insertions, 46 deletions
diff --git a/framework/src/domain/mime/mimetreeparser/applicationpgpencrypted.cpp b/framework/src/domain/mime/mimetreeparser/applicationpgpencrypted.cpp index a912c9c9..f862cd69 100644 --- a/framework/src/domain/mime/mimetreeparser/applicationpgpencrypted.cpp +++ b/framework/src/domain/mime/mimetreeparser/applicationpgpencrypted.cpp | |||
@@ -55,7 +55,7 @@ MessagePart::Ptr ApplicationPGPEncryptedBodyPartFormatter::process(Interface::Bo | |||
55 | KMime::Content *data = findTypeInDirectChilds(part.content()->parent(), "application/octet-stream"); | 55 | KMime::Content *data = findTypeInDirectChilds(part.content()->parent(), "application/octet-stream"); |
56 | 56 | ||
57 | if (!data) { | 57 | if (!data) { |
58 | return MessagePart::Ptr(); //new MimeMessagePart(part.objectTreeParser(), node, false)); | 58 | return MessagePart::Ptr(); //new MimeMessagePart(part.objectTreeParser(), node)); |
59 | } | 59 | } |
60 | 60 | ||
61 | EncryptedMessagePart::Ptr mp(new EncryptedMessagePart(part.objectTreeParser(), | 61 | EncryptedMessagePart::Ptr mp(new EncryptedMessagePart(part.objectTreeParser(), |
diff --git a/framework/src/domain/mime/mimetreeparser/messagepart.cpp b/framework/src/domain/mime/mimetreeparser/messagepart.cpp index 9f0df7f7..2fd4f496 100644 --- a/framework/src/domain/mime/mimetreeparser/messagepart.cpp +++ b/framework/src/domain/mime/mimetreeparser/messagepart.cpp | |||
@@ -344,7 +344,7 @@ void MessagePart::parseInternal(const QByteArray &data) | |||
344 | tempNode->contentDescription()->from7BitString("temporary node"); | 344 | tempNode->contentDescription()->from7BitString("temporary node"); |
345 | } | 345 | } |
346 | 346 | ||
347 | parseInternal(tempNode, false); | 347 | parseInternal(tempNode); |
348 | } | 348 | } |
349 | 349 | ||
350 | QString MessagePart::renderInternalText() const | 350 | QString MessagePart::renderInternalText() const |
@@ -920,7 +920,7 @@ void SignedMessagePart::startVerificationDetached(const QByteArray &text, KMime: | |||
920 | mMetaData.isDecryptable = false; | 920 | mMetaData.isDecryptable = false; |
921 | 921 | ||
922 | if (textNode) { | 922 | if (textNode) { |
923 | parseInternal(textNode, false); | 923 | parseInternal(textNode); |
924 | } | 924 | } |
925 | 925 | ||
926 | mMetaData.isSigned = false; | 926 | mMetaData.isSigned = false; |
@@ -1189,7 +1189,7 @@ EncapsulatedRfc822MessagePart::EncapsulatedRfc822MessagePart(ObjectTreeParser *o | |||
1189 | return; | 1189 | return; |
1190 | } | 1190 | } |
1191 | 1191 | ||
1192 | parseInternal(message.data(), false); | 1192 | parseInternal(message.data()); |
1193 | } | 1193 | } |
1194 | 1194 | ||
1195 | EncapsulatedRfc822MessagePart::~EncapsulatedRfc822MessagePart() | 1195 | EncapsulatedRfc822MessagePart::~EncapsulatedRfc822MessagePart() |
diff --git a/framework/src/domain/mime/mimetreeparser/messagepart.h b/framework/src/domain/mime/mimetreeparser/messagepart.h index 37f8f168..3c07ca88 100644 --- a/framework/src/domain/mime/mimetreeparser/messagepart.h +++ b/framework/src/domain/mime/mimetreeparser/messagepart.h | |||
@@ -128,7 +128,7 @@ public: | |||
128 | void bindLifetime(KMime::Content *); | 128 | void bindLifetime(KMime::Content *); |
129 | 129 | ||
130 | protected: | 130 | protected: |
131 | void parseInternal(KMime::Content *node, bool onlyOneMimePart); | 131 | void parseInternal(KMime::Content *node, bool onlyOneMimePart = false); |
132 | void parseInternal(const QByteArray &data); | 132 | void parseInternal(const QByteArray &data); |
133 | QString renderInternalText() const; | 133 | QString renderInternalText() const; |
134 | 134 | ||
@@ -150,7 +150,7 @@ class MimeMessagePart : public MessagePart | |||
150 | Q_OBJECT | 150 | Q_OBJECT |
151 | public: | 151 | public: |
152 | typedef QSharedPointer<MimeMessagePart> Ptr; | 152 | typedef QSharedPointer<MimeMessagePart> Ptr; |
153 | MimeMessagePart(MimeTreeParser::ObjectTreeParser *otp, KMime::Content *node, bool onlyOneMimePart); | 153 | MimeMessagePart(MimeTreeParser::ObjectTreeParser *otp, KMime::Content *node, bool onlyOneMimePart = false); |
154 | virtual ~MimeMessagePart(); | 154 | virtual ~MimeMessagePart(); |
155 | 155 | ||
156 | QString text() const Q_DECL_OVERRIDE; | 156 | QString text() const Q_DECL_OVERRIDE; |
diff --git a/framework/src/domain/mime/mimetreeparser/multipartalternative.cpp b/framework/src/domain/mime/mimetreeparser/multipartalternative.cpp index 9b7954b5..d0657edb 100644 --- a/framework/src/domain/mime/mimetreeparser/multipartalternative.cpp +++ b/framework/src/domain/mime/mimetreeparser/multipartalternative.cpp | |||
@@ -51,7 +51,7 @@ MessagePart::Ptr MultiPartAlternativeBodyPartFormatter::process(Interface::BodyP | |||
51 | auto preferredMode = MimeTreeParser::Util::Html; | 51 | auto preferredMode = MimeTreeParser::Util::Html; |
52 | AlternativeMessagePart::Ptr mp(new AlternativeMessagePart(part.objectTreeParser(), node)); | 52 | AlternativeMessagePart::Ptr mp(new AlternativeMessagePart(part.objectTreeParser(), node)); |
53 | if (mp->mChildNodes.isEmpty()) { | 53 | if (mp->mChildNodes.isEmpty()) { |
54 | return MimeMessagePart::Ptr(new MimeMessagePart(part.objectTreeParser(), node->contents().at(0), false)); | 54 | return MimeMessagePart::Ptr(new MimeMessagePart(part.objectTreeParser(), node->contents().at(0))); |
55 | } | 55 | } |
56 | 56 | ||
57 | KMime::Content *dataIcal = mp->mChildNodes.contains(Util::MultipartIcal) ? mp->mChildNodes[Util::MultipartIcal] : nullptr; | 57 | KMime::Content *dataIcal = mp->mChildNodes.contains(Util::MultipartIcal) ? mp->mChildNodes[Util::MultipartIcal] : nullptr; |
diff --git a/framework/src/domain/mime/mimetreeparser/multipartencrypted.cpp b/framework/src/domain/mime/mimetreeparser/multipartencrypted.cpp index 2e36366c..b1288119 100644 --- a/framework/src/domain/mime/mimetreeparser/multipartencrypted.cpp +++ b/framework/src/domain/mime/mimetreeparser/multipartencrypted.cpp | |||
@@ -68,7 +68,7 @@ MessagePart::Ptr MultiPartEncryptedBodyPartFormatter::process(Interface::BodyPar | |||
68 | */ | 68 | */ |
69 | 69 | ||
70 | if (!data) { | 70 | if (!data) { |
71 | return MessagePart::Ptr(new MimeMessagePart(part.objectTreeParser(), node->contents().at(0), false)); | 71 | return MessagePart::Ptr(new MimeMessagePart(part.objectTreeParser(), node->contents().at(0))); |
72 | } | 72 | } |
73 | 73 | ||
74 | EncryptedMessagePart::Ptr mp(new EncryptedMessagePart(part.objectTreeParser(), | 74 | EncryptedMessagePart::Ptr mp(new EncryptedMessagePart(part.objectTreeParser(), |
diff --git a/framework/src/domain/mime/mimetreeparser/multipartsigned.cpp b/framework/src/domain/mime/mimetreeparser/multipartsigned.cpp index b511afce..6b38b60e 100644 --- a/framework/src/domain/mime/mimetreeparser/multipartsigned.cpp +++ b/framework/src/domain/mime/mimetreeparser/multipartsigned.cpp | |||
@@ -46,7 +46,7 @@ MessagePart::Ptr MultiPartSignedBodyPartFormatter::process(Interface::BodyPart & | |||
46 | qCDebug(MIMETREEPARSER_LOG) << "mulitpart/signed must have exactly two child parts!" << endl | 46 | qCDebug(MIMETREEPARSER_LOG) << "mulitpart/signed must have exactly two child parts!" << endl |
47 | << "processing as multipart/mixed"; | 47 | << "processing as multipart/mixed"; |
48 | if (!node->contents().isEmpty()) { | 48 | if (!node->contents().isEmpty()) { |
49 | return MessagePart::Ptr(new MimeMessagePart(part.objectTreeParser(), node->contents().at(0), false)); | 49 | return MessagePart::Ptr(new MimeMessagePart(part.objectTreeParser(), node->contents().at(0))); |
50 | } else { | 50 | } else { |
51 | return MessagePart::Ptr(); | 51 | return MessagePart::Ptr(); |
52 | } | 52 | } |
@@ -75,7 +75,7 @@ MessagePart::Ptr MultiPartSignedBodyPartFormatter::process(Interface::BodyPart & | |||
75 | } | 75 | } |
76 | 76 | ||
77 | if (protocol == UnknownProtocol) { | 77 | if (protocol == UnknownProtocol) { |
78 | return MessagePart::Ptr(new MimeMessagePart(part.objectTreeParser(), signedData, false)); | 78 | return MessagePart::Ptr(new MimeMessagePart(part.objectTreeParser(), signedData)); |
79 | } | 79 | } |
80 | 80 | ||
81 | part.nodeHelper()->setNodeProcessed(signature, true); | 81 | part.nodeHelper()->setNodeProcessed(signature, true); |
diff --git a/framework/src/domain/mime/mimetreeparser/objecttreeparser.cpp b/framework/src/domain/mime/mimetreeparser/objecttreeparser.cpp index e86f138b..0149f388 100644 --- a/framework/src/domain/mime/mimetreeparser/objecttreeparser.cpp +++ b/framework/src/domain/mime/mimetreeparser/objecttreeparser.cpp | |||
@@ -90,17 +90,14 @@ static QVector<MessagePart::Ptr> collect(MessagePart::Ptr start, const std::func | |||
90 | 90 | ||
91 | ObjectTreeParser::ObjectTreeParser() | 91 | ObjectTreeParser::ObjectTreeParser() |
92 | : mNodeHelper(nullptr), | 92 | : mNodeHelper(nullptr), |
93 | mTopLevelContent(nullptr), | 93 | mTopLevelContent(nullptr) |
94 | mShowOnlyOneMimePart(false) | ||
95 | { | 94 | { |
96 | init(); | 95 | init(); |
97 | } | 96 | } |
98 | 97 | ||
99 | ObjectTreeParser::ObjectTreeParser(MimeTreeParser::NodeHelper *nodeHelper, | 98 | ObjectTreeParser::ObjectTreeParser(MimeTreeParser::NodeHelper *nodeHelper) |
100 | bool showOnlyOneMimePart) | ||
101 | : mNodeHelper(nodeHelper), | 99 | : mNodeHelper(nodeHelper), |
102 | mTopLevelContent(nullptr), | 100 | mTopLevelContent(nullptr) |
103 | mShowOnlyOneMimePart(showOnlyOneMimePart) | ||
104 | { | 101 | { |
105 | init(); | 102 | init(); |
106 | } | 103 | } |
@@ -387,7 +384,7 @@ void ObjectTreeParser::parseObjectTree(const QByteArray &mimeMessage) | |||
387 | void ObjectTreeParser::parseObjectTree(KMime::Content *node) | 384 | void ObjectTreeParser::parseObjectTree(KMime::Content *node) |
388 | { | 385 | { |
389 | mTopLevelContent = node; | 386 | mTopLevelContent = node; |
390 | mParsedPart = parseObjectTreeInternal(node, showOnlyOneMimePart()); | 387 | mParsedPart = parseObjectTreeInternal(node, false); |
391 | } | 388 | } |
392 | 389 | ||
393 | MessagePartPtr ObjectTreeParser::parsedPart() const | 390 | MessagePartPtr ObjectTreeParser::parsedPart() const |
@@ -495,16 +492,6 @@ const QTextCodec *ObjectTreeParser::codecFor(KMime::Content *node) const | |||
495 | return mNodeHelper->codec(node); | 492 | return mNodeHelper->codec(node); |
496 | } | 493 | } |
497 | 494 | ||
498 | bool ObjectTreeParser::showOnlyOneMimePart() const | ||
499 | { | ||
500 | return mShowOnlyOneMimePart; | ||
501 | } | ||
502 | |||
503 | void ObjectTreeParser::setShowOnlyOneMimePart(bool show) | ||
504 | { | ||
505 | mShowOnlyOneMimePart = show; | ||
506 | } | ||
507 | |||
508 | MimeTreeParser::NodeHelper *ObjectTreeParser::nodeHelper() const | 495 | MimeTreeParser::NodeHelper *ObjectTreeParser::nodeHelper() const |
509 | { | 496 | { |
510 | return mNodeHelper; | 497 | return mNodeHelper; |
diff --git a/framework/src/domain/mime/mimetreeparser/objecttreeparser.h b/framework/src/domain/mime/mimetreeparser/objecttreeparser.h index ad67205b..02f94700 100644 --- a/framework/src/domain/mime/mimetreeparser/objecttreeparser.h +++ b/framework/src/domain/mime/mimetreeparser/objecttreeparser.h | |||
@@ -236,9 +236,7 @@ class ObjectTreeParser | |||
236 | public: | 236 | public: |
237 | explicit ObjectTreeParser(); | 237 | explicit ObjectTreeParser(); |
238 | 238 | ||
239 | explicit ObjectTreeParser(NodeHelper *nodeHelper, | 239 | explicit ObjectTreeParser(NodeHelper *nodeHelper); |
240 | bool showOneMimePart = false | ||
241 | ); | ||
242 | 240 | ||
243 | virtual ~ObjectTreeParser(); | 241 | virtual ~ObjectTreeParser(); |
244 | 242 | ||
@@ -256,9 +254,6 @@ public: | |||
256 | */ | 254 | */ |
257 | QString htmlContent(); | 255 | QString htmlContent(); |
258 | 256 | ||
259 | bool showOnlyOneMimePart() const; | ||
260 | void setShowOnlyOneMimePart(bool show); | ||
261 | |||
262 | NodeHelper *nodeHelper() const; | 257 | NodeHelper *nodeHelper() const; |
263 | 258 | ||
264 | /** Parse beginning at a given node and recursively parsing | 259 | /** Parse beginning at a given node and recursively parsing |
@@ -305,18 +300,6 @@ private: | |||
305 | KMime::Content *mTopLevelContent; | 300 | KMime::Content *mTopLevelContent; |
306 | MessagePartPtr mParsedPart; | 301 | MessagePartPtr mParsedPart; |
307 | 302 | ||
308 | /// Show only one mime part means that the user has selected some node in the message structure | ||
309 | /// viewer that is not the root, which means the user wants to only see the selected node and its | ||
310 | /// children. If that is the case, this variable is set to true. | ||
311 | /// The code needs to behave differently if this is set. For example, it should not process the | ||
312 | /// siblings. Also, consider inline images: Normally, those nodes are completely hidden, as the | ||
313 | /// HTML node embedds them. However, when showing only the node of the image, one has to show them, | ||
314 | /// as their is no HTML node in which they are displayed. There are many more cases where this | ||
315 | /// variable needs to be obeyed. | ||
316 | /// This variable is set to false again when processing the children in stdChildHandling(), as | ||
317 | /// the children can be completely displayed again. | ||
318 | bool mShowOnlyOneMimePart; | ||
319 | |||
320 | bool mDeleteNodeHelper; | 303 | bool mDeleteNodeHelper; |
321 | KMime::Message::Ptr mMsg; | 304 | KMime::Message::Ptr mMsg; |
322 | 305 | ||
diff --git a/framework/src/domain/mime/mimetreeparser/utils.cpp b/framework/src/domain/mime/mimetreeparser/utils.cpp index 5b9aa55a..b7a9b8de 100644 --- a/framework/src/domain/mime/mimetreeparser/utils.cpp +++ b/framework/src/domain/mime/mimetreeparser/utils.cpp | |||
@@ -32,7 +32,7 @@ MimeMessagePart::Ptr MimeTreeParser::createAndParseTempNode(Interface::BodyPart | |||
32 | newNode->contentDescription()->from7BitString(cntDesc); | 32 | newNode->contentDescription()->from7BitString(cntDesc); |
33 | } | 33 | } |
34 | 34 | ||
35 | auto mp = MimeMessagePart::Ptr(new MimeMessagePart(part.objectTreeParser(), newNode, false)); | 35 | auto mp = MimeMessagePart::Ptr(new MimeMessagePart(part.objectTreeParser(), newNode)); |
36 | mp->bindLifetime(newNode); | 36 | mp->bindLifetime(newNode); |
37 | return mp; | 37 | return mp; |
38 | } | 38 | } |