2b3dc3d8b9
This currently assumes the event, that is replied to, is already fetched. If it isn't, it will render an empty reply. In the future we should fetch replies before rendering them.
82 lines
1.6 KiB
QML
82 lines
1.6 KiB
QML
import QtQuick 2.6
|
|
import im.nheko 1.0
|
|
|
|
Item {
|
|
// Workaround to have an assignable global property
|
|
Item {
|
|
id: model
|
|
property var data;
|
|
}
|
|
|
|
property alias modelData: model.data
|
|
|
|
height: chooser.childrenRect.height
|
|
|
|
DelegateChooser {
|
|
id: chooser
|
|
//role: "type" //< not supported in our custom implementation, have to use roleValue
|
|
roleValue: model.data.type
|
|
anchors.fill: parent
|
|
|
|
DelegateChoice {
|
|
roleValue: MtxEvent.TextMessage
|
|
TextMessage {}
|
|
}
|
|
DelegateChoice {
|
|
roleValue: MtxEvent.NoticeMessage
|
|
NoticeMessage {}
|
|
}
|
|
DelegateChoice {
|
|
roleValue: MtxEvent.EmoteMessage
|
|
TextMessage {}
|
|
}
|
|
DelegateChoice {
|
|
roleValue: MtxEvent.ImageMessage
|
|
ImageMessage {}
|
|
}
|
|
DelegateChoice {
|
|
roleValue: MtxEvent.Sticker
|
|
ImageMessage {}
|
|
}
|
|
DelegateChoice {
|
|
roleValue: MtxEvent.FileMessage
|
|
FileMessage {}
|
|
}
|
|
DelegateChoice {
|
|
roleValue: MtxEvent.VideoMessage
|
|
PlayableMediaMessage {}
|
|
}
|
|
DelegateChoice {
|
|
roleValue: MtxEvent.AudioMessage
|
|
PlayableMediaMessage {}
|
|
}
|
|
DelegateChoice {
|
|
roleValue: MtxEvent.Redacted
|
|
Pill {
|
|
text: qsTr("redacted")
|
|
}
|
|
}
|
|
DelegateChoice {
|
|
roleValue: MtxEvent.Encryption
|
|
Pill {
|
|
text: qsTr("Encryption enabled")
|
|
}
|
|
}
|
|
DelegateChoice {
|
|
roleValue: MtxEvent.Name
|
|
NoticeMessage {
|
|
notice: model.data.roomName ? qsTr("room name changed to: %1").arg(model.data.roomName) : qsTr("removed room name")
|
|
}
|
|
}
|
|
DelegateChoice {
|
|
roleValue: MtxEvent.Topic
|
|
NoticeMessage {
|
|
notice: model.data.roomTopic ? qsTr("topic changed to: %1").arg(model.data.roomTopic) : qsTr("removed topic")
|
|
}
|
|
}
|
|
DelegateChoice {
|
|
Placeholder {}
|
|
}
|
|
}
|
|
}
|