diff --git a/resources/qml/RoomList.qml b/resources/qml/RoomList.qml index 98532606..576383e2 100644 --- a/resources/qml/RoomList.qml +++ b/resources/qml/RoomList.qml @@ -33,8 +33,8 @@ Page { Connections { function onCurrentRoomChanged() { - roomlist.positionViewAtIndex(Rooms.roomidToIndex(Rooms.currentRoom.roomId), ListView.Contain); - console.log("Test" + Rooms.currentRoom.roomId + " " + Rooms.roomidToIndex(Rooms.currentRoom.roomId)); + if (Rooms.currentRoom) + roomlist.positionViewAtIndex(Rooms.roomidToIndex(Rooms.currentRoom.roomId), ListView.Contain); } target: Rooms @@ -190,7 +190,12 @@ Page { TapHandler { margin: -Nheko.paddingSmall - onSingleTapped: Rooms.setCurrentRoom(roomId) + onSingleTapped: { + if (!Rooms.currentRoom || Rooms.currentRoom.roomId !== roomId) + Rooms.setCurrentRoom(roomId); + else + Rooms.resetCurrentRoom(); + } onLongPressed: { if (!isInvite) roomContextMenu.show(roomId, tags); diff --git a/resources/qml/TimelineView.qml b/resources/qml/TimelineView.qml index 6fc9d51b..5e99ee5c 100644 --- a/resources/qml/TimelineView.qml +++ b/resources/qml/TimelineView.qml @@ -85,9 +85,13 @@ Item { target: timelineView } - MessageView { + Loader { + active: room || roomPreview Layout.fillWidth: true - implicitHeight: msgView.height - typingIndicator.height + sourceComponent: MessageView { + implicitHeight: msgView.height - typingIndicator.height + } + } Loader {