diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2021-12-10 15:56:24 +0100 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2021-12-10 15:58:23 +0100 |
commit | cd8fa8f4385208ebc2e4247feda460180a16fc96 (patch) | |
tree | 8f0ecb732a510a6241f91a25eab67fea7e7633ee /kde-plasma/plasma-systemmonitor | |
parent | kde-plasma/breeze: Drop 5.23.4 (r0) (diff) | |
download | gentoo-cd8fa8f4385208ebc2e4247feda460180a16fc96.tar.gz gentoo-cd8fa8f4385208ebc2e4247feda460180a16fc96.tar.bz2 gentoo-cd8fa8f4385208ebc2e4247feda460180a16fc96.zip |
kde-plasma/plasma-systemmonitor: Fix Applications list after open/close
Upstream commits:
50f6378144ed244b9c1cd3e325ecbe45dd7544d4
b18f98fee76104d5be6b871dea330be32863ad27
KDE-BUG: https://bugs.kde.org/show_bug.cgi?id=445544
Package-Manager: Portage-3.0.29, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'kde-plasma/plasma-systemmonitor')
3 files changed, 157 insertions, 0 deletions
diff --git a/kde-plasma/plasma-systemmonitor/files/plasma-systemmonitor-5.23.4-applications-add-comma-separated-filtering.patch b/kde-plasma/plasma-systemmonitor/files/plasma-systemmonitor-5.23.4-applications-add-comma-separated-filtering.patch new file mode 100644 index 000000000000..9257c8b4250f --- /dev/null +++ b/kde-plasma/plasma-systemmonitor/files/plasma-systemmonitor-5.23.4-applications-add-comma-separated-filtering.patch @@ -0,0 +1,36 @@ +From b18f98fee76104d5be6b871dea330be32863ad27 Mon Sep 17 00:00:00 2001 +From: David Redondo <kde@david-redondo.de> +Date: Tue, 23 Nov 2021 10:52:11 +0100 +Subject: [PATCH] Add comma separated filtering to ApplicationsTableView + +Instead of using ProcessSortFilterModel we can implement in +the callback of the KSortFilterProxyModel. + + +(cherry picked from commit 364bada0ad5befd560758bad11190b1fd7043b34) +--- + .../contents/ui/ApplicationsTableView.qml | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/src/faces/applicationstable/contents/ui/ApplicationsTableView.qml b/src/faces/applicationstable/contents/ui/ApplicationsTableView.qml +index 3f3ed4f..1f2dd36 100644 +--- a/src/faces/applicationstable/contents/ui/ApplicationsTableView.qml ++++ b/src/faces/applicationstable/contents/ui/ApplicationsTableView.qml +@@ -96,6 +96,14 @@ Table.BaseTableView { + } + return true + } ++ filterRowCallback: function(row, parent) { ++ if (filterString.length == 0) { ++ return true ++ } ++ const name = sourceModel.data(sourceModel.index(row, filterKeyColumn, parent), filterRole).toLowerCase() ++ const parts = filterString.toLowerCase().split(",").map(s => s.trim()).filter(s => s.length > 0) ++ return parts.some(part => name.includes(part)) ++ } + + sortRole: "Value" + } +-- +GitLab + diff --git a/kde-plasma/plasma-systemmonitor/files/plasma-systemmonitor-5.23.4-applications-remove-unneeded-ProcessSortFilterModel.patch b/kde-plasma/plasma-systemmonitor/files/plasma-systemmonitor-5.23.4-applications-remove-unneeded-ProcessSortFilterModel.patch new file mode 100644 index 000000000000..17505ee73146 --- /dev/null +++ b/kde-plasma/plasma-systemmonitor/files/plasma-systemmonitor-5.23.4-applications-remove-unneeded-ProcessSortFilterModel.patch @@ -0,0 +1,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 + diff --git a/kde-plasma/plasma-systemmonitor/plasma-systemmonitor-5.23.4-r1.ebuild b/kde-plasma/plasma-systemmonitor/plasma-systemmonitor-5.23.4-r1.ebuild new file mode 100644 index 000000000000..2be62cb12ed3 --- /dev/null +++ b/kde-plasma/plasma-systemmonitor/plasma-systemmonitor-5.23.4-r1.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PVCUT=$(ver_cut 1-3) +KFMIN=5.86.0 +QTMIN=5.15.2 +inherit ecm kde.org + +DESCRIPTION="Monitor system sensors, process information and other system resources" +HOMEPAGE="https://apps.kde.org/plasma-systemmonitor/" + +LICENSE="|| ( GPL-3 GPL-2 )" +SLOT="5" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +IUSE="" + +DEPEND=" + >=dev-qt/qtdbus-${QTMIN}:5 + >=dev-qt/qtdeclarative-${QTMIN}:5 + >=dev-qt/qtgui-${QTMIN}:5 + >=dev-qt/qtwidgets-${QTMIN}:5 + >=kde-frameworks/kconfig-${KFMIN}:5 + >=kde-frameworks/kcoreaddons-${KFMIN}:5 + >=kde-frameworks/kdbusaddons-${KFMIN}:5 + >=kde-frameworks/kdeclarative-${KFMIN}:5 + >=kde-frameworks/kglobalaccel-${KFMIN}:5 + >=kde-frameworks/ki18n-${KFMIN}:5 + >=kde-frameworks/kio-${KFMIN}:5 + >=kde-frameworks/kitemmodels-${KFMIN}:5 + >=kde-frameworks/knewstuff-${KFMIN}:5 + >=kde-frameworks/kservice-${KFMIN}:5 + >=kde-plasma/libksysguard-${PVCUT}:5 +" +RDEPEND="${DEPEND} + >=dev-qt/qtquickcontrols2-${QTMIN}:5 + >=kde-frameworks/kirigami-${KFMIN}:5 + >=kde-frameworks/kitemmodels-${KFMIN}:5[qml] + >=kde-frameworks/kquickcharts-${KFMIN}:5 + >=kde-plasma/ksystemstats-${PVCUT}:5 +" + +PATCHES=( + # 5.23 branch, KDE-bug 445544 + "${FILESDIR}"/${P}-applications-remove-unneeded-ProcessSortFilterModel.patch + "${FILESDIR}"/${P}-applications-add-comma-separated-filtering.patch +) |