Fix #316: Add setting to show notification on track change
This commit is contained in:
@@ -161,6 +161,8 @@ func (s *SettingsDialog) createGeneralTab() *container.TabItem {
|
||||
|
||||
saveQueue := widget.NewCheckWithData("Save play queue on exit",
|
||||
binding.BindBool(&s.config.Application.SavePlayQueue))
|
||||
trackNotif := widget.NewCheckWithData("Show notification on track change",
|
||||
binding.BindBool(&s.config.Application.ShowTrackChangeNotification))
|
||||
|
||||
// Scrobble settings
|
||||
|
||||
@@ -251,6 +253,7 @@ func (s *SettingsDialog) createGeneralTab() *container.TabItem {
|
||||
),
|
||||
container.NewHBox(systemTrayEnable, closeToTray),
|
||||
container.NewHBox(saveQueue),
|
||||
container.NewHBox(trackNotif),
|
||||
s.newSectionSeparator(),
|
||||
|
||||
widget.NewRichText(&widget.TextSegment{Text: "Scrobbling", Style: util.BoldRichTextStyle}),
|
||||
|
||||
+11
-3
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user