MediaMini: Support showing artist first

This commit is contained in:
Adam Laughlin
2025-11-15 09:57:06 -05:00
parent c09bf13c58
commit 36e0ef91bc
4 changed files with 20 additions and 1 deletions
+4
View File
@@ -202,6 +202,10 @@
"description": "Display the album artwork for the currently playing track.",
"label": "Show album art"
},
"show-artist-first": {
"description": "Display artist - title instead of title - artist",
"label": "Show artist first"
}
"show-visualizer": {
"description": "Display an audio visualizer when music is playing.",
"label": "Show visualizer"
+6 -1
View File
@@ -37,6 +37,7 @@ Item {
// Backward compatibility: honor legacy hideWhenIdle setting if present
readonly property bool hideWhenIdle: (widgetSettings.hideWhenIdle !== undefined) ? widgetSettings.hideWhenIdle : (widgetMetadata.hideWhenIdle !== undefined ? widgetMetadata.hideWhenIdle : false)
readonly property bool showAlbumArt: (widgetSettings.showAlbumArt !== undefined) ? widgetSettings.showAlbumArt : widgetMetadata.showAlbumArt
readonly property bool showArtistFirst: (widgetSettings.showArtistFirst !== undefined) ? widgetSettings.showArtistFirst : widgetMetadata.showArtistFirst
readonly property bool showVisualizer: (widgetSettings.showVisualizer !== undefined) ? widgetSettings.showVisualizer : widgetMetadata.showVisualizer
readonly property string visualizerType: (widgetSettings.visualizerType !== undefined && widgetSettings.visualizerType !== "") ? widgetSettings.visualizerType : widgetMetadata.visualizerType
readonly property string scrollingMode: (widgetSettings.scrollingMode !== undefined) ? widgetSettings.scrollingMode : widgetMetadata.scrollingMode
@@ -94,7 +95,11 @@ Item {
}
function getTitle() {
return MediaService.trackTitle + (MediaService.trackArtist !== "" ? ` - ${MediaService.trackArtist}` : "")
if (showArtistFirst) {
return (MediaService.trackArtist !== "" ? `${MediaService.trackArtist} - ` : "") + MediaService.trackTitle
} else {
return MediaService.trackTitle + (MediaService.trackArtist !== "" ? ` - ${MediaService.trackArtist}` : "")
}
}
function calculatedVerticalDimension() {
@@ -17,6 +17,7 @@ ColumnLayout {
// Deprecated: hideWhenIdle now folded into hideMode = "idle"
property bool valueHideWhenIdle: widgetData.hideWhenIdle !== undefined ? widgetData.hideWhenIdle : (widgetMetadata.hideWhenIdle !== undefined ? widgetMetadata.hideWhenIdle : false)
property bool valueShowAlbumArt: widgetData.showAlbumArt !== undefined ? widgetData.showAlbumArt : widgetMetadata.showAlbumArt
property bool valueShowArtistFirst: widgetData.showArtistFirst !== undefined ? widgetData.showArtistFirst : widgetMetadata.showArtistFirst
property bool valueShowVisualizer: widgetData.showVisualizer !== undefined ? widgetData.showVisualizer : widgetMetadata.showVisualizer
property string valueVisualizerType: widgetData.visualizerType || widgetMetadata.visualizerType
property string valueScrollingMode: widgetData.scrollingMode || widgetMetadata.scrollingMode
@@ -34,6 +35,7 @@ ColumnLayout {
settings.hideMode = valueHideMode
// No longer store hideWhenIdle separately; kept for backward compatibility only
settings.showAlbumArt = valueShowAlbumArt
settings.showArtistFirst = valueShowArtistFirst
settings.showVisualizer = valueShowVisualizer
settings.visualizerType = valueVisualizerType
settings.scrollingMode = valueScrollingMode
@@ -70,6 +72,13 @@ ColumnLayout {
onToggled: checked => valueShowAlbumArt = checked
}
NToggle {
label: I18n.tr("bar.widget-settings.media-mini.show-artist-first.label")
description: I18n.tr("bar.widget-settings.media-mini.show-artist-first.description")
checked: valueShowArtistFirst
onToggled: checked => valueShowArtistFirst = checked
}
NToggle {
label: I18n.tr("bar.widget-settings.media-mini.show-visualizer.label")
description: I18n.tr("bar.widget-settings.media-mini.show-visualizer.description")
+1
View File
@@ -147,6 +147,7 @@ Singleton {
"useFixedWidth": false,
"hideWhenIdle": false,
"showAlbumArt": false,
"showArtistFirst": false,
"showVisualizer": false,
"visualizerType": "linear"
},