[network/ruqola] src/widgets: Don't show decrypted message as system message

Laurent Montel <[email protected]>
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git commit ad755f57bdc516e7ed5f54a4024af72003f55a24 by Laurent Montel.
Committed on 06/08/2026 at 11:29.
Pushed by mlaurent into branch 'master'.

Don't show decrypted message as system message

M  +3    -2    src/widgets/delegateutils/messagedelegateutils.cpp
M  +3    -3    src/widgets/room/delegate/messagelistdelegate.cpp
M  +4    -2    src/widgets/room/messagelistview.cpp

https://invent.kde.org/network/ruqola/-/commit/ad755f57bdc516e7ed5f54a4024af72003f55a24

diff --git a/src/widgets/delegateutils/messagedelegateutils.cpp b/src/widgets/delegateutils/messagedelegateutils.cpp
index e851f35127..fe0d213d83 100644
--- a/src/widgets/delegateutils/messagedelegateutils.cpp
+++ b/src/widgets/delegateutils/messagedelegateutils.cpp
@@ -68,12 +68,13 @@ void MessageDelegateUtils::generateToolTip(const QString &toolTip, const QString
 
 bool MessageDelegateUtils::useItalicsForMessage(const QModelIndex &index)
 {
+    const Message *message = index.data(MessagesModel::MessagePointer).value<Message *>();
     const auto messageType = index.data(MessagesModel::MessageType).value<Message::MessageType>();
     const bool isSystemMessage = messageType == Message::System
         && index.data(MessagesModel::SystemMessageType).value<SystemMessageTypeUtil::SystemMessageType>()
             != SystemMessageTypeUtil::SystemMessageType::JitsiCallStarted;
-    const bool isEncrypted = messageType == Message::EncryptedText;
-    return isEncrypted || isSystemMessage || index.data(MessagesModel::PrivateMessage).toBool();
+    const bool isEncrypted = messageType == Message::EncryptedText && !message->hasDescriptedContent();
+    return isEncrypted || isSystemMessage || message->privateMessage();
 }
 
 bool MessageDelegateUtils::pendingMessage(const QModelIndex &index)
diff --git a/src/widgets/room/delegate/messagelistdelegate.cpp b/src/widgets/room/delegate/messagelistdelegate.cpp
index e7eec491cf..b9d9dee75f 100644
--- a/src/widgets/room/delegate/messagelistdelegate.cpp
+++ b/src/widgets/room/delegate/messagelistdelegate.cpp
@@ -797,9 +797,9 @@ QSize MessageListDelegate::sizeHint(const QStyleOptionViewItem &option, const QM
 bool MessageListDelegate::isSystemMessage(const Message *message) const
 {
     const Message::MessageType messageType = message->messageType();
-    const bool isSystemMessage = (messageType == Message::EncryptedText) || (messageType == Message::System)
-        || (messageType == Message::Information) /* || (messageType == Message::VideoConference)*/;
-    return isSystemMessage || message->privateMessage();
+    const bool isSystemMessage = (messageType == Message::System) || (messageType == Message::Information) /* || (messageType == Message::VideoConference)*/;
+    const bool isEncrypted = messageType == Message::EncryptedText && !message->hasDescriptedContent();
+    return isEncrypted || isSystemMessage || message->privateMessage();
 }
 
 bool MessageListDelegate::mouseEvent(QEvent *event, const QStyleOptionViewItem &option, const QModelIndex &index)
diff --git a/src/widgets/room/messagelistview.cpp b/src/widgets/room/messagelistview.cpp
index 60794a7232..075057e7a3 100644
--- a/src/widgets/room/messagelistview.cpp
+++ b/src/widgets/room/messagelistview.cpp
@@ -401,8 +401,11 @@ void MessageListView::contextMenuEvent(QContextMenuEvent *event)
     if (mMessageListDelegate->contextMenu(options, index, info)) {
         return;
     }
+    const Message *message = index.data(MessagesModel::MessagePointer).value<Message *>();
+
     const auto messageType = index.data(MessagesModel::MessageType).value<Message::MessageType>();
-    const bool isSystemMessage = (messageType == Message::EncryptedText) || (messageType == Message::System) || (messageType == Message::Information);
+    const bool isSystemMessage = (messageType == Message::EncryptedText && !message->hasDescriptedContent()) || (messageType == Message::System)
+        || (messageType == Message::Information);
     QMenu menu(this);
     if (isSystemMessage) {
         if (Ruqola::self()->debug()) {
@@ -498,7 +501,6 @@ void MessageListView::contextMenuEvent(QContextMenuEvent *event)
         slotForwardMessage(index);
     });
 
-    const Message *message = index.data(MessagesModel::MessagePointer).value<Message *>();
     if (!message || !mCurrentRocketChatAccount) {
         return;
     }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.