summaryrefslogtreecommitdiffstats
path: root/redhat/kdelibs/kdelibs-3.5.13-fix_konq_filter.patch
blob: 3589e6044e36cb9d63f8b138ba6af600181db463 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
commit 06b514847fffb79985e4bcde9f8dcc685c5d9ac5
Author: Timothy Pearson <kb9vqf@pearsoncomputing.net>
Date:   1328040359 -0600

    Fix konq filter in list view mode
    Select all now only selects shown (filtered) items

diff --git a/tdeui/klistview.cpp b/tdeui/klistview.cpp
index e1c5811..b52fe68 100644
--- a/kdeui/klistview.cpp
+++ b/kdeui/klistview.cpp
@@ -2356,6 +2356,52 @@ void KListViewItem::paintCell(TQPainter *p, const TQColorGroup &cg, int column,
   TQListViewItem::paintCell(p, _cg, column, width, tqalignment);
 }
 
+/*!
+    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 );*/ }
 
diff --git a/tdeui/klistview.h b/tdeui/klistview.h
index ed10192..c8bb837 100644
--- a/kdeui/klistview.h
+++ b/kdeui/klistview.h
@@ -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