import "root:/modules/common" import "root:/modules/common/widgets" import "root:/services" import Qt5Compat.GraphicalEffects import QtQuick import QtQuick.Controls import QtQuick.Layouts import Quickshell.Widgets import Quickshell.Services.Pipewire GroupButton { id: button required property bool input buttonRadius: Appearance.rounding.small colBackground: Appearance.colors.colLayer2 colBackgroundHover: Appearance.colors.colLayer2Hover colBackgroundActive: Appearance.colors.colLayer2Active clickedWidth: baseWidth + 30 contentItem: RowLayout { anchors.fill: parent anchors.margins: 5 spacing: 5 MaterialSymbol { Layout.alignment: Qt.AlignVCenter Layout.fillWidth: false Layout.leftMargin: 5 color: Appearance.colors.colOnLayer2 iconSize: Appearance.font.pixelSize.hugeass text: input ? "mic_external_on" : "media_output" } ColumnLayout { Layout.fillWidth: true Layout.rightMargin: 5 spacing: 0 StyledText { Layout.fillWidth: true elide: Text.ElideRight font.pixelSize: Appearance.font.pixelSize.normal text: input ? qsTr("Input") : qsTr("Output") color: Appearance.colors.colOnLayer2 } StyledText { Layout.fillWidth: true elide: Text.ElideRight font.pixelSize: Appearance.font.pixelSize.smaller text: (input ? Pipewire.defaultAudioSource?.description : Pipewire.defaultAudioSink?.description) ?? qsTr("Unknown") color: Appearance.m3colors.m3outline } } } }