1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-01-25 14:02:53 -05:00
Files
DankMaterialShell/Modules/ControlCenter/Audio/VolumeControl.qml
2025-08-24 23:58:28 -04:00

53 lines
1.4 KiB
QML

import QtQuick
import qs.Common
import qs.Services
import qs.Widgets
Column {
id: root
width: parent.width
spacing: Theme.spacingM
StyledText {
text: "Volume"
font.pixelSize: Theme.fontSizeLarge
color: Theme.surfaceText
font.weight: Font.Medium
}
DankSlider {
id: volumeSlider
width: parent.width
minimum: 0
maximum: 100
value: AudioService.sink.audio ? Math.round(AudioService.sink.audio.volume * 100) : 0
leftIcon: (AudioService.sink.audio && AudioService.sink.audio.muted) ? "volume_off" : "volume_down"
rightIcon: "volume_up"
enabled: !(AudioService.sink.audio && AudioService.sink.audio.muted)
showValue: true
unit: "%"
onSliderValueChanged: newValue => {
if (AudioService.sink?.ready && AudioService.sink.audio) {
AudioService.sink.audio.volume = newValue / 100
}
}
MouseArea {
x: 0
y: 0
width: Theme.iconSize
height: parent.height
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
onClicked: {
if (AudioService.sink?.ready && AudioService.sink.audio) {
AudioService.sink.audio.muted = !AudioService.sink.audio.muted
}
}
}
}
}