blob: b78cd6299c5d541c0d4248b950497b40cbd10ccf (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
import QtQuick 2.14
import QtQuick.Controls 2.14
import QtQuick.Layouts 1.14
import QtQml.Models 2.1
import org.kde.kirigami 2.12 as Kirigami
import DeltaChat 1.0
RowLayout {
id: messageObject
property DcMessage message
readonly property DcContact from: context.getContact(message.fromId)
width: ListView.view.width
layoutDirection: message.fromId == 1 ? Qt.RightToLeft : Qt.LeftToRight
Rectangle {
Layout.preferredWidth: messageContents.width
Layout.preferredHeight: messageContents.height
Component {
id: imageMessageView
ColumnLayout {
Image {
source: "file:" + messageObject.message.file
sourceSize.width: messageObject.message.width
sourceSize.height: messageObject.message.height
fillMode: Image.PreserveAspectFit
Layout.maximumWidth: messageObject.width
}
Label {
font.bold: true
color: messageObject.message.fromId > 0 ? messageObject.from.color : "black"
text: messageObject.message.fromId > 0 ? messageObject.from.displayName : ""
textFormat: Text.PlainText
}
}
}
Component {
id: textMessageView
Label {
font.bold: true
color: messageObject.message.fromId > 0 ? messageObject.from.color : "black"
text: messageObject.message.fromId > 0 ? messageObject.from.displayName : ""
textFormat: Text.PlainText
}
}
color: Kirigami.Theme.backgroundColor
radius: 5
ColumnLayout {
id: messageContents
anchors.centerIn: parent
Loader {
sourceComponent: messageObject.message.viewtype == 20 ? imageMessageView : textMessageView
}
TextEdit {
Layout.maximumWidth: messageObject.width > 30 ? messageObject.width - 30 : messageObject.width
text: messageObject.message.text
textFormat: Text.PlainText
selectByMouse: true
readOnly: true
color: "black"
wrapMode: Text.Wrap
font.pixelSize: 14
}
Label {
Layout.fillWidth: true
text: messageObject.message.state == 26 ? "✓"
: messageObject.message.state == 28 ? "✓✓"
: messageObject.message.state == 24 ? "✗"
: "";
}
}
}
}
|