summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDon Sanders <don.sanders@nokia.com>2011-06-10 18:45:27 +0300
committerDon Sanders <don.sanders@nokia.com>2011-06-10 18:45:27 +0300
commitfc4ac124e5eb5045e70d0988da85fb893d98e972 (patch)
tree0f404665078184e4f37bddaf58a9616828766790
parent1b7f8b7fe91bbf37655d74128074b6a5840d6e35 (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.cpp9
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("<(.)[^>]*>"));