diff options
author | Don Sanders <don.sanders@nokia.com> | 2011-06-10 18:45:27 +0300 |
---|---|---|
committer | Don Sanders <don.sanders@nokia.com> | 2011-06-10 18:45:27 +0300 |
commit | fc4ac124e5eb5045e70d0988da85fb893d98e972 (patch) | |
tree | 0f404665078184e4f37bddaf58a9616828766790 | |
parent | 1b7f8b7fe91bbf37655d74128074b6a5840d6e35 (diff) |
Fix NB#263850 Preview of the message shown with junk characters/links
if message has Inlined image
Patch from Eric.
-rw-r--r-- | src/libraries/qmfclient/qmailmessage.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/libraries/qmfclient/qmailmessage.cpp b/src/libraries/qmfclient/qmailmessage.cpp index 10c8ce28..cc8c5951 100644 --- a/src/libraries/qmfclient/qmailmessage.cpp +++ b/src/libraries/qmfclient/qmailmessage.cpp @@ -8232,11 +8232,14 @@ void QMailMessage::refreshPreview() QMailMessagePartContainer *part; + // TODO: don't load entire body into memory + // TODO: parse html correctly, e.g. closing brackets in quotes in tags + if ((part = findPlainTextContainer()) && part->hasBody()) { - metaDataImpl()->setPreview(part->body().data().left(maxPreviewLength)); + QString plaintext(part->body().data()); + plaintext.remove(QRegExp("\\[(image|cid):[^\\]]*\\]", Qt::CaseInsensitive)); + metaDataImpl()->setPreview(plaintext); } else if ((part = findHtmlContainer()) && part->hasBody()) { - // TODO: this properly.. - // TODO: don't load entire body into memory QString markup = part->body().data(); markup.remove(QRegExp("<\\s*(style|head|form|script)[^<]*<\\s*/\\s*\\1\\s*>", Qt::CaseInsensitive)); markup.remove(QRegExp("<(.)[^>]*>")); |