diff --git a/src/roominfo/RoomMedia.qml b/src/roominfo/RoomMedia.qml index 967d281c5..05c8a8a71 100644 --- a/src/roominfo/RoomMedia.qml +++ b/src/roominfo/RoomMedia.qml @@ -52,7 +52,6 @@ QQC2.ScrollView { delegate: Timeline.MessageDelegate { alwaysFillWidth: true cardBackground: false - room: root.room } } @@ -61,7 +60,6 @@ QQC2.ScrollView { delegate: Timeline.MessageDelegate { alwaysFillWidth: true cardBackground: false - room: root.room } } } diff --git a/src/timeline/EventDelegate.qml b/src/timeline/EventDelegate.qml index 844ac6ce6..74815cd01 100644 --- a/src/timeline/EventDelegate.qml +++ b/src/timeline/EventDelegate.qml @@ -21,16 +21,12 @@ DelegateChooser { DelegateChoice { roleValue: DelegateType.State - delegate: StateDelegate { - room: root.room - } + delegate: StateDelegate {} } DelegateChoice { roleValue: DelegateType.Message - delegate: MessageDelegate { - room: root.room - } + delegate: MessageDelegate {} } DelegateChoice { @@ -45,23 +41,17 @@ DelegateChooser { DelegateChoice { roleValue: DelegateType.Predecessor - delegate: PredecessorDelegate { - room: root.room - } + delegate: PredecessorDelegate {} } DelegateChoice { roleValue: DelegateType.Successor - delegate: SuccessorDelegate { - room: root.room - } + delegate: SuccessorDelegate {} } DelegateChoice { roleValue: DelegateType.TimelineEnd - delegate: TimelineEndDelegate { - room: root.room - } + delegate: TimelineEndDelegate {} } DelegateChoice { @@ -75,9 +65,7 @@ DelegateChooser { Component { id: hiddenDelegate - HiddenDelegate { - room: root.room - } + HiddenDelegate {} } Component { id: emptyDelegate diff --git a/src/timeline/models/messagemodel.cpp b/src/timeline/models/messagemodel.cpp index 91c72054b..65991199e 100644 --- a/src/timeline/models/messagemodel.cpp +++ b/src/timeline/models/messagemodel.cpp @@ -326,6 +326,10 @@ QVariant MessageModel::data(const QModelIndex &idx, int role) const return event.value().get().matrixType(); } + if (role == RoomRole) { + return QVariant::fromValue(eventRoom); + } + return {}; } @@ -356,6 +360,7 @@ QHash MessageModel::roleNames() const roles[IsEditableRole] = "isEditable"; roles[ShowAuthorRole] = "showAuthor"; roles[EventTypeRole] = "eventType"; + roles[RoomRole] = "room"; return roles; } diff --git a/src/timeline/models/messagemodel.h b/src/timeline/models/messagemodel.h index 687845fd6..6fb02c3c4 100644 --- a/src/timeline/models/messagemodel.h +++ b/src/timeline/models/messagemodel.h @@ -87,6 +87,7 @@ public: 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. */ + RoomRole, /**< The room this event is from. */ LastRole, // Keep this last }; Q_ENUM(EventRoles)