summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2018-04-26 22:30:54 +0200
committerChristian Mollekopf <chrigi_1@fastmail.fm>2018-04-26 22:30:54 +0200
commitf34336d87567e376d856f742880acdb5fb307b81 (patch)
tree635ca72e82634b02631a94dbdf395b93c8e7d07c
parent77b5d028b30bafc579d7ea6ccb5955a40345da8e (diff)
downloadkube-f34336d87567e376d856f742880acdb5fb307b81.tar.gz
kube-f34336d87567e376d856f742880acdb5fb307b81.zip
Remove showOnlyOneMimepart from the public interface.
That makes it much more obvious where we actually rely on it.
-rw-r--r--framework/src/domain/mime/mimetreeparser/applicationpgpencrypted.cpp2
-rw-r--r--framework/src/domain/mime/mimetreeparser/messagepart.cpp6
-rw-r--r--framework/src/domain/mime/mimetreeparser/messagepart.h4
-rw-r--r--framework/src/domain/mime/mimetreeparser/multipartalternative.cpp2
-rw-r--r--framework/src/domain/mime/mimetreeparser/multipartencrypted.cpp2
-rw-r--r--framework/src/domain/mime/mimetreeparser/multipartsigned.cpp4
-rw-r--r--framework/src/domain/mime/mimetreeparser/objecttreeparser.cpp21
-rw-r--r--framework/src/domain/mime/mimetreeparser/objecttreeparser.h19
-rw-r--r--framework/src/domain/mime/mimetreeparser/utils.cpp2
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
350QString MessagePart::renderInternalText() const 350QString 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
1195EncapsulatedRfc822MessagePart::~EncapsulatedRfc822MessagePart() 1195EncapsulatedRfc822MessagePart::~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
130protected: 130protected:
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
151public: 151public:
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
91ObjectTreeParser::ObjectTreeParser() 91ObjectTreeParser::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
99ObjectTreeParser::ObjectTreeParser(MimeTreeParser::NodeHelper *nodeHelper, 98ObjectTreeParser::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)
387void ObjectTreeParser::parseObjectTree(KMime::Content *node) 384void 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
393MessagePartPtr ObjectTreeParser::parsedPart() const 390MessagePartPtr 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
498bool ObjectTreeParser::showOnlyOneMimePart() const
499{
500 return mShowOnlyOneMimePart;
501}
502
503void ObjectTreeParser::setShowOnlyOneMimePart(bool show)
504{
505 mShowOnlyOneMimePart = show;
506}
507
508MimeTreeParser::NodeHelper *ObjectTreeParser::nodeHelper() const 495MimeTreeParser::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
236public: 236public:
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}