Konqueror: Deselect items that are hidden by the filter during Select and Deselect

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
(cherry picked from commit 924d993671)
pull/182/head
Slávek Banko 7 years ago
parent cd36da2076
commit c623f1cf8d

@ -555,10 +555,15 @@ void KonqKfmIconView::slotSelect()
m_pIconView->blockSignals( true ); m_pIconView->blockSignals( true );
TQIconViewItem *it = m_pIconView->firstItem(); TQIconViewItem *it = m_pIconView->firstItem();
while ( it ) while ( it ) {
{ if ( it->isVisible() ) {
if ( re.exactMatch( it->text() ) ) if ( re.exactMatch( it->text() ) ) {
it->setSelected( true, true ); it->setSelected( true, true );
}
}
else {
it->setSelected( false, true );
}
it = it->nextItem(); it = it->nextItem();
} }
@ -582,10 +587,15 @@ void KonqKfmIconView::slotUnselect()
m_pIconView->blockSignals( true ); m_pIconView->blockSignals( true );
TQIconViewItem *it = m_pIconView->firstItem(); TQIconViewItem *it = m_pIconView->firstItem();
while ( it ) while ( it ) {
{ if ( it->isVisible() ) {
if ( re.exactMatch( it->text() ) ) if ( re.exactMatch( it->text() ) ) {
it->setSelected( false, true ); it->setSelected( false, true );
}
}
else {
it->setSelected( false, true );
}
it = it->nextItem(); it = it->nextItem();
} }

@ -389,17 +389,22 @@ void KonqListView::slotSelect()
for (KonqBaseListViewWidget::iterator it = m_pListView->begin(); it != m_pListView->end(); it++ ) for (KonqBaseListViewWidget::iterator it = m_pListView->begin(); it != m_pListView->end(); it++ )
{ {
if ((m_pListView->automaticSelection()) && (it->isSelected())) if ((m_pListView->automaticSelection()) && (it->isSelected())) {
{
it->setSelected(FALSE); it->setSelected(FALSE);
//the following line is to prevent that more than one item were selected //the following line is to prevent that more than one item were selected
//and now get deselected and automaticSelection() was true, this shouldn't happen //and now get deselected and automaticSelection() was true, this shouldn't happen
//but who knows, aleXXX //but who knows, aleXXX
m_pListView->deactivateAutomaticSelection(); m_pListView->deactivateAutomaticSelection();
}; }
if ( re.exactMatch( it->text(0) ) ) if ( it->isVisible() ) {
it->setSelected( TRUE); if ( re.exactMatch( it->text(0) ) ) {
}; it->setSelected(TRUE);
}
}
else {
it->setSelected(FALSE);
}
}
m_pListView->blockSignals( false ); m_pListView->blockSignals( false );
m_pListView->deactivateAutomaticSelection(); m_pListView->deactivateAutomaticSelection();
emit m_pListView->selectionChanged(); emit m_pListView->selectionChanged();
@ -418,9 +423,16 @@ void KonqListView::slotUnselect()
m_pListView->blockSignals(TRUE); m_pListView->blockSignals(TRUE);
for (KonqBaseListViewWidget::iterator it = m_pListView->begin(); it != m_pListView->end(); it++ ) for (KonqBaseListViewWidget::iterator it = m_pListView->begin(); it != m_pListView->end(); it++ ) {
if ( re.exactMatch( it->text(0) ) ) if ( it->isVisible() ) {
if ( re.exactMatch( it->text(0) ) ) {
it->setSelected(FALSE);
}
}
else {
it->setSelected(FALSE); it->setSelected(FALSE);
}
}
m_pListView->blockSignals(FALSE); m_pListView->blockSignals(FALSE);
m_pListView->deactivateAutomaticSelection(); m_pListView->deactivateAutomaticSelection();

Loading…
Cancel
Save