diff options
author | Sandro Knauß <sknauss@kde.org> | 2016-07-26 13:52:06 +0200 |
---|---|---|
committer | Sandro Knauß <sknauss@kde.org> | 2016-07-26 13:52:06 +0200 |
commit | 0272f1e8bb7f8c86c86958e3e022aac8b34a266c (patch) | |
tree | 771598fb40fbec6fa97c060b236173d7bf08f821 /framework/domain/mimetreeparser/interface.cpp | |
parent | 903960116eb3329631702723bba11f5463eff573 (diff) | |
download | kube-0272f1e8bb7f8c86c86958e3e022aac8b34a266c.tar.gz kube-0272f1e8bb7f8c86c86958e3e022aac8b34a266c.zip |
make the tests compile again
Diffstat (limited to 'framework/domain/mimetreeparser/interface.cpp')
-rw-r--r-- | framework/domain/mimetreeparser/interface.cpp | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/framework/domain/mimetreeparser/interface.cpp b/framework/domain/mimetreeparser/interface.cpp index 5cf36d10..a76a6cde 100644 --- a/framework/domain/mimetreeparser/interface.cpp +++ b/framework/domain/mimetreeparser/interface.cpp | |||
@@ -28,8 +28,77 @@ | |||
28 | #include <MimeTreeParser/MessagePart> | 28 | #include <MimeTreeParser/MessagePart> |
29 | #include <MimeTreeParser/NodeHelper> | 29 | #include <MimeTreeParser/NodeHelper> |
30 | 30 | ||
31 | #include <QMimeDatabase> | ||
32 | #include <QMimeType> | ||
31 | #include <QDebug> | 33 | #include <QDebug> |
32 | 34 | ||
35 | class MailMimePrivate | ||
36 | { | ||
37 | public: | ||
38 | KMime::Content *mNode; | ||
39 | MailMime *q; | ||
40 | }; | ||
41 | |||
42 | MailMime::MailMime() | ||
43 | : d(std::unique_ptr<MailMimePrivate>(new MailMimePrivate())) | ||
44 | { | ||
45 | d->q = this; | ||
46 | } | ||
47 | |||
48 | bool MailMime::isFirstTextPart() const | ||
49 | { | ||
50 | if (!d->mNode) { | ||
51 | return false; | ||
52 | } | ||
53 | return (d->mNode->topLevel()->textContent() == d->mNode); | ||
54 | } | ||
55 | |||
56 | MailMime::Disposition MailMime::disposition() const | ||
57 | { | ||
58 | if (!d->mNode) { | ||
59 | return Invalid; | ||
60 | } | ||
61 | const auto cd = d->mNode->contentDisposition(false); | ||
62 | if (!cd) { | ||
63 | return Invalid; | ||
64 | } | ||
65 | switch (cd->disposition()){ | ||
66 | case KMime::Headers::CDinline: | ||
67 | return Inline; | ||
68 | case KMime::Headers::CDattachment: | ||
69 | return Attachment; | ||
70 | default: | ||
71 | return Invalid; | ||
72 | } | ||
73 | } | ||
74 | |||
75 | QString MailMime::filename() const | ||
76 | { | ||
77 | if (!d->mNode) { | ||
78 | return QString(); | ||
79 | } | ||
80 | const auto cd = d->mNode->contentDisposition(false); | ||
81 | if (!cd) { | ||
82 | return QString(); | ||
83 | } | ||
84 | return cd->filename(); | ||
85 | } | ||
86 | |||
87 | QMimeType MailMime::mimetype() const | ||
88 | { | ||
89 | if (!d->mNode) { | ||
90 | return QMimeType(); | ||
91 | } | ||
92 | |||
93 | const auto ct = d->mNode->contentType(false); | ||
94 | if (!ct) { | ||
95 | return QMimeType(); | ||
96 | } | ||
97 | |||
98 | QMimeDatabase mimeDb; | ||
99 | return mimeDb.mimeTypeForName(ct->mimeType()); | ||
100 | } | ||
101 | |||
33 | class PartPrivate | 102 | class PartPrivate |
34 | { | 103 | { |
35 | public: | 104 | public: |
@@ -39,10 +108,13 @@ public: | |||
39 | QVector<Part::Ptr> subParts(); | 108 | QVector<Part::Ptr> subParts(); |
40 | 109 | ||
41 | Part *parent() const; | 110 | Part *parent() const; |
111 | |||
112 | const MailMime::Ptr &mailMime() const; | ||
42 | private: | 113 | private: |
43 | Part *q; | 114 | Part *q; |
44 | Part *mParent; | 115 | Part *mParent; |
45 | QVector<Part::Ptr> mSubParts; | 116 | QVector<Part::Ptr> mSubParts; |
117 | MailMime::Ptr mMailMime; | ||
46 | }; | 118 | }; |
47 | 119 | ||
48 | PartPrivate::PartPrivate(Part* part) | 120 | PartPrivate::PartPrivate(Part* part) |
@@ -68,6 +140,11 @@ QVector< Part::Ptr > PartPrivate::subParts() | |||
68 | return mSubParts; | 140 | return mSubParts; |
69 | } | 141 | } |
70 | 142 | ||
143 | const MailMime::Ptr& PartPrivate::mailMime() const | ||
144 | { | ||
145 | return mMailMime; | ||
146 | } | ||
147 | |||
71 | Part::Part() | 148 | Part::Part() |
72 | : d(std::unique_ptr<PartPrivate>(new PartPrivate(this))) | 149 | : d(std::unique_ptr<PartPrivate>(new PartPrivate(this))) |
73 | { | 150 | { |
@@ -96,6 +173,11 @@ QVector<QByteArray> Part::availableContents() const | |||
96 | 173 | ||
97 | QVector<Content::Ptr> Part::content() const | 174 | QVector<Content::Ptr> Part::content() const |
98 | { | 175 | { |
176 | return content(availableContents().first()); | ||
177 | } | ||
178 | |||
179 | QVector<Content::Ptr> Part::content(const QByteArray& ct) const | ||
180 | { | ||
99 | return QVector<Content::Ptr>(); | 181 | return QVector<Content::Ptr>(); |
100 | } | 182 | } |
101 | 183 | ||
@@ -119,6 +201,11 @@ QVector<Signature> Part::signatures() const | |||
119 | } | 201 | } |
120 | } | 202 | } |
121 | 203 | ||
204 | MailMime::Ptr Part::mailMime() const | ||
205 | { | ||
206 | return d->mailMime(); | ||
207 | } | ||
208 | |||
122 | class ContentPrivate | 209 | class ContentPrivate |
123 | { | 210 | { |
124 | public: | 211 | public: |
@@ -126,6 +213,7 @@ public: | |||
126 | QByteArray mCodec; | 213 | QByteArray mCodec; |
127 | Part *mParent; | 214 | Part *mParent; |
128 | Content *q; | 215 | Content *q; |
216 | MailMime::Ptr mMailMime; | ||
129 | }; | 217 | }; |
130 | 218 | ||
131 | Content::Content(const QByteArray& content, Part *parent) | 219 | Content::Content(const QByteArray& content, Part *parent) |
@@ -167,18 +255,37 @@ QByteArray Content::charset() const | |||
167 | return d->mCodec; | 255 | return d->mCodec; |
168 | } | 256 | } |
169 | 257 | ||
258 | QByteArray Content::type() const | ||
259 | { | ||
260 | return "Content"; | ||
261 | } | ||
262 | |||
263 | MailMime::Ptr Content::mailMime() const | ||
264 | { | ||
265 | return d->mMailMime; | ||
266 | } | ||
267 | |||
170 | HtmlContent::HtmlContent(const QByteArray& content, Part* parent) | 268 | HtmlContent::HtmlContent(const QByteArray& content, Part* parent) |
171 | : Content(content, parent) | 269 | : Content(content, parent) |
172 | { | 270 | { |
173 | 271 | ||
174 | } | 272 | } |
175 | 273 | ||
274 | QByteArray HtmlContent::type() const | ||
275 | { | ||
276 | return "HtmlContent"; | ||
277 | } | ||
278 | |||
176 | PlainTextContent::PlainTextContent(const QByteArray& content, Part* parent) | 279 | PlainTextContent::PlainTextContent(const QByteArray& content, Part* parent) |
177 | : Content(content, parent) | 280 | : Content(content, parent) |
178 | { | 281 | { |
179 | 282 | ||
180 | } | 283 | } |
181 | 284 | ||
285 | QByteArray PlainTextContent::type() const | ||
286 | { | ||
287 | return "PlainTextContent"; | ||
288 | } | ||
182 | 289 | ||
183 | class AlternativePartPrivate | 290 | class AlternativePartPrivate |
184 | { | 291 | { |