mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-04-04 04:42:05 -04:00
feat: configurable volume amount on scroll for Media widget (#1641)
* Add audioWheelScrollAmount setting * Add UI to configure volume change amount for Media Player widget * Let Media Player widget use the configured volume change on wheel event
This commit is contained in:
@@ -71,9 +71,9 @@ BasePill {
|
||||
let newVolume = currentVolume;
|
||||
if (isMouseWheelY) {
|
||||
if (deltaY > 0) {
|
||||
newVolume = Math.min(100, currentVolume + 5);
|
||||
newVolume = Math.min(100, currentVolume + SettingsData.audioWheelScrollAmount);
|
||||
} else if (deltaY < 0) {
|
||||
newVolume = Math.max(0, currentVolume - 5);
|
||||
newVolume = Math.max(0, currentVolume - SettingsData.audioWheelScrollAmount);
|
||||
}
|
||||
} else {
|
||||
scrollAccumulatorY += deltaY;
|
||||
|
||||
@@ -65,6 +65,47 @@ Item {
|
||||
SettingsData.set("audioScrollMode", scrollOptsInternal[idx]);
|
||||
}
|
||||
}
|
||||
|
||||
Item {
|
||||
width: parent.width
|
||||
height: audioWheelScrollAmountColumn.height
|
||||
visible: SettingsData.audioScrollMode == "volume"
|
||||
opacity: visible ? 1 : 0
|
||||
|
||||
Column {
|
||||
id: audioWheelScrollAmountColumn
|
||||
x: Theme.spacingL
|
||||
width: 120
|
||||
spacing: Theme.spacingS
|
||||
|
||||
StyledText {
|
||||
text: I18n.tr("Adjust volume per scroll indent")
|
||||
font.pixelSize: Theme.fontSizeSmall
|
||||
color: Theme.surfaceVariantText
|
||||
font.weight: Font.Medium
|
||||
horizontalAlignment: Text.AlignLeft
|
||||
}
|
||||
|
||||
DankTextField {
|
||||
width: 100
|
||||
height: 28
|
||||
placeholderText: "5"
|
||||
text: SettingsData.audioWheelScrollAmount
|
||||
maximumLength: 2
|
||||
font.pixelSize: Theme.fontSizeSmall
|
||||
topPadding: Theme.spacingXS
|
||||
bottomPadding: Theme.spacingXS
|
||||
onEditingFinished: SettingsData.set("audioWheelScrollAmount", parseInt(text, 10))
|
||||
}
|
||||
}
|
||||
|
||||
Behavior on opacity {
|
||||
NumberAnimation {
|
||||
duration: Theme.mediumDuration
|
||||
easing.type: Theme.emphasizedEasing
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user