summaryrefslogtreecommitdiffstats
path: root/framework/src/domain/mime/mimetreeparser/objecttreeparser.cpp
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2018-05-07 11:05:47 +0200
committerChristian Mollekopf <chrigi_1@fastmail.fm>2018-05-07 11:05:47 +0200
commit2989ba081341d01231bbf2efebd45b0d03958dd7 (patch)
tree832ff22cd097f23861ef1387e7d38a7df0eae705 /framework/src/domain/mime/mimetreeparser/objecttreeparser.cpp
parent21da50cd64337990186fa3aca7630c523714e90f (diff)
downloadkube-2989ba081341d01231bbf2efebd45b0d03958dd7.tar.gz
kube-2989ba081341d01231bbf2efebd45b0d03958dd7.zip
Made structure available in debug view
Diffstat (limited to 'framework/src/domain/mime/mimetreeparser/objecttreeparser.cpp')
-rw-r--r--framework/src/domain/mime/mimetreeparser/objecttreeparser.cpp31
1 files changed, 19 insertions, 12 deletions
diff --git a/framework/src/domain/mime/mimetreeparser/objecttreeparser.cpp b/framework/src/domain/mime/mimetreeparser/objecttreeparser.cpp
index 0149f388..9fb73ffa 100644
--- a/framework/src/domain/mime/mimetreeparser/objecttreeparser.cpp
+++ b/framework/src/domain/mime/mimetreeparser/objecttreeparser.cpp
@@ -51,13 +51,11 @@
51#include <KMime/Headers> 51#include <KMime/Headers>
52#include <KMime/Message> 52#include <KMime/Message>
53 53
54// KDE includes
55
56// Qt includes
57#include <QByteArray> 54#include <QByteArray>
58#include <QTextCodec> 55#include <QTextCodec>
59#include <QUrl> 56#include <QUrl>
60#include <QMimeDatabase> 57#include <QMimeDatabase>
58#include <QTextStream>
61 59
62using namespace MimeTreeParser; 60using namespace MimeTreeParser;
63 61
@@ -175,7 +173,7 @@ QString ObjectTreeParser::htmlContent()
175 return content; 173 return content;
176} 174}
177 175
178static void print(KMime::Content *node, const QString prefix = {}) 176static void print(QTextStream &s, KMime::Content *node, const QString prefix = {})
179{ 177{
180 QByteArray mediaType("text"); 178 QByteArray mediaType("text");
181 QByteArray subType("plain"); 179 QByteArray subType("plain");
@@ -184,28 +182,37 @@ static void print(KMime::Content *node, const QString prefix = {})
184 mediaType = node->contentType()->mediaType(); 182 mediaType = node->contentType()->mediaType();
185 subType = node->contentType()->subType(); 183 subType = node->contentType()->subType();
186 } 184 }
187 qWarning() << prefix << "!" << mediaType << subType << "isAttachment: " << KMime::isAttachment(node); 185 s << prefix << "!" << mediaType << subType << "isAttachment: " << KMime::isAttachment(node) << "\n";
188 for (const auto c: node->contents()) { 186 for (const auto c: node->contents()) {
189 print(c, prefix + QLatin1String(" ")); 187 print(s, c, prefix + QLatin1String(" "));
190 } 188 }
191} 189}
192 190
193static void print(const MessagePart &messagePart, const QByteArray pre = {}) 191static void print(QTextStream &s, const MessagePart &messagePart, const QByteArray pre = {})
194{ 192{
195 qWarning() << pre << "#" << messagePart.metaObject()->className() << "isAttachment: " << messagePart.isAttachment(); 193 s << pre << "#" << messagePart.metaObject()->className() << "isAttachment: " << messagePart.isAttachment() << "\n";
196 for (const auto &p: messagePart.subParts()) { 194 for (const auto &p: messagePart.subParts()) {
197 print(*p, pre + " "); 195 print(s, *p, pre + " ");
198 } 196 }
199} 197}
200 198
201void ObjectTreeParser::print() 199QString ObjectTreeParser::structureAsString() const
202{ 200{
201 QString string;
202 QTextStream s{&string};
203
203 if (mTopLevelContent) { 204 if (mTopLevelContent) {
204 ::print(mTopLevelContent); 205 ::print(s, mTopLevelContent);
205 } 206 }
206 if (mParsedPart) { 207 if (mParsedPart) {
207 ::print(*mParsedPart); 208 ::print(s, *mParsedPart);
208 } 209 }
210 return string;
211}
212
213void ObjectTreeParser::print()
214{
215 qInfo().noquote() << structureAsString();
209} 216}
210 217
211static KMime::Content *find(KMime::Content *node, const std::function<bool(KMime::Content *)> &select) 218static KMime::Content *find(KMime::Content *node, const std::function<bool(KMime::Content *)> &select)