diff options
Diffstat (limited to 'framework/src/domain/mime/partmodel.cpp')
-rw-r--r-- | framework/src/domain/mime/partmodel.cpp | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/framework/src/domain/mime/partmodel.cpp b/framework/src/domain/mime/partmodel.cpp index eeeb391d..0f4afcd8 100644 --- a/framework/src/domain/mime/partmodel.cpp +++ b/framework/src/domain/mime/partmodel.cpp | |||
@@ -114,6 +114,20 @@ QModelIndex PartModel::index(int row, int column, const QModelIndex &parent) con | |||
114 | return QModelIndex(); | 114 | return QModelIndex(); |
115 | } | 115 | } |
116 | 116 | ||
117 | static QString addCss(const QString &s) | ||
118 | { | ||
119 | //overflow:hidden ensures no scrollbars are ever shown. | ||
120 | const auto css = "<style>\n" | ||
121 | "body {\n" | ||
122 | "overflow:hidden;\n" | ||
123 | "}\n" | ||
124 | "</style>"; | ||
125 | const auto header = QLatin1String("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n" | ||
126 | "<html><head><title></title>") | ||
127 | + css + QLatin1String("</head>\n<body>\n"); | ||
128 | return header + s + QStringLiteral("</body></html>"); | ||
129 | } | ||
130 | |||
117 | QVariant PartModel::data(const QModelIndex &index, int role) const | 131 | QVariant PartModel::data(const QModelIndex &index, int role) const |
118 | { | 132 | { |
119 | if (!index.isValid()) { | 133 | if (!index.isValid()) { |
@@ -177,7 +191,7 @@ QVariant PartModel::data(const QModelIndex &index, int role) const | |||
177 | case ContentRole: { | 191 | case ContentRole: { |
178 | const auto text = messagePart->isHtml() ? messagePart->htmlContent() : messagePart->text(); | 192 | const auto text = messagePart->isHtml() ? messagePart->htmlContent() : messagePart->text(); |
179 | if (messagePart->isHtml()) { | 193 | if (messagePart->isHtml()) { |
180 | return d->mParser->resolveCidLinks(text); | 194 | return addCss(d->mParser->resolveCidLinks(text)); |
181 | } else { //We assume plain | 195 | } else { //We assume plain |
182 | //We alwas do richtext (so we get highlighted links and stuff). | 196 | //We alwas do richtext (so we get highlighted links and stuff). |
183 | return HtmlUtils::linkify(Qt::convertFromPlainText(text)); | 197 | return HtmlUtils::linkify(Qt::convertFromPlainText(text)); |
@@ -198,6 +212,8 @@ QVariant PartModel::data(const QModelIndex &index, int role) const | |||
198 | return tr("Wrong passphrase."); | 212 | return tr("Wrong passphrase."); |
199 | case MimeTreeParser::MessagePart::UnknownError: | 213 | case MimeTreeParser::MessagePart::UnknownError: |
200 | break; | 214 | break; |
215 | default: | ||
216 | break; | ||
201 | } | 217 | } |
202 | return messagePart->errorString(); | 218 | return messagePart->errorString(); |
203 | } | 219 | } |