summaryrefslogtreecommitdiff
blob: 17505ee731468e7fe80a2d397044e7a1cd4ae60d (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
From 50f6378144ed244b9c1cd3e325ecbe45dd7544d4 Mon Sep 17 00:00:00 2001
From: David Redondo <kde@david-redondo.de>
Date: Mon, 22 Nov 2021 12:15:14 +0100
Subject: [PATCH] ApplicationsTable: Remove unneeded ProcessSortFilterModel

ProcessSortFilterModel handles filtering pids and to which user a process
belongs over a normal QSortFilterProxyModel. In doing so it also
sets the filterKeyColumn to nameColumn in findColumns(). Note that the name
of the name columns of the process and application table is different
("name" and "appName"), so the filterKeyColumn is also set by ApplicationTableView.
However this is racey depending on when the binding is evaluated.
Since we don't need the extra features of the ProcessSortFilterModel we can use
the existing SortFilterProxyModel in charge of filtering columns (something that
the ProcessSortFilterModel also did) to also handle the row filtering.
BUG:445544
FIXED-IN:5.23.4


(cherry picked from commit a96bc99a3650c3bf2e48ab1287dc779dbba87c51)
---
 .../contents/ui/ApplicationsTableView.qml         | 15 ++++-----------
 1 file changed, 4 insertions(+), 11 deletions(-)

diff --git a/src/faces/applicationstable/contents/ui/ApplicationsTableView.qml b/src/faces/applicationstable/contents/ui/ApplicationsTableView.qml
index 38915b3..3f3ed4f 100644
--- a/src/faces/applicationstable/contents/ui/ApplicationsTableView.qml
+++ b/src/faces/applicationstable/contents/ui/ApplicationsTableView.qml
@@ -32,7 +32,7 @@ Table.BaseTableView {
     property alias columnDisplay: displayModel.columnDisplay
     property alias sourceModel: appModel
 
-    property alias filterString: filterProxy.filterString
+    property alias filterString: sortColumnFilter.filterString
 
     property var selectedApplications: {
         var result = []
@@ -83,8 +83,9 @@ Table.BaseTableView {
     model: KItemModels.KSortFilterProxyModel {
         id: sortColumnFilter
 
-        sourceModel: filterProxy
-
+        sourceModel: cacheModel
+        filterKeyColumn: appModel.nameColumn
+        filterCaseSensitivity: Qt.CaseInsensitive
         filterColumnCallback: function(column, parent) {
             // Note: This assumes displayModel column == appModel column
             // This may not always hold, but we get incorrect results if we try to
@@ -99,13 +100,6 @@ Table.BaseTableView {
         sortRole: "Value"
     }
 
-    Table.ProcessSortFilterModel {
-        id: filterProxy
-        sourceModel: cacheModel
-        filterKeyColumn: appModel.nameColumn
-        filterCaseSensitivity: Qt.CaseInsensitive
-    }
-
     Table.ComponentCacheProxyModel {
         id: cacheModel
         sourceModel: displayModel
@@ -184,7 +178,6 @@ Table.BaseTableView {
             Table.FirstCellDelegate {
                 iconName: {
                     var index = sortColumnFilter.mapToSource(sortColumnFilter.index(model.row, 0));
-                    index = filterProxy.mapToSource(filterProxy.index(index.row, 0));
                     index = appModel.index(index.row, appModel.iconColumn)
                     return appModel.data(index)
                     return ""
-- 
GitLab