public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Andreas Sturmlechner" <asturm@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: kde-plasma/plasma-systemmonitor/files/, kde-plasma/plasma-systemmonitor/
Date: Fri, 10 Dec 2021 14:58:37 +0000 (UTC)	[thread overview]
Message-ID: <1639148303.cd8fa8f4385208ebc2e4247feda460180a16fc96.asturm@gentoo> (raw)

commit:     cd8fa8f4385208ebc2e4247feda460180a16fc96
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 10 14:56:24 2021 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Fri Dec 10 14:58:23 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cd8fa8f4

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 <AT> gentoo.org>

 ...pplications-add-comma-separated-filtering.patch | 36 +++++++++++
 ...ns-remove-unneeded-ProcessSortFilterModel.patch | 73 ++++++++++++++++++++++
 .../plasma-systemmonitor-5.23.4-r1.ebuild          | 48 ++++++++++++++
 3 files changed, 157 insertions(+)

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
+)


             reply	other threads:[~2021-12-10 14:58 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-10 14:58 Andreas Sturmlechner [this message]
  -- strict thread matches above, loose matches on Subject: below --
2022-01-25  9:49 [gentoo-commits] repo/gentoo:master commit in: kde-plasma/plasma-systemmonitor/files/, kde-plasma/plasma-systemmonitor/ Andreas Sturmlechner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1639148303.cd8fa8f4385208ebc2e4247feda460180a16fc96.asturm@gentoo \
    --to=asturm@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox