Disable paint updates while applying room filtering (#380)

This commit is contained in:
Konstantinos Sideris 2018-07-21 14:57:56 +03:00
parent 6c65213c83
commit 73e3161c88

View file

@ -355,6 +355,9 @@ RoomList::removeFilter()
void
RoomList::applyFilter(const std::map<QString, bool> &filter)
{
// Disabling paint updates will resolve issues with screen flickering on big room lists.
setUpdatesEnabled(false);
for (int i = 0; i < contentsLayout_->count(); i++) {
// If filter contains the room for the current RoomInfoListItem,
// show the list item, otherwise hide it
@ -370,6 +373,8 @@ RoomList::applyFilter(const std::map<QString, bool> &filter)
listitem->hide();
}
setUpdatesEnabled(true);
// If the already selected room is part of the group, make sure it's visible.
if (!selectedRoom_.isEmpty() && (filter.find(selectedRoom_) != filter.end()))
return;