Bug#1109720: unblock: powerdevil/4:6.3.6-1
Package: release.debian.org
Severity: normal
X-Debbugs-Cc: powerdevil@packages.debian.org, Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>
Control: affects -1 + src:powerdevil
User: release.debian.org@packages.debian.org
Usertags: unblock
Dear Release Team,
please unblock package powerdevil.
[ Reason ]
* New upstream release (6.3.6).
- Applets/batterymonitor: don't ask to install PPD when already installed.
(kde#504889)
- Daemon: Fix triggering an assert in KConfigGroup.
* Drop backported patches now part of the upstream release.
* Refresh patches.
* Backport upstream commits:
- Add missing screen locking link from screen power saving section.
[09ce19dc] (kde#447366)
- applets/brightness: downgrade severity of KeyboardBrightnessControl
action unavailable warning since this is expected on most systems.
[2039c96d] (kde#501461)
- applets/batterymonitor: only show one battery icon in desktop tray.
[4d29cd00] (kde#504697)
- kcm: correct buddyFor relationship for script items fixing recurring
spurious warnings. [dc057e44] (kde#504668)
- PowerDevilAction: refresh action timers on inhibition changes to fix
cases like immediate suspend happening at the end of a video playback.
[31fcf4c0] (kde#504553)
[ Tests ]
Running Plasma with these changes for more than a week I didn’t notice
any regression.
[ Risks ]
The changes only contain the latest upstream point release for the 6.3
Plasma branch and backported commits. 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 powerdevil/4:6.3.6-1
diff -Nru powerdevil-6.3.5/applets/batterymonitor/package/contents/ui/PowerProfileItem.qml powerdevil-6.3.6/applets/batterymonitor/package/contents/ui/PowerProfileItem.qml
--- powerdevil-6.3.5/applets/batterymonitor/package/contents/ui/PowerProfileItem.qml 2025-05-06 20:01:15.000000000 +0200
+++ powerdevil-6.3.6/applets/batterymonitor/package/contents/ui/PowerProfileItem.qml 2025-07-08 13:50:08.000000000 +0200
@@ -300,7 +300,7 @@
visible: !root.profilesAvailable
text: root.isTlpInstalled
? i18n("The TLP service automatically controls power profiles")
- : !root.profilesInstalled
+ : root.profilesInstalled
? i18n("Power profiles are not supported on your device.")
: xi18n("Power profiles may be supported on your device.<nl/>Try installing the <command>power-profiles-daemon</command> package using your distribution's package manager and restarting the system.")
textFormat: Text.PlainText
diff -Nru powerdevil-6.3.5/CMakeLists.txt powerdevil-6.3.6/CMakeLists.txt
--- powerdevil-6.3.5/CMakeLists.txt 2025-05-06 20:01:15.000000000 +0200
+++ powerdevil-6.3.6/CMakeLists.txt 2025-07-08 13:50:08.000000000 +0200
@@ -1,10 +1,10 @@
cmake_minimum_required(VERSION 3.16)
project(PowerDevil)
-set(PROJECT_VERSION "6.3.5")
+set(PROJECT_VERSION "6.3.6")
set(PROJECT_VERSION_MAJOR 6)
-set(PROJECT_DEP_VERSION "6.3.5")
+set(PROJECT_DEP_VERSION "6.3.6")
set(QT_MIN_VERSION "6.7.0")
set(KF6_MIN_VERSION "6.10.0")
diff -Nru powerdevil-6.3.5/daemon/powerdevilcore.cpp powerdevil-6.3.6/daemon/powerdevilcore.cpp
--- powerdevil-6.3.5/daemon/powerdevilcore.cpp 2025-05-06 20:01:15.000000000 +0200
+++ powerdevil-6.3.6/daemon/powerdevilcore.cpp 2025-07-08 13:50:08.000000000 +0200
@@ -300,17 +300,6 @@
{
QString profileId;
- // Check the activity in which we are in
- QString activity = m_activityConsumer->currentActivity();
- qCDebug(POWERDEVIL) << "Currently using activity " << activity;
-
- PowerDevil::ActivitySettings activitySettings(activity);
-
- qCDebug(POWERDEVIL) << "Settings for loaded activity:";
- for (KConfigSkeletonItem *item : activitySettings.items()) {
- qCDebug(POWERDEVIL) << item->key() << "=" << item->property();
- }
-
// let's load the current state's profile
if (m_batteriesPercent.isEmpty()) {
qCDebug(POWERDEVIL) << "No batteries found, loading AC";
@@ -376,27 +365,40 @@
Q_EMIT profileChanged(m_currentProfile);
}
- // Now... any special behaviors we'd like to consider?
- if (activitySettings.inhibitSuspend()) {
- qCDebug(POWERDEVIL) << "Activity triggers a suspend inhibition"; // debug hence not sleep
- // Trigger a special inhibition - if we don't have one yet
- if (!m_sessionActivityInhibit.contains(activity)) {
- int cookie = PolicyAgent::instance()->AddInhibition(PolicyAgent::InterruptSession,
- i18n("Activity Manager"),
- i18n("This activity's policies prevent the system from going to sleep"));
+ // Check the activity in which we are in
+ const QString activity = m_activityConsumer->currentActivity();
+ qCDebug(POWERDEVIL) << "Currently using activity" << activity;
- m_sessionActivityInhibit.insert(activity, cookie);
- }
- }
- if (activitySettings.inhibitScreenManagement()) {
- qCDebug(POWERDEVIL) << "Activity triggers a screen management inhibition";
- // Trigger a special inhibition - if we don't have one yet
- if (!m_screenActivityInhibit.contains(activity)) {
- int cookie = PolicyAgent::instance()->AddInhibition(PolicyAgent::ChangeScreenSettings,
- i18n("Activity Manager"),
- i18n("This activity's policies prevent screen power management"));
+ if (!activity.isEmpty()) {
+ PowerDevil::ActivitySettings activitySettings(activity);
+
+ qCDebug(POWERDEVIL) << "Settings for loaded activity:";
+ for (KConfigSkeletonItem *item : activitySettings.items()) {
+ qCDebug(POWERDEVIL) << item->key() << "=" << item->property();
+ }
+
+ // Now... any special behaviors we'd like to consider?
+ if (activitySettings.inhibitSuspend()) {
+ qCDebug(POWERDEVIL) << "Activity triggers a suspend inhibition"; // debug hence not sleep
+ // Trigger a special inhibition - if we don't have one yet
+ if (!m_sessionActivityInhibit.contains(activity)) {
+ int cookie = PolicyAgent::instance()->AddInhibition(PolicyAgent::InterruptSession,
+ i18n("Activity Manager"),
+ i18n("This activity's policies prevent the system from going to sleep"));
+
+ m_sessionActivityInhibit.insert(activity, cookie);
+ }
+ }
+ if (activitySettings.inhibitScreenManagement()) {
+ qCDebug(POWERDEVIL) << "Activity triggers a screen management inhibition";
+ // Trigger a special inhibition - if we don't have one yet
+ if (!m_screenActivityInhibit.contains(activity)) {
+ int cookie = PolicyAgent::instance()->AddInhibition(PolicyAgent::ChangeScreenSettings,
+ i18n("Activity Manager"),
+ i18n("This activity's policies prevent screen power management"));
- m_screenActivityInhibit.insert(activity, cookie);
+ m_screenActivityInhibit.insert(activity, cookie);
+ }
}
}
diff -Nru powerdevil-6.3.5/debian/changelog powerdevil-6.3.6/debian/changelog
--- powerdevil-6.3.5/debian/changelog 2025-05-19 00:58:43.000000000 +0200
+++ powerdevil-6.3.6/debian/changelog 2025-07-19 14:52:32.000000000 +0200
@@ -1,3 +1,28 @@
+powerdevil (4:6.3.6-1) unstable; urgency=medium
+
+ [ Aurélien COUDERC ]
+ * New upstream release (6.3.6).
+ - Applets/batterymonitor: don't ask to install PPD when already installed.
+ (kde#504889)
+ - Daemon: Fix triggering an assert in KConfigGroup.
+ * Drop backported patches now part of the upstream release.
+ * Refresh patches.
+ * Backport upstream commits:
+ - Add missing screen locking link from screen power saving section.
+ [09ce19dc] (kde#447366)
+ - applets/brightness: downgrade severity of KeyboardBrightnessControl
+ action unavailable warning since this is expected on most systems.
+ [2039c96d] (kde#501461)
+ - applets/batterymonitor: only show one battery icon in desktop tray.
+ [4d29cd00] (kde#504697)
+ - kcm: correct buddyFor relationship for script items fixing recurring
+ spurious warnings. [dc057e44] (kde#504668)
+ - PowerDevilAction: refresh action timers on inhibition changes to fix
+ cases like immediate suspend happening at the end of a video playback.
+ [31fcf4c0] (kde#504553)
+
+ -- Aurélien COUDERC <coucouf@debian.org> Sat, 19 Jul 2025 14:52:32 +0200
+
powerdevil (4:6.3.5-1) unstable; urgency=medium
[ Aurélien COUDERC ]
@@ -6,6 +31,11 @@
- Daemon: Don't crash if using powerdevil 6.3 with kwin 6.2. (kde#501446)
* Relax inter-plasma versioned dependency constraint so we can upload
only 6.3.5 packages that have actual code changes.
+ * Backport upstream commits scheduled for 6.3.6:
+ - daemon: Fix triggering an assert in KConfigGroup when loading profile
+ without an activity.
+ - Fix Power Profile incorrectly shown when hardware does not support it.
+ (kde#504889)
-- Aurélien COUDERC <coucouf@debian.org> Mon, 19 May 2025 00:58:43 +0200
diff -Nru powerdevil-6.3.5/debian/patches/relax-interplasma-versioned-deps.patch powerdevil-6.3.6/debian/patches/relax-interplasma-versioned-deps.patch
--- powerdevil-6.3.5/debian/patches/relax-interplasma-versioned-deps.patch 2025-05-16 18:56:09.000000000 +0200
+++ powerdevil-6.3.6/debian/patches/relax-interplasma-versioned-deps.patch 2025-07-19 14:16:08.000000000 +0200
@@ -1,10 +1,10 @@
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -4,7 +4,7 @@
- set(PROJECT_VERSION "6.3.5")
+ set(PROJECT_VERSION "6.3.6")
set(PROJECT_VERSION_MAJOR 6)
--set(PROJECT_DEP_VERSION "6.3.5")
+-set(PROJECT_DEP_VERSION "6.3.6")
+set(PROJECT_DEP_VERSION "6.3.4")
set(QT_MIN_VERSION "6.7.0")
set(KF6_MIN_VERSION "6.10.0")
diff -Nru powerdevil-6.3.5/debian/patches/series powerdevil-6.3.6/debian/patches/series
--- powerdevil-6.3.5/debian/patches/series 2025-05-16 18:56:09.000000000 +0200
+++ powerdevil-6.3.6/debian/patches/series 2025-07-19 14:47:29.000000000 +0200
@@ -1 +1,6 @@
relax-interplasma-versioned-deps.patch
+upstream_09ce19dc_KCM-add-Screen-Locking-to-related-pages-list.patch
+upstream_2039c96d_applets-brightness-downgrade-severity-of-action-unavailable-message.patch
+upstream_4d29cd00_applets-batterymonitor-only-show-one-battery-icon-in-desktop-tray.patch
+upstream_dc057e44_kcm-correct-buddyFor-relationship-for-script-items.patch
+upstream_31fcf4c0_PowerDevilAction-refresh-action-timers-on-inhibition-changes.patch
diff -Nru powerdevil-6.3.5/debian/patches/upstream_09ce19dc_KCM-add-Screen-Locking-to-related-pages-list.patch powerdevil-6.3.6/debian/patches/upstream_09ce19dc_KCM-add-Screen-Locking-to-related-pages-list.patch
--- powerdevil-6.3.5/debian/patches/upstream_09ce19dc_KCM-add-Screen-Locking-to-related-pages-list.patch 1970-01-01 01:00:00.000000000 +0100
+++ powerdevil-6.3.6/debian/patches/upstream_09ce19dc_KCM-add-Screen-Locking-to-related-pages-list.patch 2025-07-19 14:30:47.000000000 +0200
@@ -0,0 +1,46 @@
+From 09ce19dc3eab6bd38fae61447bffcf479c681785 Mon Sep 17 00:00:00 2001
+From: Nate Graham <nate@kde.org>
+Date: Sun, 2 Mar 2025 10:04:48 -0700
+Subject: [PATCH] KCM: add "Screen Locking" to related pages list
+
+People seem to want to find it there.
+
+FEATURE: 447366
+FIXED-IN: 6.4.0
+---
+From: Aurélien COUDERC <coucouf@debian.org>
+Adapted to apply against Plasma 6.3
+---
+ kcm/ui/GlobalConfig.qml | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/kcm/ui/GlobalConfig.qml b/kcm/ui/GlobalConfig.qml
+index 4452ee7d0..c95eb3d12 100644
+--- a/kcm/ui/GlobalConfig.qml
++++ b/kcm/ui/GlobalConfig.qml
+@@ -369,6 +369,7 @@ Kirigami.ScrollablePage {
+
+ readonly property real maxPageButtonImplicitWidth: Math.max(
+ firstRelatedPage.implicitWidth,
++ screenLockingPage.implicitWidth,
+ desktopSessionsPage.implicitWidth,
+ activitiesPage.implicitWidth,
+ )
+@@ -396,6 +397,14 @@ Kirigami.ScrollablePage {
+ Layout.preferredWidth: relatedPagesLayout.maxPageButtonImplicitWidth
+ onClicked: KCM.KCMLauncher.openSystemSettings("kcm_notifications", "--notifyrc=powerdevil")
+ }
++ MostUsedItem {
++ id: screenLockingPage
++ kcmIcon: "preferences-desktop-user-password"
++ kcmName: i18nc("@text:button Name of KCM", "Screen Locking")
++ Accessible.name: i18n("Open \"Screen Locking\" settings page")
++ Layout.preferredWidth: relatedPagesLayout.maxPageButtonImplicitWidth
++ onClicked: KCM.KCMLauncher.openSystemSettings("kcm_screenlocker")
++ }
+ MostUsedItem {
+ id: desktopSessionsPage
+ kcmIcon: "system-log-out"
+--
+GitLab
+
diff -Nru powerdevil-6.3.5/debian/patches/upstream_2039c96d_applets-brightness-downgrade-severity-of-action-unavailable-message.patch powerdevil-6.3.6/debian/patches/upstream_2039c96d_applets-brightness-downgrade-severity-of-action-unavailable-message.patch
--- powerdevil-6.3.5/debian/patches/upstream_2039c96d_applets-brightness-downgrade-severity-of-action-unavailable-message.patch 1970-01-01 01:00:00.000000000 +0100
+++ powerdevil-6.3.6/debian/patches/upstream_2039c96d_applets-brightness-downgrade-severity-of-action-unavailable-message.patch 2025-07-19 14:35:22.000000000 +0200
@@ -0,0 +1,36 @@
+From 2039c96da97c550f76b782fed2f03a14705a6ca9 Mon Sep 17 00:00:00 2001
+From: Christoph Wolk <cwo.kde@posteo.net>
+Date: Fri, 4 Apr 2025 17:07:42 +0200
+Subject: [PATCH] applets/brightness: downgrade severity of action unavailable
+ message
+
+If the KeyboardBrightnessControl action is not available, a warning is
+logged. This seems a bit high, as this is the expected case for many
+systems.
+
+Instead, use Info severity - this still allows users to see the message
+without also seeing all the debug messages, but removes it in the
+default case (as the default minimum severity is already set to
+Warning).
+
+BUG: 501461
+---
+ applets/brightness/plugin/keyboardbrightnesscontrol.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/applets/brightness/plugin/keyboardbrightnesscontrol.cpp b/applets/brightness/plugin/keyboardbrightnesscontrol.cpp
+index e2aba9029..92d46a784 100644
+--- a/applets/brightness/plugin/keyboardbrightnesscontrol.cpp
++++ b/applets/brightness/plugin/keyboardbrightnesscontrol.cpp
+@@ -143,7 +143,7 @@ QCoro::Task<void> KeyboardBrightnessControl::onSupportedActionsChanged()
+ if (actionSupported) {
+ onActionSupported();
+ } else {
+- qCWarning(APPLETS::BRIGHTNESS) << "D-Bus action" << KEYBOARD_BRIGHTNESS_ACTION << "is not available at service" << SOLID_POWERMANAGEMENT_SERVICE;
++ qCInfo(APPLETS::BRIGHTNESS) << "D-Bus action" << KEYBOARD_BRIGHTNESS_ACTION << "is not available at service" << SOLID_POWERMANAGEMENT_SERVICE;
+ onActionUnsupported();
+ }
+ }
+--
+GitLab
+
diff -Nru powerdevil-6.3.5/debian/patches/upstream_31fcf4c0_PowerDevilAction-refresh-action-timers-on-inhibition-changes.patch powerdevil-6.3.6/debian/patches/upstream_31fcf4c0_PowerDevilAction-refresh-action-timers-on-inhibition-changes.patch
--- powerdevil-6.3.5/debian/patches/upstream_31fcf4c0_PowerDevilAction-refresh-action-timers-on-inhibition-changes.patch 1970-01-01 01:00:00.000000000 +0100
+++ powerdevil-6.3.6/debian/patches/upstream_31fcf4c0_PowerDevilAction-refresh-action-timers-on-inhibition-changes.patch 2025-07-19 14:47:29.000000000 +0200
@@ -0,0 +1,44 @@
+From 31fcf4c07346bc1fcd7b6df07b62330fd0b7db7f Mon Sep 17 00:00:00 2001
+From: Nate Graham <nate@kde.org>
+Date: Tue, 17 Jun 2025 15:38:49 -0600
+Subject: [PATCH] PowerDevilAction: refresh action timers on inhibition changes
+
+When inhibitions change, action timers should be restarted.
+If they're not restarted, action timer may run to 0 right after
+a video playback ends for example, running the action abruptly.
+
+BUG: 504553
+
+
+(cherry picked from commit 3feaad466c5e6195ed8541c3c58d899a612511d0)
+
+Co-authored-by: Akseli Lahtinen <akselmo@akselmo.dev>
+---
+ daemon/powerdevilcore.cpp | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/daemon/powerdevilcore.cpp b/daemon/powerdevilcore.cpp
+index fc154cab4..bd97fb7ec 100644
+--- a/daemon/powerdevilcore.cpp
++++ b/daemon/powerdevilcore.cpp
+@@ -141,6 +141,17 @@ void Core::onControllersReady()
+ Q_UNUSED(newPolicies);
+ KIdleTime::instance()->simulateUserActivity();
+ });
++ // Refresh action timers during inhibition change, to avoid timers reaching zero right after inhibitions end.
++ connect(PowerDevil::PolicyAgent::instance(), &PowerDevil::PolicyAgent::InhibitionsChanged, this, [this]() {
++ qCDebug(POWERDEVIL) << "Refreshing timers for actions on inhibitionsChanged";
++ for (const QString &action : std::as_const(m_activeActions)) {
++ const auto timeouts = m_actionPool[action]->m_registeredIdleTimeouts;
++ m_actionPool[action]->unregisterIdleTimeouts();
++ for (const auto &timeout : timeouts) {
++ m_actionPool[action]->registerIdleTimeout(timeout);
++ }
++ }
++ });
+
+ // Bug 354250: Simulate user activity when session becomes inactive,
+ // this keeps us from sending the computer to sleep when switching to an idle session.
+--
+GitLab
+
diff -Nru powerdevil-6.3.5/debian/patches/upstream_4d29cd00_applets-batterymonitor-only-show-one-battery-icon-in-desktop-tray.patch powerdevil-6.3.6/debian/patches/upstream_4d29cd00_applets-batterymonitor-only-show-one-battery-icon-in-desktop-tray.patch
--- powerdevil-6.3.5/debian/patches/upstream_4d29cd00_applets-batterymonitor-only-show-one-battery-icon-in-desktop-tray.patch 1970-01-01 01:00:00.000000000 +0100
+++ powerdevil-6.3.6/debian/patches/upstream_4d29cd00_applets-batterymonitor-only-show-one-battery-icon-in-desktop-tray.patch 2025-07-19 14:43:31.000000000 +0200
@@ -0,0 +1,46 @@
+From 4d29cd00de35dce18c43f78eefb02f78f2059f41 Mon Sep 17 00:00:00 2001
+From: Christoph Wolk <cwo.kde@posteo.net>
+Date: Mon, 26 May 2025 20:29:29 +0000
+Subject: [PATCH] applets/batterymonitor: only show one battery icon in desktop
+ tray
+
+The compact representation only shows one icon in most cases, but on
+the desktop users can resize it to be long in only one direction and
+short in the other to get a row or column with one icon for each
+connected battery. This breaks in the case of a system tray on the
+desktop, where applets inherit the desktop form factor, and the battery
+applet appears to have a variably-sized partial icon below it depending
+on the tray widget dimensions. (I suspect the change toward nested
+plasma containments in 46ada24f is involved).
+
+Instead, we also test for the ContainmentForcesSquarePlasmoids
+containment hint (which the tray sets), and consider the widget
+constrained in that case - with a forced square plasmoid, showing
+multiple icons doesn't make much sense anyway.
+
+BUG: 504697
+FIXED-IN: 6.4.0
+
+
+(cherry picked from commit 58f2c466e48562f5c78cd19990148af473bbde24)
+
+Co-authored-by: Christoph Wolk <cwo.kde@posteo.net>
+---
+ .../batterymonitor/package/contents/ui/CompactRepresentation.qml | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/applets/batterymonitor/package/contents/ui/CompactRepresentation.qml b/applets/batterymonitor/package/contents/ui/CompactRepresentation.qml
+index 3cbfba60a..23e6272ed 100644
+--- a/applets/batterymonitor/package/contents/ui/CompactRepresentation.qml
++++ b/applets/batterymonitor/package/contents/ui/CompactRepresentation.qml
+@@ -21,6 +21,7 @@ MouseArea {
+ id: root
+
+ readonly property bool isConstrained: [PlasmaCore.Types.Vertical, PlasmaCore.Types.Horizontal].includes(Plasmoid.formFactor)
++ || Plasmoid.containmentDisplayHints & PlasmaCore.Types.ContainmentForcesSquarePlasmoids
+ property int batteryPercent: 0
+ property bool batteryPluggedIn: false
+ property bool hasBatteries: false
+--
+GitLab
+
diff -Nru powerdevil-6.3.5/debian/patches/upstream_dc057e44_kcm-correct-buddyFor-relationship-for-script-items.patch powerdevil-6.3.6/debian/patches/upstream_dc057e44_kcm-correct-buddyFor-relationship-for-script-items.patch
--- powerdevil-6.3.5/debian/patches/upstream_dc057e44_kcm-correct-buddyFor-relationship-for-script-items.patch 1970-01-01 01:00:00.000000000 +0100
+++ powerdevil-6.3.6/debian/patches/upstream_dc057e44_kcm-correct-buddyFor-relationship-for-script-items.patch 2025-07-19 14:45:56.000000000 +0200
@@ -0,0 +1,34 @@
+From dc057e44368e5c2166b2214bbd13a7a754e80061 Mon Sep 17 00:00:00 2001
+From: Nate Graham <nate@kde.org>
+Date: Tue, 10 Jun 2025 13:51:40 -0600
+Subject: [PATCH] kcm: correct buddyFor relationship for script items
+
+The buddy needs to be a direct child.
+
+BUG: 504668
+FIXED-IN: 6.4.0
+
+
+(cherry picked from commit 412e9f4b445062c508baf0992655f73dd9a1df11)
+
+Co-authored-by: Nate Graham <nate@kde.org>
+---
+ kcm/ui/RunScriptEdit.qml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/kcm/ui/RunScriptEdit.qml b/kcm/ui/RunScriptEdit.qml
+index 48050825d..b22359d82 100644
+--- a/kcm/ui/RunScriptEdit.qml
++++ b/kcm/ui/RunScriptEdit.qml
+@@ -15,7 +15,7 @@ import org.kde.kirigami as Kirigami
+ FocusScope {
+ id: root
+ required property string command
+- Kirigami.FormData.buddyFor: commandText
++ Kirigami.FormData.buddyFor: row
+
+ implicitHeight: row.implicitHeight
+ implicitWidth: row.implicitWidth
+--
+GitLab
+
Reply to: