From e31a37ba5f9ed272d0a0e06ac644e027127f3436 Mon Sep 17 00:00:00 2001 From: zach Date: Fri, 3 Apr 2026 19:12:24 +0200 Subject: [PATCH] audio popout devices tab better spacing --- Modules/AudioPopup.qml | 116 ++++++++++++++++++++++------------------- 1 file changed, 62 insertions(+), 54 deletions(-) diff --git a/Modules/AudioPopup.qml b/Modules/AudioPopup.qml index 5c6a7f4..8719012 100644 --- a/Modules/AudioPopup.qml +++ b/Modules/AudioPopup.qml @@ -133,53 +133,61 @@ CustomRect { } } - component DevicesTab: ColumnLayout { - spacing: 12 + component DevicesTab: Item { + implicitHeight: deviceColumn.height + Appearance.padding.normal + implicitWidth: deviceColumn.width + Appearance.padding.normal - ButtonGroup { - id: sinks - } + ColumnLayout { + id: deviceColumn - ButtonGroup { - id: sources - } + anchors.centerIn: parent + spacing: 12 - CustomText { - font.weight: 500 - text: qsTr("Output device") - } - - Repeater { - model: Audio.sinks - - CustomRadioButton { - required property PwNode modelData - - ButtonGroup.group: sinks - checked: Audio.sink?.id === modelData.id - text: modelData.description - - onClicked: Audio.setAudioSink(modelData) + ButtonGroup { + id: sinks } - } - CustomText { - Layout.topMargin: 10 - font.weight: 500 - text: qsTr("Input device") - } + ButtonGroup { + id: sources + } - Repeater { - model: Audio.sources + CustomText { + font.weight: 500 + text: qsTr("Output device") + } - CustomRadioButton { - required property PwNode modelData + Repeater { + model: Audio.sinks - ButtonGroup.group: sources - checked: Audio.source?.id === modelData.id - text: modelData.description + CustomRadioButton { + required property PwNode modelData - onClicked: Audio.setAudioSource(modelData) + ButtonGroup.group: sinks + checked: Audio.sink?.id === modelData.id + text: modelData.description + + onClicked: Audio.setAudioSink(modelData) + } + } + + CustomText { + Layout.topMargin: 10 + font.weight: 500 + text: qsTr("Input device") + } + + Repeater { + model: Audio.sources + + CustomRadioButton { + required property PwNode modelData + + ButtonGroup.group: sources + checked: Audio.source?.id === modelData.id + text: modelData.description + + onClicked: Audio.setAudioSource(modelData) + } } } } @@ -366,6 +374,22 @@ CustomRect { node: appBox.modelData } + CustomRect { + id: peakFill + + anchors.bottom: parent.bottom + anchors.left: parent.left + anchors.top: parent.top + color: Qt.alpha(DynamicColors.palette.m3primary, 0.15) + implicitWidth: parent.width * peak.peak + + Behavior on implicitWidth { + Anim { + duration: MaterialEasing.expressiveEffectsTime + } + } + } + RowLayout { id: layoutVolume @@ -449,22 +473,6 @@ CustomRect { } } } - - CustomRect { - id: peakFill - - anchors.bottom: parent.bottom - anchors.left: parent.left - anchors.top: parent.top - color: Qt.alpha(DynamicColors.palette.m3primary, 0.15) - implicitWidth: parent.width * peak.peak - - Behavior on implicitWidth { - Anim { - duration: MaterialEasing.expressiveEffectsTime - } - } - } } } }