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 @@ -67,20 +67,22 @@ return; } var volume = boundVolume(sinkModel.preferredSink.volume + volumeStep); - sinkModel.preferredSink.muted = false; + var percent = volumePercent(volume, maxVolumeValue); + sinkModel.preferredSink.muted = percent == 0; sinkModel.preferredSink.volume = volume; - osd.show(volumePercent(volume, maxVolumeValue)); + osd.show(percent); playFeedback(); } function decreaseVolume() { if (!sinkModel.preferredSink) { return; } var volume = boundVolume(sinkModel.preferredSink.volume - volumeStep); - sinkModel.preferredSink.muted = false; + var percent = volumePercent(volume, maxVolumeValue); + sinkModel.preferredSink.muted = percent == 0; sinkModel.preferredSink.volume = volume; - osd.show(volumePercent(volume, maxVolumeValue)); + osd.show(percent); playFeedback(); } @@ -99,19 +101,21 @@ return; } var volume = boundVolume(sourceModel.defaultSource.volume + volumeStep); - sourceModel.defaultSource.muted = false; + var percent = volumePercent(volume); + sourceModel.defaultSource.muted = percent == 0; sourceModel.defaultSource.volume = volume; - osd.showMicrophone(volumePercent(volume)); + osd.showMicrophone(percent); } function decreaseMicrophoneVolume() { if (!sourceModel.defaultSource) { return; } var volume = boundVolume(sourceModel.defaultSource.volume - volumeStep); - sourceModel.defaultSource.muted = false; + var percent = volumePercent(volume); + sourceModel.defaultSource.muted = percent == 0; sourceModel.defaultSource.volume = volume; - osd.showMicrophone(volumePercent(volume)); + osd.showMicrophone(percent); } function muteMicrophone() {