widgets on mpris
This commit is contained in:
parent
d03e2ed11f
commit
cd11aac847
2 changed files with 14 additions and 23 deletions
|
|
@ -1,4 +1,3 @@
|
||||||
import Quickshell
|
|
||||||
import Quickshell.Services.Mpris
|
import Quickshell.Services.Mpris
|
||||||
import QtQuick
|
import QtQuick
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,10 @@
|
||||||
|
import qs.config
|
||||||
|
import qs.widgets
|
||||||
import Quickshell.Services.Mpris
|
import Quickshell.Services.Mpris
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import "../../../../styled/"
|
|
||||||
import "../../../../config/"
|
|
||||||
|
|
||||||
Loader {
|
Loader {
|
||||||
|
id: root
|
||||||
required property MprisPlayer modelData
|
required property MprisPlayer modelData
|
||||||
required property int index
|
required property int index
|
||||||
|
|
||||||
|
|
@ -11,46 +12,37 @@ Loader {
|
||||||
signal previousPlayer
|
signal previousPlayer
|
||||||
|
|
||||||
sourceComponent: player
|
sourceComponent: player
|
||||||
property Component player: Clickable {
|
property Component player: StyledButton {
|
||||||
id: clickable
|
id: button
|
||||||
|
|
||||||
implicitWidth: text.width
|
|
||||||
implicitHeight: Dimensions.mpris.height
|
|
||||||
|
|
||||||
onClicked: {
|
onClicked: {
|
||||||
if (!modelData.canTogglePlaying) {
|
if (!root.modelData.canTogglePlaying) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (modelData.isPlaying) {
|
if (root.modelData.isPlaying) {
|
||||||
modelData.pause();
|
root.modelData.pause();
|
||||||
} else {
|
} else {
|
||||||
modelData.play();
|
root.modelData.play();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
onWheel: event => {
|
onWheel: event => {
|
||||||
if (event.angleDelta.y > 0) {
|
if (event.angleDelta.y > 0) {
|
||||||
parent.nextPlayer();
|
root.nextPlayer();
|
||||||
} else if (event.angleDelta.y < 0) {
|
} else if (event.angleDelta.y < 0) {
|
||||||
parent.previousPlayer();
|
root.previousPlayer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
StyledText {
|
content: StyledText {
|
||||||
id: text
|
id: text
|
||||||
text: `${modelData.isPlaying ? "" : ""} ${modelData.trackTitle} - ${modelData.trackArtist}`
|
text: `${root.modelData.isPlaying ? "" : ""} ${root.modelData.trackTitle} - ${root.modelData.trackArtist}`
|
||||||
|
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
|
||||||
topPadding: Dimensions.mpris.verticalPadding
|
|
||||||
bottomPadding: Dimensions.mpris.verticalPadding
|
|
||||||
leftPadding: Dimensions.mpris.horizontalPadding
|
|
||||||
rightPadding: Dimensions.mpris.horizontalPadding
|
|
||||||
|
|
||||||
font.pixelSize: Dimensions.mpris.fontSize
|
font.pixelSize: Dimensions.mpris.fontSize
|
||||||
|
|
||||||
states: State {
|
states: State {
|
||||||
name: "hovered"
|
name: "hovered"
|
||||||
when: clickable.containsMouse
|
when: button.containsMouse
|
||||||
PropertyChanges {
|
PropertyChanges {
|
||||||
text {
|
text {
|
||||||
color: Theme.palette.base300
|
color: Theme.palette.base300
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue