diff --git a/src/gui/messagepreviewer.cpp b/src/gui/messagepreviewer.cpp index 4280271fe..78d59e472 100755 --- a/src/gui/messagepreviewer.cpp +++ b/src/gui/messagepreviewer.cpp @@ -15,6 +15,12 @@ void MessagePreviewer::createConnections() { connect(m_ui->m_txtMessage, &QTextBrowser::anchorClicked, [=](const QUrl& url) { + if (url.toString().startsWith(INTERNAL_URL_PASSATTACHMENT) && + m_root != nullptr && + m_root->getParentServiceRoot()->downloadAttachmentOnMyOwn(url)) { + return; + } + if (!url.isEmpty()) { bool open_externally_now = qApp->settings()->value(GROUP(Browser), SETTING(Browser::OpenLinksInExternalBrowserRightAway)).toBool(); @@ -188,7 +194,16 @@ QString MessagePreviewer::prepareHtmlForMessage(const Message& message) { html += QString("[url] %1
").arg(message.m_url); foreach (const Enclosure& enc, message.m_enclosures) { - html += QString("[%2] %1
").arg(enc.m_url, enc.m_mimeType); + QString enc_url; + + if (!enc.m_url.contains(QRegularExpression(QSL("^(http|ftp|\\/)")))) { + enc_url = QString(INTERNAL_URL_PASSATTACHMENT) + QL1S("/?") + enc.m_url; + } + else { + enc_url = enc.m_url; + } + + html += QString("[%2] %1
").arg(enc_url, enc.m_mimeType); } int offset = 0;