Fix #316: Add setting to show notification on track change

This commit is contained in:
Drew Weymouth
2024-01-20 14:42:22 -08:00
parent edc3ef7bfa
commit 91aa92706d
3 changed files with 40 additions and 27 deletions
+11 -3
View File
@@ -85,12 +85,20 @@ func NewMainWindow(fyneApp fyne.App, appName, displayAppName, appVersion string,
m.container = container.NewBorder(nil, m.BottomPanel, nil, nil, m.BrowsingPane)
m.Window.SetContent(m.container)
m.Window.Resize(size)
app.PlaybackManager.OnSongChange(func(song, _ *mediaprovider.Track) {
if song == nil {
app.PlaybackManager.OnSongChange(func(track, _ *mediaprovider.Track) {
if track == nil {
m.Window.SetTitle(displayAppName)
return
}
m.Window.SetTitle(fmt.Sprintf("%s %s · %s", song.Name, strings.Join(song.ArtistNames, ", "), displayAppName))
artistDisp := strings.Join(track.ArtistNames, ", ")
m.Window.SetTitle(fmt.Sprintf("%s %s · %s", track.Name, artistDisp, displayAppName))
if m.App.Config.Application.ShowTrackChangeNotification {
// TODO: Once Fyne issue #2935 is resolved, show album cover
fyne.CurrentApp().SendNotification(&fyne.Notification{
Title: track.Name,
Content: artistDisp,
})
}
})
app.ServerManager.OnServerConnected(func() {
m.RunOnServerConnectedTasks(app, displayAppName)