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>
pull/1/head
Slávek Banko 7 years ago
parent 9bbdfea568
commit 5b1f451dd6

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

Loading…
Cancel
Save