49 lines
1.1 KiB
QML
49 lines
1.1 KiB
QML
import Quickshell.Services.Pipewire
|
|
import QtQuick
|
|
|
|
import qs.config
|
|
import qs.services
|
|
|
|
Column {
|
|
id: root
|
|
|
|
property var applications: AudioDevices.applications
|
|
property bool pipewireReady: Pipewire.ready
|
|
|
|
readonly property int rowCount: applicationRepeater.count
|
|
readonly property string statusText: {
|
|
if (!root.pipewireReady)
|
|
return "PipeWire is unavailable";
|
|
if (root.applications.length === 0)
|
|
return "Applications playing sound will appear here";
|
|
return "";
|
|
}
|
|
|
|
width: parent ? parent.width : 620
|
|
spacing: 8
|
|
|
|
Repeater {
|
|
id: applicationRepeater
|
|
model: root.applications
|
|
|
|
ApplicationVolumeRow {
|
|
required property var modelData
|
|
|
|
width: root.width
|
|
application: modelData
|
|
}
|
|
}
|
|
|
|
Text {
|
|
width: parent.width
|
|
visible: root.statusText !== ""
|
|
text: root.statusText
|
|
color: Theme.fgDim
|
|
font.family: Theme.fontFamily
|
|
font.pixelSize: Theme.fontSize
|
|
horizontalAlignment: Text.AlignHCenter
|
|
topPadding: 18
|
|
bottomPadding: 18
|
|
}
|
|
}
|