Fix konq filter in list view mode

Select all now only selects shown (filtered) items
(cherry picked from commit 06b514847f)
v3.5.13-sru
Timothy Pearson 13 years ago committed by Slávek Banko
parent c89b32ebab
commit 29768dd7b2

@ -2356,6 +2356,52 @@ void KListViewItem::paintCell(TQPainter *p, const TQColorGroup &cg, int column,
TQListViewItem::paintCell(p, _cg, column, width, alignment);
}
/*!
If \a select is TRUE, all the items get selected; otherwise all
the items get unselected. This only works in the selection modes \c
Multi and \c Extended. In \c Single and \c NoSelection mode the
selection of the current item is just set to \a select.
*/
void KListView::selectAll( bool select )
{
if ( selectionMode() == Multi || selectionMode() == Extended ) {
bool b = signalsBlocked();
blockSignals( TRUE );
bool anything = FALSE;
TQListViewItemIterator it( this );
while ( it.current() ) {
TQListViewItem *i = it.current();
if ( select == TRUE ) {
if ( (bool)i->isVisible() == TRUE ) {
i->setSelected( TRUE );
anything = TRUE;
}
if ( (bool)i->isVisible() == FALSE ) {
i->setSelected( FALSE );
anything = TRUE;
}
}
else {
if ( (bool)i->isSelected() != select ) {
i->setSelected( select );
anything = TRUE;
}
}
++it;
}
blockSignals( b );
if ( anything ) {
emit selectionChanged();
// d->useDoubleBuffer = TRUE;
triggerUpdate();
}
} else if ( currentItem() ) {
TQListViewItem * i = currentItem();
setSelected( i, select );
}
}
void KListView::virtual_hook( int, void* )
{ /*BASE::virtual_hook( id, data );*/ }

@ -660,6 +660,14 @@ public slots:
*/
bool tabOrderedRenaming() const;
/**
* Override TQListView selectAll() so that filtered
* items are not selected
*
* @since 14.0
*/
virtual void selectAll( bool select );
protected:
/**
* Determine whether a drop on position @p p would count as

Loading…
Cancel
Save