From cd11aac847e7affa826b27708f9fb0b350421cb0 Mon Sep 17 00:00:00 2001 From: Benjamin Palko Date: Wed, 30 Jul 2025 10:04:02 -0400 Subject: [PATCH] widgets on mpris --- modules/bar/components/mpris/Mpris.qml | 1 - modules/bar/components/mpris/Player.qml | 36 ++++++++++--------------- 2 files changed, 14 insertions(+), 23 deletions(-) diff --git a/modules/bar/components/mpris/Mpris.qml b/modules/bar/components/mpris/Mpris.qml index 8c39c15..e9ff3c0 100644 --- a/modules/bar/components/mpris/Mpris.qml +++ b/modules/bar/components/mpris/Mpris.qml @@ -1,4 +1,3 @@ -import Quickshell import Quickshell.Services.Mpris import QtQuick diff --git a/modules/bar/components/mpris/Player.qml b/modules/bar/components/mpris/Player.qml index 3c7490f..131b0f1 100644 --- a/modules/bar/components/mpris/Player.qml +++ b/modules/bar/components/mpris/Player.qml @@ -1,9 +1,10 @@ +import qs.config +import qs.widgets import Quickshell.Services.Mpris import QtQuick -import "../../../../styled/" -import "../../../../config/" Loader { + id: root required property MprisPlayer modelData required property int index @@ -11,46 +12,37 @@ Loader { signal previousPlayer sourceComponent: player - property Component player: Clickable { - id: clickable - - implicitWidth: text.width - implicitHeight: Dimensions.mpris.height + property Component player: StyledButton { + id: button onClicked: { - if (!modelData.canTogglePlaying) { + if (!root.modelData.canTogglePlaying) { return; } - if (modelData.isPlaying) { - modelData.pause(); + if (root.modelData.isPlaying) { + root.modelData.pause(); } else { - modelData.play(); + root.modelData.play(); } } onWheel: event => { if (event.angleDelta.y > 0) { - parent.nextPlayer(); + root.nextPlayer(); } else if (event.angleDelta.y < 0) { - parent.previousPlayer(); + root.previousPlayer(); } } - StyledText { + content: StyledText { id: text - text: `${modelData.isPlaying ? "" : ""} ${modelData.trackTitle} - ${modelData.trackArtist}` - - anchors.verticalCenter: parent.verticalCenter - topPadding: Dimensions.mpris.verticalPadding - bottomPadding: Dimensions.mpris.verticalPadding - leftPadding: Dimensions.mpris.horizontalPadding - rightPadding: Dimensions.mpris.horizontalPadding + text: `${root.modelData.isPlaying ? "" : ""} ${root.modelData.trackTitle} - ${root.modelData.trackArtist}` font.pixelSize: Dimensions.mpris.fontSize states: State { name: "hovered" - when: clickable.containsMouse + when: button.containsMouse PropertyChanges { text { color: Theme.palette.base300