summaryrefslogtreecommitdiffstats
path: root/src/libraries/qmfclient/qmailmessage.cpp
diff options
context:
space:
mode:
authorValerio Valerio <valerio.valerio@jollamobile.com>2014-03-27 21:11:05 +0200
committerRobin Burchell <robin.burchell@viroteck.net>2015-08-28 13:07:39 +0000
commitcf8b3f97bbc55713f3e1d0faafd0ea79301db8f9 (patch)
tree7b013c85944868117eff1b6e7d250d47273d69e4 /src/libraries/qmfclient/qmailmessage.cpp
parent5207eb9e3e3c7706164d7dd042a9bcecadd64bb1 (diff)
Set contentAvailable and encoding correctly for transferred body parts.
Change-Id: I5ee07f902ddb7f6b2d6ea4662070757df74f22ad Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
Diffstat (limited to 'src/libraries/qmfclient/qmailmessage.cpp')
-rw-r--r--src/libraries/qmfclient/qmailmessage.cpp38
1 files changed, 34 insertions, 4 deletions
diff --git a/src/libraries/qmfclient/qmailmessage.cpp b/src/libraries/qmfclient/qmailmessage.cpp
index 67b33879..d44b2fd2 100644
--- a/src/libraries/qmfclient/qmailmessage.cpp
+++ b/src/libraries/qmfclient/qmailmessage.cpp
@@ -3477,6 +3477,16 @@ int QMailMessageBodyPrivate::length() const
return _bodyData.length();
}
+bool QMailMessageBodyPrivate::encoded() const
+{
+ return _encoded;
+}
+
+void QMailMessageBodyPrivate::setEncoded(bool value)
+{
+ _encoded = value;
+}
+
uint QMailMessageBodyPrivate::indicativeSize() const
{
return (_bodyData.length() / IndicativeSizeUnit);
@@ -3800,6 +3810,18 @@ uint QMailMessageBody::indicativeSize() const
}
/*! \internal */
+bool QMailMessageBody::encoded() const
+{
+ return impl(this)->encoded();
+}
+
+/*! \internal */
+void QMailMessageBody::setEncoded(bool value)
+{
+ impl(this)->setEncoded(value);
+}
+
+/*! \internal */
void QMailMessageBody::output(QDataStream& out, bool includeAttachments) const
{
impl(this)->output(out, includeAttachments);
@@ -4132,7 +4154,7 @@ const QMailMessageBody& QMailMessagePartContainerPrivate::body() const
return const_cast<QMailMessagePartContainerPrivate*>(this)->_body;
}
-void QMailMessagePartContainerPrivate::setBody(const QMailMessageBody& body)
+void QMailMessagePartContainerPrivate::setBody(const QMailMessageBody& body, QMailMessageBody::EncodingFormat encodingStatus)
{
// Set the body's properties into our header
setBodyProperties(body.contentType(), body.transferEncoding());
@@ -4143,6 +4165,12 @@ void QMailMessagePartContainerPrivate::setBody(const QMailMessageBody& body)
_hasBody = !_body.isEmpty();
}
+ if (encodingStatus == QMailMessageBody::Encoded) {
+ _body.setEncoded(true);
+ } else if (encodingStatus == QMailMessageBody::Decoded) {
+ _body.setEncoded(false);
+ }
+
setPreviewDirty(true);
}
@@ -4715,11 +4743,13 @@ void QMailMessagePartContainer::setBoundary(const QByteArray& text)
}
/*!
- Sets the part to contain the body element \a body.
+ Sets the part to contain the body element \a body, \a encodingStatus describes the current status of \a body regarding encoding.
+ Note: No encoding/decoding operation will be performed in the body element, only the encoding status flag
+ will be set if provided.
*/
-void QMailMessagePartContainer::setBody(const QMailMessageBody& body)
+void QMailMessagePartContainer::setBody(const QMailMessageBody& body, QMailMessageBody::EncodingFormat encodingStatus)
{
- impl(this)->setBody(body);
+ impl(this)->setBody(body, encodingStatus);
}
/*!