diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2017-07-11 16:01:27 +0200 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2017-07-11 16:01:27 +0200 |
commit | 37f18e26ca729fac64fd29164b09f3d3f1143520 (patch) | |
tree | cf9c45d43069cbc9bf38e825ad34e0817cd3835b /framework/src/domain/mime/mimetreeparser/objecttreeparser.cpp | |
parent | 8994cab9db689e13dae7445b1946920dca4c6be7 (diff) | |
download | kube-37f18e26ca729fac64fd29164b09f3d3f1143520.tar.gz kube-37f18e26ca729fac64fd29164b09f3d3f1143520.zip |
Fixed multipart/alternative replies
Diffstat (limited to 'framework/src/domain/mime/mimetreeparser/objecttreeparser.cpp')
-rw-r--r-- | framework/src/domain/mime/mimetreeparser/objecttreeparser.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/framework/src/domain/mime/mimetreeparser/objecttreeparser.cpp b/framework/src/domain/mime/mimetreeparser/objecttreeparser.cpp index 7e2be0e4..fc1b9793 100644 --- a/framework/src/domain/mime/mimetreeparser/objecttreeparser.cpp +++ b/framework/src/domain/mime/mimetreeparser/objecttreeparser.cpp | |||
@@ -6,6 +6,7 @@ | |||
6 | Copyright (C) 2002-2004 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.net | 6 | Copyright (C) 2002-2004 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.net |
7 | Copyright (c) 2009 Andras Mantia <andras@kdab.net> | 7 | Copyright (c) 2009 Andras Mantia <andras@kdab.net> |
8 | Copyright (c) 2015 Sandro Knauß <sknauss@kde.org> | 8 | Copyright (c) 2015 Sandro Knauß <sknauss@kde.org> |
9 | Copyright (c) 2017 Christian Mollekopf <mollekopf@kolabsystems.com> | ||
9 | 10 | ||
10 | KMail is free software; you can redistribute it and/or modify it | 11 | KMail is free software; you can redistribute it and/or modify it |
11 | under the terms of the GNU General Public License, version 2, as | 12 | under the terms of the GNU General Public License, version 2, as |
@@ -134,6 +135,9 @@ QString ObjectTreeParser::plainTextContent() | |||
134 | if (dynamic_cast<MimeTreeParser::TextMessagePart*>(part.data())) { | 135 | if (dynamic_cast<MimeTreeParser::TextMessagePart*>(part.data())) { |
135 | return true; | 136 | return true; |
136 | } | 137 | } |
138 | if (dynamic_cast<MimeTreeParser::AlternativeMessagePart*>(part.data())) { | ||
139 | return true; | ||
140 | } | ||
137 | return false; | 141 | return false; |
138 | }); | 142 | }); |
139 | for (const auto &part : plainParts) { | 143 | for (const auto &part : plainParts) { |
@@ -155,10 +159,17 @@ QString ObjectTreeParser::htmlContent() | |||
155 | if (dynamic_cast<MimeTreeParser::HtmlMessagePart*>(part.data())) { | 159 | if (dynamic_cast<MimeTreeParser::HtmlMessagePart*>(part.data())) { |
156 | return true; | 160 | return true; |
157 | } | 161 | } |
162 | if (dynamic_cast<MimeTreeParser::AlternativeMessagePart*>(part.data())) { | ||
163 | return true; | ||
164 | } | ||
158 | return false; | 165 | return false; |
159 | }); | 166 | }); |
160 | for (const auto &part : contentParts) { | 167 | for (const auto &part : contentParts) { |
161 | content += part->text(); | 168 | if (auto p = dynamic_cast<MimeTreeParser::AlternativeMessagePart*>(part.data())) { |
169 | content += p->htmlContent(); | ||
170 | } else { | ||
171 | content += part->text(); | ||
172 | } | ||
162 | } | 173 | } |
163 | } | 174 | } |
164 | return content; | 175 | return content; |