diff options
author | Sandro Knauß <sknauss@kde.org> | 2016-10-17 16:33:03 +0200 |
---|---|---|
committer | Sandro Knauß <sknauss@kde.org> | 2016-10-17 16:33:03 +0200 |
commit | 5cb20dd3886ee229d74068c75250691c840e89a1 (patch) | |
tree | 09a320d588adc4e9e6c6c3b813518b6688fa111d /framework/domain/mimetreeparser/interface.cpp | |
parent | 1fe0ab05ae2bfe6505736f598bd535a71fb86a6f (diff) | |
download | kube-5cb20dd3886ee229d74068c75250691c840e89a1.tar.gz kube-5cb20dd3886ee229d74068c75250691c840e89a1.zip |
Read correct charset out of mailpart
Diffstat (limited to 'framework/domain/mimetreeparser/interface.cpp')
-rw-r--r-- | framework/domain/mimetreeparser/interface.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/framework/domain/mimetreeparser/interface.cpp b/framework/domain/mimetreeparser/interface.cpp index b5e29e6b..ceb8caf3 100644 --- a/framework/domain/mimetreeparser/interface.cpp +++ b/framework/domain/mimetreeparser/interface.cpp | |||
@@ -64,6 +64,17 @@ QByteArray MailMime::cid() const | |||
64 | return d->mNode->contentID()->identifier(); | 64 | return d->mNode->contentID()->identifier(); |
65 | } | 65 | } |
66 | 66 | ||
67 | QByteArray MailMime::charset() const | ||
68 | { | ||
69 | if(!d->mNode || !d->mNode->contentType(false)) { | ||
70 | return QByteArray(); | ||
71 | } | ||
72 | if (d->mNode->contentType(false)) { | ||
73 | return d->mNode->contentType(false)->charset(); | ||
74 | } | ||
75 | return d->mNode->defaultCharset(); | ||
76 | } | ||
77 | |||
67 | bool MailMime::isFirstTextPart() const | 78 | bool MailMime::isFirstTextPart() const |
68 | { | 79 | { |
69 | if (!d->mNode || !d->mNode->topLevel()) { | 80 | if (!d->mNode || !d->mNode->topLevel()) { |
@@ -559,7 +570,6 @@ void SinglePartPrivate::fillFrom(MimeTreeParser::TextMessagePart::Ptr part) | |||
559 | auto d_ptr = new ContentPrivate; | 570 | auto d_ptr = new ContentPrivate; |
560 | d_ptr->mContent = mp->text().toLocal8Bit(); | 571 | d_ptr->mContent = mp->text().toLocal8Bit(); |
561 | d_ptr->mParent = q; | 572 | d_ptr->mParent = q; |
562 | d_ptr->mCodec = "utf-8"; | ||
563 | const auto enc = mp.dynamicCast<MimeTreeParser::EncryptedMessagePart>(); | 573 | const auto enc = mp.dynamicCast<MimeTreeParser::EncryptedMessagePart>(); |
564 | auto sig = mp.dynamicCast<MimeTreeParser::SignedMessagePart>(); | 574 | auto sig = mp.dynamicCast<MimeTreeParser::SignedMessagePart>(); |
565 | if (enc) { | 575 | if (enc) { |
@@ -574,6 +584,7 @@ void SinglePartPrivate::fillFrom(MimeTreeParser::TextMessagePart::Ptr part) | |||
574 | } | 584 | } |
575 | mContent.append(std::make_shared<PlainTextContent>(d_ptr)); | 585 | mContent.append(std::make_shared<PlainTextContent>(d_ptr)); |
576 | q->reachParentD()->createMailMime(part); | 586 | q->reachParentD()->createMailMime(part); |
587 | d_ptr->mCodec = q->mailMime()->charset(); | ||
577 | } | 588 | } |
578 | } | 589 | } |
579 | 590 | ||