summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSlávek Banko <slavek.banko@axis.cz>2017-07-07 02:41:34 +0200
committerSlávek Banko <slavek.banko@axis.cz>2017-07-07 02:41:54 +0200
commitc623f1cf8d995ea1d7be3c1b7b1132dd0cb7b812 (patch)
tree90612c2c653ce71339bac9acd9db919208287ed4
parentcd36da20761945fc2e222c56e3cd84f3bd259efd (diff)
downloadtdebase-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 <slavek.banko@axis.cz> (cherry picked from commit 924d9936719a780488cdafecd77346c84a620c79)
-rw-r--r--konqueror/iconview/konq_iconview.cc26
-rw-r--r--konqueror/listview/konq_listview.cc28
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();