summary refs log tree commit diff
path: root/resources
diff options
context:
space:
mode:
Diffstat (limited to 'resources')
-rw-r--r--resources/qml/RawMessageDialog.qml51
-rw-r--r--resources/qml/Root.qml8
-rw-r--r--resources/qml/TimelineView.qml7
-rw-r--r--resources/res.qrc1
4 files changed, 67 insertions, 0 deletions
diff --git a/resources/qml/RawMessageDialog.qml b/resources/qml/RawMessageDialog.qml
new file mode 100644

index 00000000..231e2f6d --- /dev/null +++ b/resources/qml/RawMessageDialog.qml
@@ -0,0 +1,51 @@ +// SPDX-FileCopyrightText: 2021 Nheko Contributors +// +// SPDX-License-Identifier: GPL-3.0-or-later + +import QtQuick 2.15 +import QtQuick.Controls 2.15 +import im.nheko 1.0 + +ApplicationWindow { + id: rawMessageRoot + + property alias rawMessage: rawMessageView.text + + x: MainWindow.x + (MainWindow.width / 2) - (width / 2) + y: MainWindow.y + (MainWindow.height / 2) - (height / 2) + height: 420 + width: 420 + palette: Nheko.colors + color: Nheko.colors.window + flags: Qt.Tool | Qt.WindowStaysOnTopHint + + Shortcut { + sequence: StandardKey.Cancel + onActivated: rawMessageRoot.close() + } + + ScrollView { + anchors.margins: Nheko.paddingMedium + anchors.fill: parent + palette: Nheko.colors + padding: Nheko.paddingMedium + + TextArea { + id: rawMessageView + + font: Nheko.monospaceFont() + color: Nheko.colors.text + readOnly: true + + background: Rectangle { + color: Nheko.colors.base + } + } + + } + + footer: DialogButtonBox { + standardButtons: DialogButtonBox.Ok + onAccepted: rawMessageRoot.close() + } +} diff --git a/resources/qml/Root.qml b/resources/qml/Root.qml
index 7d91beae..70cfbda5 100644 --- a/resources/qml/Root.qml +++ b/resources/qml/Root.qml
@@ -104,6 +104,14 @@ Page { } + Component { + id: rawMessageDialog + + RawMessageDialog { + } + + } + Shortcut { sequence: "Ctrl+K" onActivated: { diff --git a/resources/qml/TimelineView.qml b/resources/qml/TimelineView.qml
index d19f2cc9..e4036eb7 100644 --- a/resources/qml/TimelineView.qml +++ b/resources/qml/TimelineView.qml
@@ -258,6 +258,13 @@ Item { dialog.show(); } + function onShowRawMessageDialog(rawMessage) { + var dialog = rawMessageDialog.createObject(timelineRoot, { + "rawMessage": rawMessage + }); + dialog.show(); + } + target: room } diff --git a/resources/res.qrc b/resources/res.qrc
index 2b655b9e..c911653c 100644 --- a/resources/res.qrc +++ b/resources/res.qrc
@@ -177,6 +177,7 @@ <file>qml/RoomMembers.qml</file> <file>qml/InviteDialog.qml</file> <file>qml/ReadReceipts.qml</file> + <file>qml/RawMessageDialog.qml</file> </qresource> <qresource prefix="/media"> <file>media/ring.ogg</file>