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>
|