Display image urls in message view.
This commit is contained in:
parent
5a59f6f804
commit
7029db6139
@ -1,9 +1,13 @@
|
||||
3.2.1 (not yet released)
|
||||
—————
|
||||
|
||||
Added:
|
||||
|
||||
▪ Internal message previewer now introduces list of images contained in message contents of displayed message.
|
||||
|
||||
Fixed:
|
||||
|
||||
▪ Changes in count of all/unread messages are now faster.
|
||||
▪ Changes in count of all/unread messages are now faster. This results in (much) faster program startup when using BIG database file.
|
||||
|
||||
Changed:
|
||||
|
||||
|
@ -80,11 +80,10 @@ void MessagePreviewer::createConnections() {
|
||||
|
||||
QToolTip::showText(QCursor::pos(), tr("Click this link to download it or open it with external browser."), this);
|
||||
});
|
||||
connect(m_ui->m_txtMessage, &MessageTextBrowser::imageRequested, this, &MessagePreviewer::addMessageImage);
|
||||
}
|
||||
|
||||
MessagePreviewer::MessagePreviewer(QWidget *parent) : QWidget(parent),
|
||||
m_ui(new Ui::MessagePreviewer), m_messageImages(QStringList()) {
|
||||
m_ui(new Ui::MessagePreviewer) {
|
||||
m_ui->setupUi(this);
|
||||
m_ui->m_txtMessage->viewport()->setAutoFillBackground(true);
|
||||
m_toolBar = new QToolBar(this);
|
||||
@ -114,15 +113,12 @@ void MessagePreviewer::reloadFontSettings() {
|
||||
|
||||
void MessagePreviewer::clear() {
|
||||
m_ui->m_txtMessage->clear();
|
||||
m_messageImages.clear();
|
||||
|
||||
hide();
|
||||
}
|
||||
|
||||
void MessagePreviewer::loadMessage(const Message &message, RootItem *root) {
|
||||
m_message = message;
|
||||
m_root = root;
|
||||
m_messageImages.clear();
|
||||
|
||||
if (!m_root.isNull()) {
|
||||
m_actionSwitchImportance->setChecked(m_message.m_isImportant);
|
||||
@ -135,10 +131,6 @@ void MessagePreviewer::loadMessage(const Message &message, RootItem *root) {
|
||||
}
|
||||
}
|
||||
|
||||
void MessagePreviewer::addMessageImage(const QString &image_url) {
|
||||
m_messageImages.append(image_url);
|
||||
}
|
||||
|
||||
void MessagePreviewer::markMessageAsRead() {
|
||||
if (!m_root.isNull()) {
|
||||
if (m_root->getParentServiceRoot()->onBeforeSetMessagesRead(m_root.data(),
|
||||
@ -207,10 +199,19 @@ void MessagePreviewer::updateButtons() {
|
||||
QString MessagePreviewer::prepareHtmlForMessage(const Message &message) {
|
||||
QString html = QString("<h2 align=\"center\">%1</h2>").arg(message.m_title);
|
||||
|
||||
html += QString("<p>[url] <a href=\"%1\">%1</a></p>").arg(message.m_url);
|
||||
html += QString("[url] <a href=\"%1\">%1</a><br/>").arg(message.m_url);
|
||||
|
||||
foreach (const Enclosure &enc, message.m_enclosures) {
|
||||
html += QString("<p>[%2] <a href=\"%1\">%1</a></p>").arg(enc.m_url, enc.m_mimeType);
|
||||
html += QString("[%2] <a href=\"%1\">%1</a><br/>").arg(enc.m_url, enc.m_mimeType);
|
||||
}
|
||||
|
||||
int offset = 0;
|
||||
QRegExp imgTagRegex("\\<img[^\\>]*src\\s*=\\s*\"([^\"]*)\"[^\\>]*\\>", Qt::CaseInsensitive);
|
||||
|
||||
imgTagRegex.setMinimal(true);
|
||||
while( (offset = imgTagRegex.indexIn(message.m_contents, offset)) != -1){
|
||||
offset += imgTagRegex.matchedLength();
|
||||
html += QString("[%2] <a href=\"%1\">%1</a><br/>").arg(imgTagRegex.cap(1), tr("image"));
|
||||
}
|
||||
|
||||
html += "<hr/>";
|
||||
|
@ -48,7 +48,6 @@ class MessagePreviewer : public QWidget {
|
||||
void loadMessage(const Message &message, RootItem *root);
|
||||
|
||||
private slots:
|
||||
void addMessageImage(const QString &image_url);
|
||||
void markMessageAsRead();
|
||||
void markMessageAsUnread();
|
||||
void switchMessageImportance(bool checked);
|
||||
@ -57,7 +56,7 @@ class MessagePreviewer : public QWidget {
|
||||
void requestMessageListReload(bool mark_current_as_read);
|
||||
|
||||
private:
|
||||
void createConnections();
|
||||
void createConnections();
|
||||
void updateButtons();
|
||||
QString prepareHtmlForMessage(const Message &message);
|
||||
|
||||
@ -65,7 +64,6 @@ class MessagePreviewer : public QWidget {
|
||||
QScopedPointer<Ui::MessagePreviewer> m_ui;
|
||||
Message m_message;
|
||||
QPointer<RootItem> m_root;
|
||||
QStringList m_messageImages;
|
||||
|
||||
QAction *m_actionMarkRead;
|
||||
QAction *m_actionMarkUnread;
|
||||
|
Loading…
x
Reference in New Issue
Block a user