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:
parent
044143ef92
commit
d18d4eb037
@ -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
|
||||
|
@ -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()
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user