diff options
author | Slávek Banko <[email protected]> | 2017-07-07 02:41:34 +0200 |
---|---|---|
committer | Slávek Banko <[email protected]> | 2017-07-07 02:41:54 +0200 |
commit | c623f1cf8d995ea1d7be3c1b7b1132dd0cb7b812 (patch) | |
tree | 90612c2c653ce71339bac9acd9db919208287ed4 | |
parent | cd36da20761945fc2e222c56e3cd84f3bd259efd (diff) | |
download | tdebase-c623f1cf8d995ea1d7be3c1b7b1132dd0cb7b812.tar.gz tdebase-c623f1cf8d995ea1d7be3c1b7b1132dd0cb7b812.zip |
Konqueror: Deselect items that are hidden by the filter during Select and Deselect
Signed-off-by: Slávek Banko <[email protected]>
(cherry picked from commit 924d9936719a780488cdafecd77346c84a620c79)
-rw-r--r-- | konqueror/iconview/konq_iconview.cc | 26 | ||||
-rw-r--r-- | konqueror/listview/konq_listview.cc | 28 |
2 files changed, 38 insertions, 16 deletions
diff --git a/konqueror/iconview/konq_iconview.cc b/konqueror/iconview/konq_iconview.cc index d90fe5290..288984fe3 100644 --- a/konqueror/iconview/konq_iconview.cc +++ b/konqueror/iconview/konq_iconview.cc @@ -555,10 +555,15 @@ void KonqKfmIconView::slotSelect() m_pIconView->blockSignals( true ); TQIconViewItem *it = m_pIconView->firstItem(); - while ( it ) - { - if ( re.exactMatch( it->text() ) ) - it->setSelected( true, true ); + while ( it ) { + if ( it->isVisible() ) { + if ( re.exactMatch( it->text() ) ) { + it->setSelected( true, true ); + } + } + else { + it->setSelected( false, true ); + } it = it->nextItem(); } @@ -582,10 +587,15 @@ void KonqKfmIconView::slotUnselect() m_pIconView->blockSignals( true ); TQIconViewItem *it = m_pIconView->firstItem(); - while ( it ) - { - if ( re.exactMatch( it->text() ) ) - it->setSelected( false, true ); + while ( it ) { + if ( it->isVisible() ) { + if ( re.exactMatch( it->text() ) ) { + it->setSelected( false, true ); + } + } + else { + it->setSelected( false, true ); + } it = it->nextItem(); } diff --git a/konqueror/listview/konq_listview.cc b/konqueror/listview/konq_listview.cc index 8c9369a4c..67da49c6d 100644 --- a/konqueror/listview/konq_listview.cc +++ b/konqueror/listview/konq_listview.cc @@ -389,17 +389,22 @@ void KonqListView::slotSelect() 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); //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 //but who knows, aleXXX m_pListView->deactivateAutomaticSelection(); - }; - if ( re.exactMatch( it->text(0) ) ) - it->setSelected( TRUE); - }; + } + if ( it->isVisible() ) { + if ( re.exactMatch( it->text(0) ) ) { + it->setSelected(TRUE); + } + } + else { + it->setSelected(FALSE); + } + } m_pListView->blockSignals( false ); m_pListView->deactivateAutomaticSelection(); emit m_pListView->selectionChanged(); @@ -418,9 +423,16 @@ void KonqListView::slotUnselect() m_pListView->blockSignals(TRUE); - for (KonqBaseListViewWidget::iterator it = m_pListView->begin(); it != m_pListView->end(); it++ ) - if ( re.exactMatch( it->text(0) ) ) + for (KonqBaseListViewWidget::iterator it = m_pListView->begin(); it != m_pListView->end(); it++ ) { + if ( it->isVisible() ) { + if ( re.exactMatch( it->text(0) ) ) { + it->setSelected(FALSE); + } + } + else { it->setSelected(FALSE); + } + } m_pListView->blockSignals(FALSE); m_pListView->deactivateAutomaticSelection(); |