fix mpris text

This commit is contained in:
lucy 2026-02-12 19:21:28 +01:00
parent fcaf744efc
commit e74c3ce04b

View File

@ -6,51 +6,42 @@ import qs.settings
import qs.reusables import qs.reusables
Rectangle { Rectangle {
id: container id: root
visible: root.spotify != null visible: root.spotify != null
radius: implicitHeight / 2 radius: implicitHeight / 2
color: clickHandler.containsMouse ? Colors.primaryContainer : Colors.surfaceContainer
implicitHeight: Settings.config.barHeight - 10 implicitHeight: Settings.config.barHeight - 10
implicitWidth: 400 color: clickHandler.containsMouse ? Colors.primary : Colors.surfaceContainer
Item { implicitWidth: statusRow.width + 20
id: root
width: Math.min(statusRow.implicitWidth, parent.width - 20)
anchors.centerIn: parent
property var spotify: root.getSpotify() property var spotify: root.getSpotify()
function getSpotify() { function getSpotify() {
for (let i = 0; i < Mpris.players.values.length; i++) { for (let i = 0; i < Mpris.players.values.length; i++) {
if (Mpris.players.values[i].identity.toLowerCase() === "spotify") { if (Mpris.players.values[i].identity.toLowerCase() === "spotify") {
return Mpris.players.values[i]; return Mpris.players.values[i];
}
} }
return null;
} }
implicitWidth: statusRow.implicitWidth return null;
implicitHeight: statusRow.implicitHeight }
RowLayout { RowLayout {
id: statusRow id: statusRow
anchors.fill: parent spacing: 5
spacing: 5 anchors.centerIn: parent
anchors.verticalCenter: parent.verticalCenter property var combinedText: root.spotify != null ? root.spotify.trackArtist + " - " + root.spotify.trackTitle : ""
property var combinedText: root.spotify != null ? root.spotify.trackArtist + " - " + root.spotify.trackTitle : "" property var status: root.spotify != null ? !root.spotify.isPlaying ? "play_arrow" : "pause" : ""
property var status: root.spotify != null ? !root.spotify.isPlaying ? "play_arrow" : "pause" : "" CustomText {
CustomText { id: mprisText
id: mprisText Layout.maximumWidth: 300
Layout.leftMargin: 10 Layout.topMargin: 2
Layout.fillWidth: true text: root.spotify != null ? parent.combinedText : ""
Layout.topMargin: 2 elide: Text.ElideRight
text: root.spotify != null ? parent.combinedText : "" color: clickHandler.containsMouse ? Colors.onPrimaryColor : Colors.onSurfaceColor
elide: Text.ElideRight }
clip: true CustomIcon {
wrapMode: Text.NoWrap id: mprisStatus
} color: clickHandler.containsMouse ? Colors.onPrimaryColor : Colors.onSurfaceColor
CustomIcon { Layout.topMargin: 2
id: mprisStatus text: root.spotify != null ? parent.status : ""
Layout.topMargin: 2
text: root.spotify != null ? parent.status : ""
}
} }
} }
MouseArea { MouseArea {