add saving of tracklist sort in browsing history - but need to handle it Tracklist widget still

This commit is contained in:
Drew Weymouth
2023-05-23 11:10:43 -07:00
parent 137e0334e0
commit 84e1f01a68
5 changed files with 74 additions and 21 deletions
+16 -1
View File
@@ -34,6 +34,7 @@ type AlbumPage struct {
type albumPageState struct {
albumID string
sort widgets.TracklistSort
cfg *backend.AlbumPageConfig
mp mediaprovider.MediaProvider
pm *backend.PlaybackManager
@@ -48,6 +49,18 @@ func NewAlbumPage(
mp mediaprovider.MediaProvider,
im *backend.ImageManager,
contr *controller.Controller,
) *AlbumPage {
return newAlbumPage(albumID, cfg, pm, mp, im, contr, widgets.TracklistSort{})
}
func newAlbumPage(
albumID string,
cfg *backend.AlbumPageConfig,
pm *backend.PlaybackManager,
mp mediaprovider.MediaProvider,
im *backend.ImageManager,
contr *controller.Controller,
sort widgets.TracklistSort,
) *AlbumPage {
a := &AlbumPage{
albumPageState: albumPageState{
@@ -63,6 +76,7 @@ func NewAlbumPage(
a.header = NewAlbumPageHeader(a)
a.tracklist = widgets.NewTracklist(nil)
a.tracklist.SetVisibleColumns(a.cfg.TracklistColumns)
a.tracklist.SetSorting(sort)
a.tracklist.OnVisibleColumnsChanged = func(cols []string) {
a.cfg.TracklistColumns = cols
}
@@ -82,6 +96,7 @@ func (a *AlbumPage) CreateRenderer() fyne.WidgetRenderer {
func (a *AlbumPage) Save() SavedPage {
s := a.albumPageState
s.sort = a.tracklist.Sorting()
return &s
}
@@ -262,5 +277,5 @@ func formatMiscLabelStr(a *mediaprovider.AlbumWithTracks) string {
}
func (s *albumPageState) Restore() Page {
return NewAlbumPage(s.albumID, s.cfg, s.pm, s.mp, s.im, s.contr)
return newAlbumPage(s.albumID, s.cfg, s.pm, s.mp, s.im, s.contr, s.sort)
}