Fix highlighted room when opening room from notification
This commit is contained in:
@@ -39,6 +39,13 @@ Kirigami.ScrollablePage {
|
|||||||
onTriggered: page.contentItem.flickableItem.QQC2.ScrollBar.vertical.visible = !collapsedMode;
|
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() {
|
function goToNextRoom() {
|
||||||
do {
|
do {
|
||||||
listView.incrementCurrentIndex();
|
listView.incrementCurrentIndex();
|
||||||
@@ -178,8 +185,6 @@ Kirigami.ScrollablePage {
|
|||||||
id: enterRoomAction
|
id: enterRoomAction
|
||||||
onTriggered: {
|
onTriggered: {
|
||||||
RoomManager.enterRoom(currentRoom);
|
RoomManager.enterRoom(currentRoom);
|
||||||
itemSelection.setCurrentIndex(sortFilterRoomListModel.mapToSource(
|
|
||||||
sortFilterRoomListModel.index(index, 0)), ItemSelectionModel.SelectCurrent)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Keys.onEnterPressed: enterRoomAction.trigger()
|
Keys.onEnterPressed: enterRoomAction.trigger()
|
||||||
@@ -224,8 +229,6 @@ Kirigami.ScrollablePage {
|
|||||||
id: enterRoomAction
|
id: enterRoomAction
|
||||||
onTriggered: {
|
onTriggered: {
|
||||||
RoomManager.enterRoom(currentRoom);
|
RoomManager.enterRoom(currentRoom);
|
||||||
itemSelection.setCurrentIndex(sortFilterRoomListModel.mapToSource(
|
|
||||||
sortFilterRoomListModel.index(index, 0)), ItemSelectionModel.SelectCurrent)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Keys.onEnterPressed: enterRoomAction.trigger()
|
Keys.onEnterPressed: enterRoomAction.trigger()
|
||||||
|
|||||||
@@ -496,3 +496,8 @@ NeoChatRoom *RoomListModel::roomByAliasOrId(const QString &aliasOrId)
|
|||||||
}
|
}
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int RoomListModel::indexForRoom(NeoChatRoom *room) const
|
||||||
|
{
|
||||||
|
return m_rooms.indexOf(room);
|
||||||
|
}
|
||||||
|
|||||||
@@ -73,6 +73,7 @@ public:
|
|||||||
Q_INVOKABLE [[nodiscard]] static QString categoryIconName(int section);
|
Q_INVOKABLE [[nodiscard]] static QString categoryIconName(int section);
|
||||||
Q_INVOKABLE void setCategoryVisible(int category, bool visible);
|
Q_INVOKABLE void setCategoryVisible(int category, bool visible);
|
||||||
Q_INVOKABLE [[nodiscard]] bool categoryVisible(int category) const;
|
Q_INVOKABLE [[nodiscard]] bool categoryVisible(int category) const;
|
||||||
|
Q_INVOKABLE [[nodiscard]] int indexForRoom(NeoChatRoom *room) const;
|
||||||
|
|
||||||
[[nodiscard]] int notificationCount() const
|
[[nodiscard]] int notificationCount() const
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user