diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2018-05-07 11:05:47 +0200 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2018-05-07 11:05:47 +0200 |
commit | 2989ba081341d01231bbf2efebd45b0d03958dd7 (patch) | |
tree | 832ff22cd097f23861ef1387e7d38a7df0eae705 /framework/src | |
parent | 21da50cd64337990186fa3aca7630c523714e90f (diff) | |
download | kube-2989ba081341d01231bbf2efebd45b0d03958dd7.tar.gz kube-2989ba081341d01231bbf2efebd45b0d03958dd7.zip |
Made structure available in debug view
Diffstat (limited to 'framework/src')
4 files changed, 30 insertions, 13 deletions
diff --git a/framework/src/domain/mime/messageparser.cpp b/framework/src/domain/mime/messageparser.cpp index bc7535ec..2c190c80 100644 --- a/framework/src/domain/mime/messageparser.cpp +++ b/framework/src/domain/mime/messageparser.cpp | |||
@@ -68,6 +68,14 @@ QString MessageParser::rawContent() const | |||
68 | return mRawContent; | 68 | return mRawContent; |
69 | } | 69 | } |
70 | 70 | ||
71 | QString MessageParser::structureAsString() const | ||
72 | { | ||
73 | if (!d->mParser) { | ||
74 | return nullptr; | ||
75 | } | ||
76 | return d->mParser->structureAsString(); | ||
77 | } | ||
78 | |||
71 | QAbstractItemModel *MessageParser::parts() const | 79 | QAbstractItemModel *MessageParser::parts() const |
72 | { | 80 | { |
73 | if (!d->mParser) { | 81 | if (!d->mParser) { |
diff --git a/framework/src/domain/mime/messageparser.h b/framework/src/domain/mime/messageparser.h index ba85973c..72945fea 100644 --- a/framework/src/domain/mime/messageparser.h +++ b/framework/src/domain/mime/messageparser.h | |||
@@ -43,6 +43,7 @@ class KUBE_EXPORT MessageParser : public QObject | |||
43 | Q_PROPERTY (QAbstractItemModel* parts READ parts NOTIFY htmlChanged) | 43 | Q_PROPERTY (QAbstractItemModel* parts READ parts NOTIFY htmlChanged) |
44 | Q_PROPERTY (QAbstractItemModel* attachments READ attachments NOTIFY htmlChanged) | 44 | Q_PROPERTY (QAbstractItemModel* attachments READ attachments NOTIFY htmlChanged) |
45 | Q_PROPERTY (QString rawContent READ rawContent NOTIFY htmlChanged) | 45 | Q_PROPERTY (QString rawContent READ rawContent NOTIFY htmlChanged) |
46 | Q_PROPERTY (QString structureAsString READ structureAsString NOTIFY htmlChanged) | ||
46 | 47 | ||
47 | public: | 48 | public: |
48 | explicit MessageParser(QObject *parent = Q_NULLPTR); | 49 | explicit MessageParser(QObject *parent = Q_NULLPTR); |
@@ -53,7 +54,7 @@ public: | |||
53 | QAbstractItemModel *parts() const; | 54 | QAbstractItemModel *parts() const; |
54 | QAbstractItemModel *attachments() const; | 55 | QAbstractItemModel *attachments() const; |
55 | QString rawContent() const; | 56 | QString rawContent() const; |
56 | 57 | QString structureAsString() const; | |
57 | signals: | 58 | signals: |
58 | void htmlChanged(); | 59 | void htmlChanged(); |
59 | 60 | ||
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 | ||
62 | using namespace MimeTreeParser; | 60 | using namespace MimeTreeParser; |
63 | 61 | ||
@@ -175,7 +173,7 @@ QString ObjectTreeParser::htmlContent() | |||
175 | return content; | 173 | return content; |
176 | } | 174 | } |
177 | 175 | ||
178 | static void print(KMime::Content *node, const QString prefix = {}) | 176 | static 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 | ||
193 | static void print(const MessagePart &messagePart, const QByteArray pre = {}) | 191 | static 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 | ||
201 | void ObjectTreeParser::print() | 199 | QString 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 | |||
213 | void ObjectTreeParser::print() | ||
214 | { | ||
215 | qInfo().noquote() << structureAsString(); | ||
209 | } | 216 | } |
210 | 217 | ||
211 | static KMime::Content *find(KMime::Content *node, const std::function<bool(KMime::Content *)> &select) | 218 | static KMime::Content *find(KMime::Content *node, const std::function<bool(KMime::Content *)> &select) |
diff --git a/framework/src/domain/mime/mimetreeparser/objecttreeparser.h b/framework/src/domain/mime/mimetreeparser/objecttreeparser.h index 02f94700..1795c79c 100644 --- a/framework/src/domain/mime/mimetreeparser/objecttreeparser.h +++ b/framework/src/domain/mime/mimetreeparser/objecttreeparser.h | |||
@@ -240,6 +240,7 @@ public: | |||
240 | 240 | ||
241 | virtual ~ObjectTreeParser(); | 241 | virtual ~ObjectTreeParser(); |
242 | 242 | ||
243 | QString structureAsString() const; | ||
243 | void print(); | 244 | void print(); |
244 | 245 | ||
245 | /** | 246 | /** |