moment/harmonyqml/components/Chat/RoomEventList/RoomEventList.qml

44 lines
1.1 KiB
QML
Raw Normal View History

2019-03-22 14:28:14 +11:00
import QtQuick 2.7
import "../../Base"
2019-03-22 14:28:14 +11:00
HGlassRectangle {
2019-04-27 06:02:20 +10:00
property bool canLoadPastEvents: true
2019-03-22 14:28:14 +11:00
property int space: 8
color: HStyle.chat.roomEventList.background
2019-04-29 01:01:38 +10:00
2019-03-22 14:28:14 +11:00
ListView {
id: roomEventListView
delegate: RoomEventDelegate {}
model: Backend.roomEvents.get(chatPage.roomId)
2019-03-22 14:28:14 +11:00
2019-04-29 01:01:38 +10:00
anchors.fill: parent
anchors.leftMargin: space
anchors.rightMargin: space
2019-03-22 14:28:14 +11:00
topMargin: space
bottomMargin: space
verticalLayoutDirection: ListView.BottomToTop
2019-04-18 03:44:04 +10:00
// Keep x scroll pages cached, to limit images having to be
// reloaded from network.
cacheBuffer: height * 6
2019-04-18 04:27:22 +10:00
// Declaring this "alias" provides the on... signal
property real yPos: visibleArea.yPosition
onYPosChanged: {
2019-04-27 06:02:20 +10:00
if (chatPage.canLoadPastEvents && yPos <= 0.1) {
Backend.loadPastEvents(chatPage.roomId)
}
}
2019-03-22 14:28:14 +11:00
}
HNoticePage {
text: qsTr("Nothing to show here yet...")
visible: roomEventListView.model.count < 1
anchors.fill: parent
}
2019-03-22 14:28:14 +11:00
}