From 5262ec4b564a70b7d75bbe5741a4412a152a6942 Mon Sep 17 00:00:00 2001 From: Tobias Fella Date: Sun, 20 Apr 2025 15:17:58 +0200 Subject: [PATCH] Show event type for hidden events --- src/timeline/HiddenDelegate.qml | 4 +++- src/timeline/models/messagemodel.cpp | 5 +++++ src/timeline/models/messagemodel.h | 1 + 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/timeline/HiddenDelegate.qml b/src/timeline/HiddenDelegate.qml index 0032b3155..6cca3cd93 100644 --- a/src/timeline/HiddenDelegate.qml +++ b/src/timeline/HiddenDelegate.qml @@ -28,6 +28,8 @@ TimelineDelegate { */ required property NeochatRoomMember author + required property string eventType + width: parent?.width rightPadding: NeoChatConfig.compactLayout && root.ListView.view.width >= Kirigami.Units.gridUnit * 20 ? Kirigami.Units.gridUnit * 2 + Kirigami.Units.largeSpacing : Kirigami.Units.largeSpacing @@ -53,7 +55,7 @@ TimelineDelegate { } QQC2.Label { Layout.fillWidth: true - text: root.author.displayName + " : " + root.eventId + text: root.author.displayName + ": " + root.eventType + " " + root.eventId color: Kirigami.Theme.disabledTextColor verticalAlignment: Text.AlignVCenter elide: Text.ElideRight diff --git a/src/timeline/models/messagemodel.cpp b/src/timeline/models/messagemodel.cpp index e7ad42a4a..3d9d66490 100644 --- a/src/timeline/models/messagemodel.cpp +++ b/src/timeline/models/messagemodel.cpp @@ -309,6 +309,10 @@ QVariant MessageModel::data(const QModelIndex &idx, int role) const return true; } + if (role == EventTypeRole) { + return event.value().get().matrixType(); + } + return {}; } @@ -338,6 +342,7 @@ QHash MessageModel::roleNames() const roles[MediaInfoRole] = "mediaInfo"; roles[IsEditableRole] = "isEditable"; roles[ShowAuthorRole] = "showAuthor"; + roles[EventTypeRole] = "eventType"; return roles; } diff --git a/src/timeline/models/messagemodel.h b/src/timeline/models/messagemodel.h index f8fff7f89..43bb17ac3 100644 --- a/src/timeline/models/messagemodel.h +++ b/src/timeline/models/messagemodel.h @@ -84,6 +84,7 @@ public: IsPendingRole, /**< Whether an event is waiting to be accepted by the server. */ IsEditableRole, /**< Whether the event can be edited by the user. */ ShowAuthorRole, /**< Whether the author of a message should be shown. */ + EventTypeRole, /**< The matrix event type of this message. */ LastRole, // Keep this last }; Q_ENUM(EventRoles)