diff --git a/resources/misc/previewInterop.js b/resources/misc/previewInterop.js index 4a8a3029..16a73661 100644 --- a/resources/misc/previewInterop.js +++ b/resources/misc/previewInterop.js @@ -44,11 +44,12 @@ function getPreviewInfo(messageId, url) { }) } -function parseMessage(messageId, message) { +function parseMessage(messageId, message, showPreview) { var links = linkify.find(message) if (links.length === 0) { return } - getPreviewInfo(messageId, links[0].href) + if (showPreview) + getPreviewInfo(messageId, links[0].href) window.jsbridge.linkifyReady(messageId, linkifyStr(message)) } diff --git a/src/commoncomponents/TextMessageDelegate.qml b/src/commoncomponents/TextMessageDelegate.qml index 4f94a981..e9c4e210 100644 --- a/src/commoncomponents/TextMessageDelegate.qml +++ b/src/commoncomponents/TextMessageDelegate.qml @@ -25,6 +25,7 @@ import QtGraphicalEffects 1.15 import net.jami.Models 1.1 import net.jami.Adapters 1.1 import net.jami.Constants 1.1 +import net.jami.Enums 1.1 SBSMessageBase { id : root @@ -170,7 +171,7 @@ SBSMessageBase { Behavior on opacity { NumberAnimation { duration: 100 } } Component.onCompleted: { if (!Linkified) { - MessagesAdapter.parseMessageUrls(Id, Body) + MessagesAdapter.parseMessageUrls(Id, Body, UtilsAdapter.getAppValue(Settings.DisplayHyperlinkPreviews)) } opacity = 1 } diff --git a/src/messagesadapter.cpp b/src/messagesadapter.cpp index 2d0875c5..efe43d18 100644 --- a/src/messagesadapter.cpp +++ b/src/messagesadapter.cpp @@ -407,9 +407,9 @@ MessagesAdapter::onConversationMessagesLoaded(uint32_t, const QString& convId) } void -MessagesAdapter::parseMessageUrls(const QString& messageId, const QString& msg) +MessagesAdapter::parseMessageUrls(const QString& messageId, const QString& msg, bool showPreview) { - previewEngine_->parseMessage(messageId, msg); + previewEngine_->parseMessage(messageId, msg, showPreview); } void diff --git a/src/messagesadapter.h b/src/messagesadapter.h index aec4f65d..7e7138ac 100644 --- a/src/messagesadapter.h +++ b/src/messagesadapter.h @@ -105,7 +105,7 @@ protected: Q_INVOKABLE QVariantMap getMediaInfo(const QString& msg); Q_INVOKABLE bool isRemoteImage(const QString& msg); Q_INVOKABLE QString getFormattedTime(const quint64 timestamp); - Q_INVOKABLE void parseMessageUrls(const QString& messageId, const QString& msg); + Q_INVOKABLE void parseMessageUrls(const QString& messageId, const QString& msg, bool showPreview); Q_INVOKABLE void onPaste(); Q_INVOKABLE QString getStatusString(int status); Q_INVOKABLE QVariantMap getTransferStats(const QString& messageId, int); diff --git a/src/previewengine.cpp b/src/previewengine.cpp index 439a91c5..5796ff07 100644 --- a/src/previewengine.cpp +++ b/src/previewengine.cpp @@ -70,9 +70,9 @@ PreviewEngine::PreviewEngine(QObject* parent) } void -PreviewEngine::parseMessage(const QString& messageId, const QString& msg) +PreviewEngine::parseMessage(const QString& messageId, const QString& msg, bool showPreview) { - page()->runJavaScript(QString("parseMessage(`%1`, `%2`)").arg(messageId, msg)); + page()->runJavaScript(QString("parseMessage(`%1`, `%2`, %3)").arg(messageId, msg, showPreview ? "true" : "false")); } void diff --git a/src/previewengine.h b/src/previewengine.h index 9b45c642..8cb7e322 100644 --- a/src/previewengine.h +++ b/src/previewengine.h @@ -52,7 +52,7 @@ public: explicit PreviewEngine(QObject* parent = nullptr); ~PreviewEngine() = default; - void parseMessage(const QString& messageId, const QString& msg); + void parseMessage(const QString& messageId, const QString& msg, bool showPreview); Q_SIGNALS: void infoReady(const QString& messageId, const QVariantMap& info); diff --git a/src/settingsview/components/ChatviewSettings.qml b/src/settingsview/components/ChatviewSettings.qml index 344bb4c5..660807e6 100644 --- a/src/settingsview/components/ChatviewSettings.qml +++ b/src/settingsview/components/ChatviewSettings.qml @@ -75,7 +75,6 @@ ColumnLayout { onSwitchToggled: { UtilsAdapter.setAppValue(Settings.Key.DisplayHyperlinkPreviews, checked) - MessagesAdapter.setDisplayLinks() } } }