Fix highlighted room when opening room from notification

This commit is contained in:
Tobias Fella
2021-10-03 00:46:41 +02:00
parent 6b86c113f4
commit 011cf3c652
3 changed files with 13 additions and 4 deletions

View File

@@ -39,6 +39,13 @@ Kirigami.ScrollablePage {
onTriggered: page.contentItem.flickableItem.QQC2.ScrollBar.vertical.visible = !collapsedMode;
}
Connections {
target: RoomManager
function onCurrentRoomChanged() {
itemSelection.setCurrentIndex(roomListModel.index(roomListModel.indexForRoom(RoomManager.currentRoom), 0), ItemSelectionModel.SelectCurrent)
}
}
function goToNextRoom() {
do {
listView.incrementCurrentIndex();
@@ -178,8 +185,6 @@ Kirigami.ScrollablePage {
id: enterRoomAction
onTriggered: {
RoomManager.enterRoom(currentRoom);
itemSelection.setCurrentIndex(sortFilterRoomListModel.mapToSource(
sortFilterRoomListModel.index(index, 0)), ItemSelectionModel.SelectCurrent)
}
}
Keys.onEnterPressed: enterRoomAction.trigger()
@@ -224,8 +229,6 @@ Kirigami.ScrollablePage {
id: enterRoomAction
onTriggered: {
RoomManager.enterRoom(currentRoom);
itemSelection.setCurrentIndex(sortFilterRoomListModel.mapToSource(
sortFilterRoomListModel.index(index, 0)), ItemSelectionModel.SelectCurrent)
}
}
Keys.onEnterPressed: enterRoomAction.trigger()

View File

@@ -496,3 +496,8 @@ NeoChatRoom *RoomListModel::roomByAliasOrId(const QString &aliasOrId)
}
return nullptr;
}
int RoomListModel::indexForRoom(NeoChatRoom *room) const
{
return m_rooms.indexOf(room);
}

View File

@@ -73,6 +73,7 @@ public:
Q_INVOKABLE [[nodiscard]] static QString categoryIconName(int section);
Q_INVOKABLE void setCategoryVisible(int category, bool visible);
Q_INVOKABLE [[nodiscard]] bool categoryVisible(int category) const;
Q_INVOKABLE [[nodiscard]] int indexForRoom(NeoChatRoom *room) const;
[[nodiscard]] int notificationCount() const
{