diff --git a/src/app/qml/RoomPage.qml b/src/app/qml/RoomPage.qml index 16503d1e7..a4816559d 100644 --- a/src/app/qml/RoomPage.qml +++ b/src/app/qml/RoomPage.qml @@ -349,8 +349,9 @@ Kirigami.Page { }); } - function onShowDelegateMenu(parent: QtObject, eventId: string, author, messageComponentType, plainText: string, richText: string, mimeType: string, progressInfo, selectedText: string, hoveredLink: string) { + function onShowDelegateMenu(parent: QtObject, room: NeoChatRoom, eventId: string, author, messageComponentType, plainText: string, richText: string, mimeType: string, progressInfo, selectedText: string, hoveredLink: string) { (delegateContextMenu.createObject(parent, { + room: room, author: author, eventId: eventId, plainText: plainText, diff --git a/src/app/roommanager.cpp b/src/app/roommanager.cpp index 73da9aa10..fce77fef7 100644 --- a/src/app/roommanager.cpp +++ b/src/app/roommanager.cpp @@ -290,6 +290,7 @@ void RoomManager::viewEventMenu(QObject *parent, const RoomEvent *event, NeoChat } Q_EMIT showDelegateMenu(parent, + room, event->id(), room->qmlSafeMember(event->senderId()), MessageComponentType::typeForEvent(*event), diff --git a/src/app/roommanager.h b/src/app/roommanager.h index ff569e419..f765969d5 100644 --- a/src/app/roommanager.h +++ b/src/app/roommanager.h @@ -308,6 +308,7 @@ Q_SIGNALS: * @brief Request to show a menu for the given event. */ void showDelegateMenu(QObject *parent, + NeoChatRoom *room, const QString &eventId, const NeochatRoomMember *author, MessageComponentType::Type messageComponentType, diff --git a/src/timeline/DelegateContextMenu.qml b/src/timeline/DelegateContextMenu.qml index 7771b6a43..22360381b 100644 --- a/src/timeline/DelegateContextMenu.qml +++ b/src/timeline/DelegateContextMenu.qml @@ -159,7 +159,7 @@ KirigamiComponents.ConvergentContextMenu { Kirigami.Action { id: replyAction - visible: root.messageComponentType !== MessageComponentType.Other || NeoChatConfig.relateAnyEvent + visible: !root.room.readOnly && (root.messageComponentType !== MessageComponentType.Other || NeoChatConfig.relateAnyEvent) text: i18nc("@action:inmenu", "Reply") icon.name: "mail-replied-symbolic" onTriggered: {