dashboard: better no media

Closes #323
This commit is contained in:
2 * r + 2 * t 2025-08-02 17:00:07 +10:00
parent a89a401087
commit c2b2627b88

View file

@ -157,27 +157,45 @@ Item {
spacing: Appearance.spacing.small spacing: Appearance.spacing.small
ElideText { StyledText {
id: title id: title
label: (Players.active?.trackTitle ?? qsTr("No media")) || qsTr("Unknown title") Layout.fillWidth: true
color: Colours.palette.m3primary Layout.maximumWidth: parent.implicitWidth
animate: true
horizontalAlignment: Text.AlignHCenter
text: (Players.active?.trackTitle ?? qsTr("No media")) || qsTr("Unknown title")
color: Players.active ? Colours.palette.m3primary : Colours.palette.m3onSurface
font.pointSize: Appearance.font.size.normal font.pointSize: Appearance.font.size.normal
} }
ElideText { StyledText {
id: album id: album
label: (Players.active?.trackAlbum ?? qsTr("No media")) || qsTr("Unknown album") Layout.fillWidth: true
Layout.maximumWidth: parent.implicitWidth
animate: true
horizontalAlignment: Text.AlignHCenter
visible: !!Players.active
text: Players.active?.trackAlbum || qsTr("Unknown album")
color: Colours.palette.m3outline color: Colours.palette.m3outline
font.pointSize: Appearance.font.size.small font.pointSize: Appearance.font.size.small
} }
ElideText { StyledText {
id: artist id: artist
label: (Players.active?.trackArtist ?? qsTr("No media")) || qsTr("Unknown artist") Layout.fillWidth: true
color: Colours.palette.m3secondary Layout.maximumWidth: parent.implicitWidth
animate: true
horizontalAlignment: Text.AlignHCenter
text: (Players.active?.trackArtist ?? qsTr("Play some music for stuff to show up here!")) || qsTr("Unknown artist")
color: Players.active ? Colours.palette.m3secondary : Colours.palette.m3outline
elide: Text.ElideRight
wrapMode: Players.active ? Text.NoWrap : Text.WordWrap
} }
RowLayout { RowLayout {
@ -572,27 +590,6 @@ Item {
} }
} }
component ElideText: StyledText {
id: elideText
property alias label: metrics.text
Layout.fillWidth: true
animate: true
horizontalAlignment: Text.AlignHCenter
text: metrics.elidedText
TextMetrics {
id: metrics
font.family: elideText.font.family
font.pointSize: elideText.font.pointSize
elide: Text.ElideRight
elideWidth: elideText.width
}
}
component PlayerControl: StyledRect { component PlayerControl: StyledRect {
id: control id: control