summaryrefslogtreecommitdiffstats
path: root/framework/src/domain/mime/mimetreeparser
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/domain/mime/mimetreeparser')
-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;