summaryrefslogtreecommitdiffstats
path: root/framework/src/domain/mime/mimetreeparser/objecttreeparser.cpp
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2017-07-11 16:01:27 +0200
committerChristian Mollekopf <chrigi_1@fastmail.fm>2017-07-11 16:01:27 +0200
commit37f18e26ca729fac64fd29164b09f3d3f1143520 (patch)
treecf9c45d43069cbc9bf38e825ad34e0817cd3835b /framework/src/domain/mime/mimetreeparser/objecttreeparser.cpp
parent8994cab9db689e13dae7445b1946920dca4c6be7 (diff)
downloadkube-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.cpp13
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;