Add support for reporting rooms and users

This was added in recent Matrix versions, and a desperately needed
feature.
This commit is contained in:
Joshua Goins
2025-09-09 17:41:46 +02:00
parent 197d7ce8e8
commit 03d5955c8d
10 changed files with 108 additions and 1 deletions

View File

@@ -150,6 +150,26 @@ KirigamiComponents.ConvergentContextMenu {
separator: true
}
Kirigami.Action {
text: i18nc("@action:button 'Report' as in 'Report this room to the administrators'", "Report…")
icon.name: "dialog-warning-symbolic"
visible: root.connection.supportsMatrixSpecVersion("v1.13")
onTriggered: {
let dialog = (root.Kirigami.PageStack.pageStack as Kirigami.PageRow).pushDialogLayer(Qt.createComponent('org.kde.neochat', 'ReasonDialog'), {
title: i18nc("@title:dialog", "Report Room"),
placeholder: i18nc("@info:placeholder", "Reason for reporting this room"),
icon: "dialog-warning-symbolic",
actionText: i18nc("@action:button 'Report' as in 'Report this room to the administrators'", "Report")
}, {
title: i18nc("@title", "Report Room"),
width: Kirigami.Units.gridUnit * 25
}) as ReasonDialog;
dialog.accepted.connect(reason => {
currentRoom.report(reason);
});
}
}
QQC2.Action {
text: i18nc("@action:inmenu", "Leave Room…")
icon.name: "go-previous"