From a6a16507c338d5d0f33483bcb140e72d8f60c2e1 Mon Sep 17 00:00:00 2001 From: Florian RICHER Date: Sun, 29 Sep 2024 22:24:58 +0000 Subject: [PATCH] quicksettings: Fix brightness slider Status: - Tested on my OP6 with PostmarketOS edge. (Pmbootstrap build + sideload) Fix issue https://invent.kde.org/teams/plasma-mobile/issues/-/issues/306 --- .../quicksettings/BrightnessItem.qml | 14 ++++----- .../quicksettings/QuickSettings.qml | 30 +++++++++++++++---- 2 files changed, 29 insertions(+), 15 deletions(-) diff --git a/components/mobileshell/qml/actiondrawer/quicksettings/BrightnessItem.qml b/components/mobileshell/qml/actiondrawer/quicksettings/BrightnessItem.qml index cb7deebc..6071388c 100644 --- a/components/mobileshell/qml/actiondrawer/quicksettings/BrightnessItem.qml +++ b/components/mobileshell/qml/actiondrawer/quicksettings/BrightnessItem.qml @@ -12,16 +12,16 @@ import org.kde.kirigami 2.20 as Kirigami import org.kde.plasma.core as PlasmaCore import org.kde.plasma.components 3.0 as PC3 -import org.kde.plasma.private.brightnesscontrolplugin as BC Item { id: root implicitHeight: brightnessRow.implicitHeight - BC.ScreenBrightnessControl { - id: screenBrightnessControl - } + property alias value: brightnessSlider.value + property alias maximumValue: brightnessSlider.to + + signal moved() RowLayout { id: brightnessRow @@ -44,12 +44,8 @@ Item { Layout.fillWidth: true Layout.alignment: Qt.AlignVCenter from: 1 - to: screenBrightnessControl.brightnessMax - value: screenBrightnessControl.brightness - onMoved: { - screenBrightnessControl.brightness = value; - } + onMoved: root.moved() } Kirigami.Icon { diff --git a/components/mobileshell/qml/actiondrawer/quicksettings/QuickSettings.qml b/components/mobileshell/qml/actiondrawer/quicksettings/QuickSettings.qml index ac7fcf38..d866cab6 100644 --- a/components/mobileshell/qml/actiondrawer/quicksettings/QuickSettings.qml +++ b/components/mobileshell/qml/actiondrawer/quicksettings/QuickSettings.qml @@ -14,6 +14,7 @@ import org.kde.plasma.private.mobileshell as MobileShell import org.kde.plasma.components 3.0 as PlasmaComponents import org.kde.plasma.private.mobileshell.quicksettingsplugin as QS import org.kde.kirigami 2.20 as Kirigami +import org.kde.plasma.private.brightnesscontrolplugin as BC /** * Quick settings elements layout, change the height to clip. @@ -106,12 +107,29 @@ Item { sourceComponent: root.mode === QuickSettings.Pages ? swipeViewComponent : scrollViewComponent } - BrightnessItem { - id: brightnessItem - Layout.bottomMargin: Kirigami.Units.smallSpacing * 2 - Layout.leftMargin: Kirigami.Units.smallSpacing - Layout.rightMargin: Kirigami.Units.smallSpacing - Layout.fillWidth: true + BC.ScreenBrightnessControl { + id: screenBrightnessControl + } + + Repeater { + id: brightnessRepeater + model: screenBrightnessControl.displays + + BrightnessItem { + required property string displayName + required property int brightness + required property int maxBrightness + + Layout.bottomMargin: Kirigami.Units.smallSpacing * 2 + Layout.leftMargin: Kirigami.Units.smallSpacing + Layout.rightMargin: Kirigami.Units.smallSpacing + Layout.fillWidth: true + + value: brightness + maximumValue: maxBrightness + + onMoved: screenBrightnessControl.setBrightness(displayName, value) + } } }