summary refs log tree commit diff
path: root/resources/qml/dialogs/ReportMessage.qml
diff options
context:
space:
mode:
Diffstat (limited to 'resources/qml/dialogs/ReportMessage.qml')
-rw-r--r--resources/qml/dialogs/ReportMessage.qml85
1 files changed, 85 insertions, 0 deletions
diff --git a/resources/qml/dialogs/ReportMessage.qml b/resources/qml/dialogs/ReportMessage.qml
new file mode 100644

index 00000000..a0b6325c --- /dev/null +++ b/resources/qml/dialogs/ReportMessage.qml
@@ -0,0 +1,85 @@ +// SPDX-FileCopyrightText: Nheko Contributors +// +// SPDX-License-Identifier: GPL-3.0-or-later + +import QtQuick +import QtQuick.Controls +import QtQuick.Layouts +import im.nheko + +ApplicationWindow { + required property string eventId + + width: 400 + height: gl.implicitHeight + 2 * Nheko.paddingMedium + title: qsTr("Report message") + + GridLayout { + id: gl + + columnSpacing: Nheko.paddingMedium + rowSpacing: Nheko.paddingMedium + columns: 2 + anchors.fill: parent + anchors.margins: Nheko.paddingMedium + + Label { + Layout.columnSpan: 2 + Layout.fillWidth: true + wrapMode: Label.WordWrap + text: qsTr("This message you are reporting will be sent to your server administrator for review. Please note that not all server administrators review reported content. You should also ask a room moderator to remove the content if necessary.") + } + + Label { + text: qsTr("Enter your reason for reporting:") + } + + TextField { + id: reason + + Layout.fillWidth: true + } + + Label { + text: qsTr("How bad is the message?") + } + + Slider { + id: score + + from: 0 + to: -100 + stepSize: 25 + snapMode: Slider.SnapAlways + Layout.fillWidth: true + } + + Item {} + + Label { + text: { + if (score.value === 0) + return qsTr("Not bad") + else if (score.value === -25) + return qsTr("Mild") + else if (score.value === -50) + return qsTr("Bad") + else if (score.value === -75) + return qsTr("Serious") + else if (score.value === -100) + return qsTr("Extremely serious") + } + } + + DialogButtonBox { + Layout.columnSpan: 2 + Layout.alignment: Qt.AlignRight + standardButtons: DialogButtonBox.Ok | DialogButtonBox.Cancel + onAccepted: { + room.reportEvent(eventId, reason.text, score.value); + close(); + } + onRejected: close() + } + } +}