diff options
author | Valerio Valerio <valerio.valerio@jollamobile.com> | 2014-03-27 21:11:05 +0200 |
---|---|---|
committer | Robin Burchell <robin.burchell@viroteck.net> | 2015-08-28 13:07:39 +0000 |
commit | cf8b3f97bbc55713f3e1d0faafd0ea79301db8f9 (patch) | |
tree | 7b013c85944868117eff1b6e7d250d47273d69e4 /src/libraries/qmfclient/qmailmessage.cpp | |
parent | 5207eb9e3e3c7706164d7dd042a9bcecadd64bb1 (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.cpp | 38 |
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); } /*! |