1
0
mirror of https://github.com/KDE/latte-dock.git synced 2025-03-27 14:50:21 +03:00

update audio icon based on volume

This commit is contained in:
Michail Vourlakos 2017-05-02 20:20:25 +03:00
parent 044143ef92
commit d18d4eb037
3 changed files with 31 additions and 2 deletions

View File

@ -65,14 +65,25 @@ Item {
border.color: root.minimizedDotColor
radius: width/2
opacity: mainItemContainer.playingAudio && !mainItemContainer.muted ? 1 : 0.4
opacity: mainItemContainer.playingAudio && !mainItemContainer.muted ? 1 : 0.5
}
Latte.IconItem{
id: audioStreamIcon
anchors.fill: parent
source: mainItemContainer.playingAudio && !mainItemContainer.muted ? "audio-volume-high" : "audio-volume-muted"
opacity: mainItemContainer.playingAudio && !mainItemContainer.muted ? 1 : 0.5
source: {
if (mainItemContainer.volume <= 0 || mainItemContainer.muted) {
return "audio-volume-muted";
} else if (mainItemContainer.volume <= 25) {
return "audio-volume-low";
} else if (mainItemContainer.volume <= 75) {
return "audio-volume-medium";
} else {
return "audio-volume-high" ;
}
}
MouseArea{
anchors.fill: parent

View File

@ -78,6 +78,8 @@ QtObject {
readonly property bool muted: Muted
// whether there is nothing actually going on on that stream
readonly property bool corked: Corked
readonly property int volume: Math.round(pulseVolume / PulseAudio.NormalVolume * 100.0)
readonly property int pulseVolume: Volume
function mute() {
Muted = true
@ -85,6 +87,7 @@ QtObject {
function unmute() {
Muted = false
}
}
onObjectAdded: pulseAudio.streamsChanged()

View File

@ -145,6 +145,21 @@ MouseArea{
readonly property bool muted: hasAudioStream && audioStreams.every(function (item) {
return item.muted
})
readonly property int volume: {
if (!hasAudioStream){
return 0;
}
var maxVolume = 0;
for (var i=0; i<audioStreams.length; ++i){
if (audioStreams[i].volume > maxVolume)
maxVolume = audioStreams[i].volume;
}
return maxVolume;
}
//////
property QtObject contextMenu: null