diff --git a/applet/contents/ui/main.qml b/applet/contents/ui/main.qml --- a/applet/contents/ui/main.qml +++ b/applet/contents/ui/main.qml @@ -140,7 +140,7 @@ return; } var volume = boundVolume(paSourceModel.defaultSource.volume + volumeStep); - var percent = volumePercent(volume); + var percent = volumePercent(volume, currentMaxVolumeValue); paSourceModel.defaultSource.muted = percent == 0; paSourceModel.defaultSource.volume = volume; osd.showMicrophone(percent); @@ -151,7 +151,7 @@ return; } var volume = boundVolume(paSourceModel.defaultSource.volume - volumeStep); - var percent = volumePercent(volume); + var percent = volumePercent(volume, currentMaxVolumeValue); paSourceModel.defaultSource.muted = percent == 0; paSourceModel.defaultSource.volume = volume; osd.showMicrophone(percent); @@ -163,7 +163,7 @@ } var toMute = !paSourceModel.defaultSource.muted; paSourceModel.defaultSource.muted = toMute; - osd.showMicrophone(toMute? 0 : volumePercent(paSourceModel.defaultSource.volume)); + osd.showMicrophone(toMute? 0 : volumePercent(paSourceModel.defaultSource.volume, currentMaxVolumeValue)); } function playFeedback(sinkIndex) { @@ -607,6 +607,11 @@ paSinkModel.setData(paSinkModel.index(i, 0), PulseAudio.NormalVolume, paSinkModel.role("Volume")); } } + for (var i = 0; i < paSourceModel.rowCount(); i++) { + if (paSourceModel.data(paSourceModel.index(i, 0), paSourceModel.role("Volume")) > PulseAudio.NormalVolume) { + paSourceModel.setData(paSourceModel.index(i, 0), PulseAudio.NormalVolume, paSourceModel.role("Volume")); + } + } } } text: i18n("Raise maximum volume")