refactor: add controller.ConnectTracklistActions

This commit is contained in:
Drew Weymouth
2023-02-21 18:10:10 -08:00
parent fd07c18fa9
commit 3de51ad48a
4 changed files with 24 additions and 39 deletions
+2 -12
View File
@@ -226,23 +226,13 @@ func (a *FavoritesPage) onShowFavoriteSongs() {
go func() {
s, err := a.sm.Server.GetStarred2(nil)
if err != nil {
log.Println("error getting starred items: %s", err.Error())
log.Printf("error getting starred items: %s", err.Error())
return
}
tracklist := widgets.NewTracklist(s.Song)
// TODO: get visible columns from config
tracklist.SetVisibleColumns([]string{"Artist", "Album", "Plays"})
// connect tracklist actions
tracklist.OnPlayTrackAt = func(idx int) {
a.pm.LoadTracks(tracklist.Tracks, false, false)
a.pm.PlayTrackAt(idx)
}
tracklist.OnAddToQueue = func(tracks []*subsonic.Child) { a.pm.LoadTracks(tracks, true, false) }
tracklist.OnPlaySelection = func(tracks []*subsonic.Child) {
a.pm.LoadTracks(tracks, false, false)
a.pm.PlayFromBeginning()
}
tracklist.OnAddToPlaylist = a.contr.DoAddTracksToPlaylistWorkflow
a.contr.ConnectTracklistActions(tracklist)
a.tracklistCtr = container.New(
&layouts.MaxPadLayout{PadLeft: 15, PadRight: 15, PadTop: 5, PadBottom: 15},
tracklist)