IconView: Deselect items that are hidden by the filter

during selectAll and invertSelection
This resolves bug 2750

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
(cherry picked from commit 057d9fe7a4)
v3.5.13-sru
Slávek Banko 7 years ago
parent f979942b32
commit e6fdc7463e

@ -3867,6 +3867,7 @@ void QIconView::selectAll( bool select )
rr = rr.unite( item->rect() );
changed = TRUE;
}
}
else {
if ( FALSE != item->isSelected() ) {
item->setSelected( FALSE, TRUE );
@ -3874,7 +3875,6 @@ void QIconView::selectAll( bool select )
}
}
}
}
viewport()->setUpdatesEnabled( ue );
// we call updateContents not repaintContents because of possible previous updateContents
QScrollView::updateContents( rr );
@ -3901,8 +3901,16 @@ void QIconView::invertSelection()
bool b = signalsBlocked();
blockSignals( TRUE );
QIconViewItem *item = d->firstItem;
for ( ; item; item = item->next )
for ( ; item; item = item->next ) {
if (item->isVisible()) {
item->setSelected( !item->isSelected(), TRUE );
}
else {
if ( FALSE != item->isSelected() ) {
item->setSelected( FALSE, TRUE );
}
}
}
blockSignals( b );
emit selectionChanged();
}

Loading…
Cancel
Save