diff --git a/applets/taskmanager/package/contents/ui/ToolTipInstance.qml b/applets/taskmanager/package/contents/ui/ToolTipInstance.qml --- a/applets/taskmanager/package/contents/ui/ToolTipInstance.qml +++ b/applets/taskmanager/package/contents/ui/ToolTipInstance.qml @@ -43,6 +43,8 @@ property bool hasPlayer: !!mprisSourceName && !!playerData property bool playing: hasPlayer && playerData.PlaybackStatus === "Playing" property bool canControl: hasPlayer && playerData.CanControl + property bool canPlay: hasPlayer && playerData.CanPlay + property bool canPause: hasPlayer && playerData.CanPause property bool canGoBack: hasPlayer && playerData.CanGoPrevious property bool canGoNext: hasPlayer && playerData.CanGoNext property bool canRaise: hasPlayer && playerData.CanRaise @@ -338,16 +340,25 @@ MouseArea { height: units.iconSizes.medium width: height + enabled: playing || canPlay; acceptedButtons: Qt.LeftButton hoverEnabled: true - onClicked: mpris2Source.playPause(mprisSourceName) + onClicked: { + if (canPause) { + mpris2Source.playPause(mprisSourceName); + } else if (playing) { + mpris2Source.stop(mprisSourceName); + } else { + mpris2Source.play(mprisSourceName); + } + } PlasmaCore.IconItem { anchors.fill: parent active: parent.containsMouse - source: playing ? "media-playback-pause" : "media-playback-start" + source: !playing ? "media-playback-start" : canPause ? "media-playback-pause" : "media-playback-stop" animated: false } }