summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2017-10-08 15:40:44 +0200
committerChristian Mollekopf <chrigi_1@fastmail.fm>2017-10-08 15:40:44 +0200
commitf1e9fd9c4b5a166f8d0cbcec099470cbcea0f058 (patch)
treef708e92d6255dcdb545904c3372d3bc3a6b799e4
parent00bcc137ab2d82d786f1b4423f3d3b4e5c30e71d (diff)
downloadkube-f1e9fd9c4b5a166f8d0cbcec099470cbcea0f058.tar.gz
kube-f1e9fd9c4b5a166f8d0cbcec099470cbcea0f058.zip
Simplified code a bit
-rw-r--r--framework/src/domain/mime/mailtemplates.cpp24
1 files changed, 13 insertions, 11 deletions
diff --git a/framework/src/domain/mime/mailtemplates.cpp b/framework/src/domain/mime/mailtemplates.cpp
index 02e71bce..8b2b49db 100644
--- a/framework/src/domain/mime/mailtemplates.cpp
+++ b/framework/src/domain/mime/mailtemplates.cpp
@@ -69,6 +69,13 @@ static KMime::Types::Mailbox::List stripMyAddressesFromAddressList(const KMime::
69 return addresses; 69 return addresses;
70} 70}
71 71
72static QString toPlainText(const QString &s)
73{
74 QTextDocument doc;
75 doc.setHtml(s);
76 return doc.toPlainText();
77}
78
72void initHeader(const KMime::Message::Ptr &message) 79void initHeader(const KMime::Message::Ptr &message)
73{ 80{
74 message->removeHeader<KMime::Headers::To>(); 81 message->removeHeader<KMime::Headers::To>();
@@ -881,9 +888,7 @@ QString MailTemplates::plaintextContent(const KMime::Message::Ptr &msg)
881 const auto plain = otp.plainTextContent(); 888 const auto plain = otp.plainTextContent();
882 if (plain.isEmpty()) { 889 if (plain.isEmpty()) {
883 //Maybe not as good as the webengine version, but works at least for simple html content 890 //Maybe not as good as the webengine version, but works at least for simple html content
884 QTextDocument doc; 891 return toPlainText(otp.htmlContent());
885 doc.setHtml(otp.htmlContent());
886 return doc.toPlainText();
887 } 892 }
888 return plain; 893 return plain;
889} 894}
@@ -906,16 +911,16 @@ static KMime::Content *createAttachmentPart(const QByteArray &content, const QSt
906 return part; 911 return part;
907} 912}
908 913
909static KMime::Content *createPlainBodyPart(const QByteArray &body) { 914static KMime::Content *createPlainBodyPart(const QString &body) {
910 auto mainMessage = new KMime::Content; 915 auto mainMessage = new KMime::Content;
911 mainMessage->setBody(body); 916 mainMessage->setBody(body.toUtf8());
912 mainMessage->contentType(true)->setMimeType("text/plain"); 917 mainMessage->contentType(true)->setMimeType("text/plain");
913 return mainMessage; 918 return mainMessage;
914} 919}
915 920
916static KMime::Content *createHtmlBodyPart(const QByteArray &body) { 921static KMime::Content *createHtmlBodyPart(const QString &body) {
917 auto mainMessage = new KMime::Content; 922 auto mainMessage = new KMime::Content;
918 mainMessage->setBody(body); 923 mainMessage->setBody(body.toUtf8());
919 mainMessage->contentType(true)->setMimeType("text/html"); 924 mainMessage->contentType(true)->setMimeType("text/html");
920 return mainMessage; 925 return mainMessage;
921} 926}
@@ -926,10 +931,7 @@ static KMime::Content *createBodyPart(const QByteArray &body, bool htmlBody) {
926 bodyPart->contentType(true)->setMimeType("multipart/alternative"); 931 bodyPart->contentType(true)->setMimeType("multipart/alternative");
927 bodyPart->contentType()->setBoundary(KMime::multiPartBoundary()); 932 bodyPart->contentType()->setBoundary(KMime::multiPartBoundary());
928 933
929 QTextDocument doc; 934 bodyPart->addContent(createPlainBodyPart(toPlainText(body)));
930 doc.setHtml(body);
931
932 bodyPart->addContent(createPlainBodyPart(doc.toPlainText().toUtf8()));
933 bodyPart->addContent(createHtmlBodyPart(body)); 935 bodyPart->addContent(createHtmlBodyPart(body));
934 return bodyPart; 936 return bodyPart;
935 } else { 937 } else {