aboutsummaryrefslogtreecommitdiff
path: root/qml
diff options
context:
space:
mode:
authorlink2xt <link2xt@testrun.org>2021-05-22 15:23:16 +0300
committerlink2xt <link2xt@testrun.org>2021-05-22 15:23:16 +0300
commit1860c787e167d1c08e71b15de41ebe7a6b5d0c29 (patch)
tree047ce375c8ae5b63ea5fdccd979c248054b6e431 /qml
parent166d17e61da080ee7b83317b1a97ec2046960706 (diff)
downloadkdeltachat-1860c787e167d1c08e71b15de41ebe7a6b5d0c29.tar.gz
kdeltachat-1860c787e167d1c08e71b15de41ebe7a6b5d0c29.zip
Add HTML view for messages
Diffstat (limited to 'qml')
-rw-r--r--qml/HtmlViewSheet.qml23
-rw-r--r--qml/Message.qml29
2 files changed, 46 insertions, 6 deletions
diff --git a/qml/HtmlViewSheet.qml b/qml/HtmlViewSheet.qml
new file mode 100644
index 0000000..03e0147
--- /dev/null
+++ b/qml/HtmlViewSheet.qml
@@ -0,0 +1,23 @@
+import QtQuick 2.12
+import QtWebEngine 1.10
+
+import org.kde.kirigami 2.12 as Kirigami
+
+Kirigami.OverlaySheet {
+ property string subject
+ property string html
+
+ header: Kirigami.Heading {
+ text: subject
+ }
+
+ WebEngineView {
+ id: web
+ height: 500
+ }
+
+ onHtmlChanged: {
+ console.log("Loading HTML!")
+ web.loadHtml(html)
+ }
+}
diff --git a/qml/Message.qml b/qml/Message.qml
index 492c5cb..fdd895a 100644
--- a/qml/Message.qml
+++ b/qml/Message.qml
@@ -169,12 +169,29 @@ RowLayout {
wrapMode: Text.Wrap
font.pixelSize: 14
}
- Label {
- Layout.fillWidth: true
- text: messageObject.message.state == 26 ? "✓"
- : messageObject.message.state == 28 ? "✓✓"
- : messageObject.message.state == 24 ? "✗"
- : "";
+ Row {
+ HtmlViewSheet {
+ id: htmlSheet
+ subject: ""
+ html: ""
+ }
+
+ Button {
+ text: "Show full message"
+ visible: messageObject.message.hasHtml
+ onPressed: {
+ htmlSheet.subject = messageObject.message.subject
+ htmlSheet.html = messageObject.context.getMessageHtml(messageObject.message.id)
+ htmlSheet.open()
+ }
+ }
+ Label {
+ Layout.fillWidth: true
+ text: messageObject.message.state == 26 ? "✓"
+ : messageObject.message.state == 28 ? "✓✓"
+ : messageObject.message.state == 24 ? "✗"
+ : "";
+ }
}
}
}