Better read market handling: Mark room as read when scrolling to the
bottom Fix #372
This commit is contained in:
@@ -23,13 +23,18 @@ Kirigami.ScrollablePage {
|
|||||||
|
|
||||||
/// It's not readonly because of the seperate window view.
|
/// It's not readonly because of the seperate window view.
|
||||||
property var currentRoom: RoomManager.currentRoom
|
property var currentRoom: RoomManager.currentRoom
|
||||||
|
/// Used to determine if scrolling to the bottom should mark the message as unread
|
||||||
|
property bool hasScrolledUpBefore: false;
|
||||||
|
|
||||||
title: currentRoom.displayName
|
title: currentRoom.displayName
|
||||||
|
|
||||||
signal switchRoomUp()
|
signal switchRoomUp()
|
||||||
signal switchRoomDown()
|
signal switchRoomDown()
|
||||||
|
|
||||||
onCurrentRoomChanged: ChatBoxHelper.clearEditReply()
|
onCurrentRoomChanged: {
|
||||||
|
hasScrolledUpBefore = false;
|
||||||
|
ChatBoxHelper.clearEditReply()
|
||||||
|
}
|
||||||
|
|
||||||
ActionsHandler {
|
ActionsHandler {
|
||||||
id: actionsHandler
|
id: actionsHandler
|
||||||
@@ -254,6 +259,13 @@ Kirigami.ScrollablePage {
|
|||||||
messageEventModel.fetchMore(messageEventModel.index(0, 0));
|
messageEventModel.fetchMore(messageEventModel.index(0, 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
onAtYEndChanged: if (atYEnd && hasScrolledUpBefore) {
|
||||||
|
currentRoom.markAllMessagesAsRead();
|
||||||
|
hasScrolledUpBefore = false;
|
||||||
|
} else if (!atYEnd) {
|
||||||
|
hasScrolledUpBefore = true;
|
||||||
|
}
|
||||||
|
|
||||||
QQC2.Popup {
|
QQC2.Popup {
|
||||||
anchors.centerIn: parent
|
anchors.centerIn: parent
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user