1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2025-12-06 05:25:41 -05:00

fix: Esnure no volume UI clipping

This commit is contained in:
purian23
2025-09-13 21:01:56 -04:00
parent 6d84553da9
commit 3db1a2ccf2
5 changed files with 27 additions and 13 deletions

View File

@@ -58,7 +58,7 @@ DankOSD {
cursorShape: Qt.PointingHandCursor
onClicked: {
AudioService.toggleMute()
resetHideTimer()
hideTimer.restart()
}
onContainsMouseChanged: {
setChildHovered(containsMouse || volumeSlider.containsMouse)
@@ -69,6 +69,9 @@ DankOSD {
DankSlider {
id: volumeSlider
readonly property real actualVolumePercent: AudioService.sink && AudioService.sink.audio ? Math.round(AudioService.sink.audio.volume * 100) : 0
readonly property real displayPercent: actualVolumePercent
width: parent.width - Theme.iconSize - parent.gap * 3
height: 40
x: parent.gap * 2 + Theme.iconSize
@@ -78,17 +81,18 @@ DankOSD {
enabled: AudioService.sink && AudioService.sink.audio
showValue: true
unit: "%"
valueOverride: displayPercent
Component.onCompleted: {
if (AudioService.sink && AudioService.sink.audio) {
value = Math.round(AudioService.sink.audio.volume * 100)
value = Math.min(100, Math.round(AudioService.sink.audio.volume * 100))
}
}
onSliderValueChanged: newValue => {
if (AudioService.sink && AudioService.sink.audio) {
AudioService.sink.audio.volume = newValue / 100
resetHideTimer()
hideTimer.restart()
}
}
@@ -101,7 +105,7 @@ DankOSD {
function onVolumeChanged() {
if (volumeSlider && !volumeSlider.pressed) {
volumeSlider.value = Math.round(AudioService.sink.audio.volume * 100)
volumeSlider.value = Math.min(100, Math.round(AudioService.sink.audio.volume * 100))
}
}
}
@@ -113,7 +117,7 @@ DankOSD {
if (AudioService.sink && AudioService.sink.audio && contentLoader.item) {
const slider = contentLoader.item.children[0].children[1]
if (slider) {
slider.value = Math.round(AudioService.sink.audio.volume * 100)
slider.value = Math.min(100, Math.round(AudioService.sink.audio.volume * 100))
}
}
}