From 0cf1d87b12d36d3b53959b10dc9c228a397af3e9 Mon Sep 17 00:00:00 2001 From: James Graham Date: Sun, 28 Apr 2024 10:51:44 +0000 Subject: [PATCH] Fix the master show link preview setting and add back the per room setting Title BUG: 486126 --- src/models/messagecontentmodel.cpp | 9 ++++++--- src/models/messagecontentmodel.h | 7 ++++++- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/models/messagecontentmodel.cpp b/src/models/messagecontentmodel.cpp index 42d56a74c..b0077fe79 100644 --- a/src/models/messagecontentmodel.cpp +++ b/src/models/messagecontentmodel.cpp @@ -277,7 +277,9 @@ void MessageContentModel::updateComponents(bool isEditing) m_components.append(componentsForType(eventHandler.messageComponentType())); } - addLinkPreviews(); + if (m_room->urlPreviewEnabled()) { + addLinkPreviews(); + } endResetModel(); } @@ -360,8 +362,9 @@ void MessageContentModel::addLinkPreviews() if (LinkPreviewer::hasPreviewableLinks(component.content)) { const auto links = LinkPreviewer::linkPreviews(component.content); for (qsizetype j = 0; j < links.size(); ++j) { - if (!m_removedLinkPreviews.contains(links[j])) { - m_components.insert(i + j + 1, linkPreviewComponent(links[j])); + const auto linkPreview = linkPreviewComponent(links[j]); + if (!m_removedLinkPreviews.contains(links[j]) && !linkPreview.isEmpty()) { + m_components.insert(i + j + 1, linkPreview); } }; } diff --git a/src/models/messagecontentmodel.h b/src/models/messagecontentmodel.h index 7d4638e65..d42438498 100644 --- a/src/models/messagecontentmodel.h +++ b/src/models/messagecontentmodel.h @@ -15,7 +15,7 @@ #include "neochatroom.h" struct MessageComponent { - MessageComponentType::Type type; + MessageComponentType::Type type = MessageComponentType::Other; QString content; QVariantMap attributes; @@ -23,6 +23,11 @@ struct MessageComponent { { return type == right.type && content == right.content && attributes == right.attributes; } + + bool isEmpty() const + { + return type == MessageComponentType::Other; + } }; /**