ListView: Deselect items that are hidden by the filter

during selectAll and invertSelection

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
pull/1/head
Slávek Banko 7 years ago
parent 5b1f451dd6
commit 2af0620bfc

@ -5366,9 +5366,17 @@ void TQListView::selectAll( bool select )
TQListViewItemIterator it( this ); TQListViewItemIterator it( this );
while ( it.current() ) { while ( it.current() ) {
TQListViewItem *i = it.current(); TQListViewItem *i = it.current();
if ( (bool)i->selected != select ) { if ( i->isVisible()) {
i->setSelected( select ); if ( (bool)i->selected != select ) {
anything = TRUE; i->setSelected( select );
anything = TRUE;
}
}
else {
if ( (bool)i->selected != FALSE ) {
i->setSelected( FALSE );
anything = TRUE;
}
} }
++it; ++it;
} }
@ -5398,8 +5406,16 @@ void TQListView::invertSelection()
bool b = signalsBlocked(); bool b = signalsBlocked();
blockSignals( TRUE ); blockSignals( TRUE );
TQListViewItemIterator it( this ); TQListViewItemIterator it( this );
for ( ; it.current(); ++it ) for ( ; it.current(); ++it ) {
it.current()->setSelected( !it.current()->isSelected() ); if (it.current()->isVisible()) {
it.current()->setSelected( !it.current()->isSelected() );
}
else {
if ( FALSE != it.current()->isSelected() ) {
it.current()->setSelected( FALSE );
}
}
}
blockSignals( b ); blockSignals( b );
emit selectionChanged(); emit selectionChanged();
triggerUpdate(); triggerUpdate();

Loading…
Cancel
Save