2019-03-21 23:28:14 -04:00
|
|
|
import QtQuick 2.7
|
|
|
|
import QtQuick.Controls 2.2
|
|
|
|
import QtQuick.Layouts 1.4
|
2019-04-22 11:31:06 -04:00
|
|
|
import "../base" as Base
|
2019-03-21 23:28:14 -04:00
|
|
|
|
2019-04-28 11:01:38 -04:00
|
|
|
Base.HGlassRectangle {
|
2019-04-26 16:02:20 -04:00
|
|
|
property bool canLoadPastEvents: true
|
2019-03-21 23:28:14 -04:00
|
|
|
property int space: 8
|
|
|
|
|
2019-04-28 11:01:38 -04:00
|
|
|
color: "transparent"
|
|
|
|
|
2019-03-21 23:28:14 -04:00
|
|
|
Layout.fillWidth: true
|
|
|
|
Layout.fillHeight: true
|
|
|
|
|
|
|
|
ListView {
|
|
|
|
id: messageListView
|
|
|
|
delegate: MessageDelegate {}
|
2019-04-20 17:36:21 -04:00
|
|
|
model: Backend.models.roomEvents.get(chatPage.roomId)
|
2019-03-21 23:28:14 -04:00
|
|
|
|
2019-04-28 11:01:38 -04:00
|
|
|
anchors.fill: parent
|
|
|
|
anchors.leftMargin: space
|
|
|
|
anchors.rightMargin: space
|
|
|
|
|
2019-03-21 23:28:14 -04:00
|
|
|
clip: true
|
|
|
|
topMargin: space
|
|
|
|
bottomMargin: space
|
2019-04-17 16:43:18 -04:00
|
|
|
verticalLayoutDirection: ListView.BottomToTop
|
2019-04-17 13:44:04 -04:00
|
|
|
|
|
|
|
// Keep x scroll pages cached, to limit images having to be
|
|
|
|
// reloaded from network.
|
|
|
|
cacheBuffer: height * 6
|
2019-04-17 14:27:22 -04:00
|
|
|
|
2019-04-17 22:34:22 -04:00
|
|
|
// Declaring this "alias" provides the on... signal
|
|
|
|
property real yPos: visibleArea.yPosition
|
|
|
|
|
|
|
|
onYPosChanged: {
|
2019-04-26 16:02:20 -04:00
|
|
|
if (chatPage.canLoadPastEvents && yPos <= 0.1) {
|
2019-04-20 17:36:21 -04:00
|
|
|
Backend.loadPastEvents(chatPage.roomId)
|
2019-04-17 22:34:22 -04:00
|
|
|
}
|
2019-04-17 16:43:18 -04:00
|
|
|
}
|
2019-03-21 23:28:14 -04:00
|
|
|
}
|
2019-04-22 11:31:06 -04:00
|
|
|
|
|
|
|
Base.HLabel {
|
|
|
|
visible: messageListView.model.count < 1
|
|
|
|
anchors.centerIn: parent
|
|
|
|
text: qsTr("Nothing to see here yet…")
|
|
|
|
padding: 10
|
|
|
|
topPadding: padding / 3
|
|
|
|
bottomPadding: topPadding
|
|
|
|
background: Rectangle {
|
2019-04-28 11:01:38 -04:00
|
|
|
color: Base.HStyle.chat.messageList.background
|
2019-04-22 11:31:06 -04:00
|
|
|
radius: 5
|
|
|
|
}
|
|
|
|
}
|
2019-03-21 23:28:14 -04:00
|
|
|
}
|