Package: release.debian.org Severity: normal X-Debbugs-Cc: systemsetti...@packages.debian.org, Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org> Control: affects -1 + src:systemsettings User: release.debian....@packages.debian.org Usertags: unblock
Please unblock package systemsettings [ Reason ] It contains the following changes: * Backport upstream commits: - Fix accessibility of scrollable areas in systemsettings configuration pages. - Fix header colors of QWidget based KCMs not updated immediately. (kde#495462) [ Tests ] - Tested various system settings pages to work correctly and the header color applying immediately. [ Risks ] Only backport of upstream commits that apply cleanly. Further fixes can easily be backported or the changes reverted. [ Checklist ] [x] all changes are documented in the d/changelog [x] I reviewed all changes and I approve them [x] attach debdiff against the package in testing Thanks! unblock systemsettings/4:6.3.4-2
diff -Nru systemsettings-6.3.4/debian/changelog systemsettings-6.3.4/debian/changelog --- systemsettings-6.3.4/debian/changelog 2025-04-03 01:01:11.000000000 +0200 +++ systemsettings-6.3.4/debian/changelog 2025-05-19 23:44:40.000000000 +0200 @@ -1,3 +1,14 @@ +systemsettings (4:6.3.4-2) unstable; urgency=medium + + [ Aurélien COUDERC ] + * Backport upstream commits: + - Fix accessibility of scrollable areas in systemsettings configuration + pages. + - Fix header colors of QWidget based KCMs not updated immediately. + (kde#495462) + + -- Aurélien COUDERC <couc...@debian.org> Mon, 19 May 2025 23:44:40 +0200 + systemsettings (4:6.3.4-1) unstable; urgency=medium [ Patrick Franz ] diff -Nru systemsettings-6.3.4/debian/patches/series systemsettings-6.3.4/debian/patches/series --- systemsettings-6.3.4/debian/patches/series 1970-01-01 01:00:00.000000000 +0100 +++ systemsettings-6.3.4/debian/patches/series 2025-05-19 23:44:40.000000000 +0200 @@ -0,0 +1,3 @@ +upstream_89cf0e62_ModuleView-set-AccessibleName-for-ScrollArea.patch +upstream_e111fd5d_Apply-1-suggestion-s-to-1-file-s-.patch +upstream_bd4d1799_Fix-header-colors-of-QWidget-based-KCMs.patch diff -Nru systemsettings-6.3.4/debian/patches/upstream_89cf0e62_ModuleView-set-AccessibleName-for-ScrollArea.patch systemsettings-6.3.4/debian/patches/upstream_89cf0e62_ModuleView-set-AccessibleName-for-ScrollArea.patch --- systemsettings-6.3.4/debian/patches/upstream_89cf0e62_ModuleView-set-AccessibleName-for-ScrollArea.patch 1970-01-01 01:00:00.000000000 +0100 +++ systemsettings-6.3.4/debian/patches/upstream_89cf0e62_ModuleView-set-AccessibleName-for-ScrollArea.patch 2025-05-19 23:41:47.000000000 +0200 @@ -0,0 +1,34 @@ +From 89cf0e629e0fcfd7508d24072a04567ca480e807 Mon Sep 17 00:00:00 2001 +From: Christoph Wolk <cwo....@posteo.net> +Date: Sat, 8 Feb 2025 19:44:25 +0100 +Subject: [PATCH] ModuleView: set AccessibleName for ScrollArea + +The tab stop at the kcm scrollarea can in some cases serve a purpose, +but is very cryptic to screen reader users as it appears to be non- +interactable and is only announced with the confusing "LayeredPane". + +Instead set an explicit AccessibleName that informs the user of the +general purpose of the control they are on. QAccessible does not support +the Atspi role SCROLL_PANE which would be optimal here, and there is no +clear equivalent, so it has to be done with AccessibleName. +--- + app/ModuleView.cpp | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/app/ModuleView.cpp b/app/ModuleView.cpp +index b24f396fd..612f58272 100644 +--- a/app/ModuleView.cpp ++++ b/app/ModuleView.cpp +@@ -272,6 +272,9 @@ void ModuleView::addModule(MenuItem *item, const QStringList &args) + auto page = new KPageWidgetItem(moduleScroll, data.name()); + // Provide information to the users + ++ // set accessible name, or screen reader users will have a cryptic "LayeredPane" tabstop ++ moduleScroll->setAccessibleName(i18ndc("systemsettings", "@other accessible name for view that can be scrolled", "Scrollable area")); ++ + if (item->isExternalAppModule()) { + auto externalWidget = new ExternalAppModule(KService::Ptr(new KService(item->metaData().fileName()))); + moduleScroll->setWidget(externalWidget); +-- +GitLab + diff -Nru systemsettings-6.3.4/debian/patches/upstream_bd4d1799_Fix-header-colors-of-QWidget-based-KCMs.patch systemsettings-6.3.4/debian/patches/upstream_bd4d1799_Fix-header-colors-of-QWidget-based-KCMs.patch --- systemsettings-6.3.4/debian/patches/upstream_bd4d1799_Fix-header-colors-of-QWidget-based-KCMs.patch 1970-01-01 01:00:00.000000000 +0100 +++ systemsettings-6.3.4/debian/patches/upstream_bd4d1799_Fix-header-colors-of-QWidget-based-KCMs.patch 2025-05-19 23:44:40.000000000 +0200 @@ -0,0 +1,40 @@ +From bd4d17996062ad0a78a0157cdc17603ccbf8a0ea Mon Sep 17 00:00:00 2001 +From: Marco Martin <notm...@gmail.com> +Date: Tue, 27 May 2025 11:53:38 +0200 +Subject: [PATCH] Fix header colors of QWidget based KCMs + +If we create a QPalette from scratch for the KCM header, +we won't be notified anymore about palette changes, so when +changing the color scheme the PaletteChanged events won't arrive. +if we instead start form QWidget::palette() and then modify it +we will get the events and the color scheme changes will be applied +immediately + +BUG:495462 + + +(cherry picked from commit 314c6e87bdca262b3ce7e863d7a79657e937f51f) + +314c6e87 Fix header colors of QWidget based KCMs + +Co-authored-by: Marco Martin <notm...@gmail.com> +--- + app/ModuleView.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/app/ModuleView.cpp b/app/ModuleView.cpp +index d06c24e5a..2b359d448 100644 +--- a/app/ModuleView.cpp ++++ b/app/ModuleView.cpp +@@ -81,7 +81,7 @@ void CustomTitle::colorsChanged() + auto inactive = KColorScheme(QPalette::Inactive, KColorScheme::Header, config); + auto disabled = KColorScheme(QPalette::Disabled, KColorScheme::Header, config); + +- QPalette palette = KColorScheme::createApplicationPalette(config); ++ QPalette palette = QWidget::palette(); + + palette.setBrush(QPalette::Active, QPalette::Window, active.background()); + palette.setBrush(QPalette::Active, QPalette::WindowText, active.foreground()); +-- +GitLab + diff -Nru systemsettings-6.3.4/debian/patches/upstream_e111fd5d_Apply-1-suggestion-s-to-1-file-s-.patch systemsettings-6.3.4/debian/patches/upstream_e111fd5d_Apply-1-suggestion-s-to-1-file-s-.patch --- systemsettings-6.3.4/debian/patches/upstream_e111fd5d_Apply-1-suggestion-s-to-1-file-s-.patch 1970-01-01 01:00:00.000000000 +0100 +++ systemsettings-6.3.4/debian/patches/upstream_e111fd5d_Apply-1-suggestion-s-to-1-file-s-.patch 2025-05-19 23:44:40.000000000 +0200 @@ -0,0 +1,26 @@ +From e111fd5dca575758b2584fba384fefbef0b468c1 Mon Sep 17 00:00:00 2001 +From: Christoph Wolk <cwo....@posteo.net> +Date: Tue, 13 May 2025 14:48:38 +0000 +Subject: [PATCH] Apply 1 suggestion(s) to 1 file(s) + +Co-authored-by: Fushan Wen <qydwhotm...@gmail.com> +--- + app/ModuleView.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/app/ModuleView.cpp b/app/ModuleView.cpp +index 612f58272..d06c24e5a 100644 +--- a/app/ModuleView.cpp ++++ b/app/ModuleView.cpp +@@ -273,7 +273,7 @@ void ModuleView::addModule(MenuItem *item, const QStringList &args) + // Provide information to the users + + // set accessible name, or screen reader users will have a cryptic "LayeredPane" tabstop +- moduleScroll->setAccessibleName(i18ndc("systemsettings", "@other accessible name for view that can be scrolled", "Scrollable area")); ++ moduleScroll->setAccessibleName(i18ndc("systemsettings", "@info:whatsthis", "Scrollable area")); + + if (item->isExternalAppModule()) { + auto externalWidget = new ExternalAppModule(KService::Ptr(new KService(item->metaData().fileName()))); +-- +GitLab +