Try harder to scroll the RoomList to the active room

(still doesn't work)
This commit is contained in:
Max Sandholm 2017-10-30 12:18:15 +02:00
parent 80c2ed6dc9
commit 4040fd3901

View File

@ -313,18 +313,21 @@ RoomList::setFilterRooms(bool filterRooms)
} }
} }
if (!roomFilter_.contains(selectedRoom_)) { if (filterRooms_ && !roomFilter_.contains(selectedRoom_)) {
RoomInfoListItem *firstVisibleRoom = nullptr; RoomInfoListItem *firstVisibleRoom = nullptr;
for (int i=0; i<contentsLayout_->count(); i++) { for (int i = 0; i < contentsLayout_->count(); i++) {
QWidget *item = contentsLayout_->itemAt(i)->widget(); QWidget *item = contentsLayout_->itemAt(i)->widget();
if (item != nullptr && item->isVisible()) { if (item != nullptr && item->isVisible()) {
firstVisibleRoom = (RoomInfoListItem *) item; firstVisibleRoom = (RoomInfoListItem *)item;
break; break;
} }
} }
if (firstVisibleRoom != nullptr) { if (firstVisibleRoom != nullptr) {
highlightSelectedRoom(firstVisibleRoom->roomId()); highlightSelectedRoom(firstVisibleRoom->roomId());
} }
} else {
scrollArea_->ensureWidgetVisible(
qobject_cast<QWidget *>(rooms_.value(selectedRoom_).data()));
} }
} }