Implement basic ImageMessages in qml timeline

I suck at sizing so the images in the message are currently hardcoded to
300 pixels in width...
This commit is contained in:
Nicolas Werner 2019-09-08 12:44:46 +02:00
parent ebeb1eb772
commit 86f4119a05
6 changed files with 90 additions and 2 deletions

View file

@ -23,6 +23,8 @@ Rectangle {
ListView {
id: chat
cacheBuffer: 4*parent.height
visible: timelineManager.timeline != null
anchors.fill: parent
@ -40,12 +42,14 @@ Rectangle {
anchors.left: parent.left
anchors.right: parent.right
anchors.rightMargin: scrollbar.width
height: loader.height
Loader {
id: loader
asynchronous: false
Layout.fillWidth: true
height: item.height
Layout.alignment: Qt.AlignTop
height: item.height
source: switch(model.type) {
case MtxEvent.Aliases: return "delegates/Aliases.qml"

View file

@ -0,0 +1,14 @@
import QtQuick 2.6
Item {
width: 300
height: 300 * eventData.proportionalHeight
Image {
anchors.fill: parent
source: eventData.url.replace("mxc://", "image://MxcImage/")
asynchronous: true
fillMode: Image.PreserveAspectFit
}
}

View file

@ -119,5 +119,6 @@
<file>qml/Avatar.qml</file>
<file>qml/delegates/TextMessage.qml</file>
<file>qml/delegates/NoticeMessage.qml</file>
<file>qml/delegates/ImageMessage.qml</file>
</qresource>
</RCC>