[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kdepim-addons/Applications/16.08] plugins/messageviewer/bodypartformatter/calendar: Fix generate an
From: Montel Laurent <montel () kde ! org>
Date: 2016-08-05 20:36:19
Message-ID: E1bVlqt-0002eP-0Z () code ! kde ! org
[Download RAW message or body]
Git commit 3f85f477a9a3a7258e7f1adede5b3ca380b5303e by Montel Laurent.
Committed on 05/08/2016 at 20:35.
Pushed by mlaurent into branch 'Applications/16.08'.
Fix generate answer
M +42 -12 plugins/messageviewer/bodypartformatter/calendar/text_calendar.cpp
http://commits.kde.org/kdepim-addons/3f85f477a9a3a7258e7f1adede5b3ca380b5303e
diff --git a/plugins/messageviewer/bodypartformatter/calendar/text_calendar.cpp \
b/plugins/messageviewer/bodypartformatter/calendar/text_calendar.cpp index \
ebb344a..5732c8e 100644
--- a/plugins/messageviewer/bodypartformatter/calendar/text_calendar.cpp
+++ b/plugins/messageviewer/bodypartformatter/calendar/text_calendar.cpp
@@ -543,21 +543,51 @@ public:
msg->from()->fromUnicodeString(receiver, "utf-8");
msg->date()->setDateTime(QDateTime::currentDateTime());
- if (!MessageViewer::MessageViewerSettings::self()->legacyBodyInvites()) {
- msg->contentType()->from7BitString("text/calendar; method=reply; \
charset=\"utf-8\""); + if \
(MessageViewer::MessageViewerSettings::self()->legacyBodyInvites()) { + \
msg->contentType()->setMimeType("text/calendar"); + \
msg->contentType()->setCharset("utf-8"); + \
msg->contentType()->setName(QStringLiteral("cal.ics"), "utf-8"); + \
msg->contentType()->setParameter(QStringLiteral("method"), QStringLiteral("reply")); \
+ + KMime::Headers::ContentDisposition *disposition = new \
KMime::Headers::ContentDisposition; + \
disposition->setDisposition(KMime::Headers::CDinline); + \
msg->setHeader(disposition);
msg->contentTransferEncoding()->setEncoding(KMime::Headers::CEquPr);
msg->setBody(KMime::CRLFtoLF(iCal.toUtf8()));
} else {
- KMime::Content *text = new KMime::Content;
- text->contentType()->from7BitString("text/plain; charset=\"us-ascii\"");
- text->contentTransferEncoding()->setEncoding(KMime::Headers::CE7Bit);
- text->setBody("");
- msg->addContent(text);
- KMime::Content *body = new KMime::Content;
- body->contentType()->from7BitString("text/calendar; name=\"cal.ics\"; \
method=\"reply\"; charset=\"utf-8\"");
- body->contentTransferEncoding()->setEncoding(KMime::Headers::CEquPr);
- body->setBody(KMime::CRLFtoLF(iCal.toUtf8()));
- msg->addContent(body);
+ // We need to set following 4 lines by hand else \
KMime::Content::addContent + // will create a new Content instance for us \
to attach the main message + // what we don't need cause we already have \
the main message instance where + // 2 additional messages are attached.
+ KMime::Headers::ContentType *ct = msg->contentType();
+ ct->setMimeType("multipart/mixed");
+ ct->setBoundary(KMime::multiPartBoundary());
+ ct->setCategory(KMime::Headers::CCcontainer);
+
+ // Set the first multipart, the body message.
+ KMime::Content *bodyMessage = new KMime::Content;
+ KMime::Headers::ContentDisposition *bodyDisposition = new \
KMime::Headers::ContentDisposition; + \
bodyDisposition->setDisposition(KMime::Headers::CDinline); + \
bodyMessage->contentType()->setMimeType("text/plain"); + \
bodyMessage->contentType()->setCharset("utf-8"); + \
bodyMessage->contentTransferEncoding()->setEncoding(KMime::Headers::CEquPr); + \
bodyMessage->setBody(KMime::CRLFtoLF(iCal.toUtf8())); + \
bodyMessage->setHeader(bodyDisposition); + msg->addContent(bodyMessage);
+
+ // Set the second multipart, the attachment.
+ KMime::Content *attachMessage = new KMime::Content;
+ KMime::Headers::ContentDisposition *attachDisposition = new \
KMime::Headers::ContentDisposition; + \
attachDisposition->setDisposition(KMime::Headers::CDattachment); + \
attachMessage->contentType()->setMimeType("text/calendar"); + \
attachMessage->contentType()->setCharset("utf-8"); + \
attachMessage->contentType()->setName(QStringLiteral("cal.ics"), "utf-8"); + \
attachMessage->contentType()->setParameter(QStringLiteral("method"), + \
QStringLiteral("reply")); + attachMessage->setHeader(attachDisposition);
+ attachMessage->contentTransferEncoding()->setEncoding(KMime::Headers::CEquPr);
+ attachMessage->setBody(KMime::CRLFtoLF(iCal.toUtf8()));
+ msg->addContent(attachMessage);
}
// Try and match the receiver with an identity.
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic