add album page showing track listing

This commit is contained in:
Drew Weymouth
2023-01-02 18:05:13 -08:00
parent e309a5ad7f
commit 632df5c1b2
10 changed files with 140 additions and 36 deletions
+8 -3
View File
@@ -25,7 +25,7 @@ type AlbumsPage struct {
titleDisp *widget.RichText
sortOrder *selectWidget
container *fyne.Container
OnPlayAlbum func(string)
OnPlayAlbum func(string, int)
}
type selectWidget struct {
@@ -69,6 +69,7 @@ func NewAlbumsPage(title string, sortOrder string, lm *backend.LibraryManager, i
a.grid = NewAlbumGrid(iter, im.GetAlbumThumbnail, false /*showYear*/)
a.grid.OnPlayAlbum = a.onPlayAlbum
a.grid.OnShowArtistPage = a.onShowArtistPage
a.grid.OnShowAlbumPage = a.onShowAlbumPage
a.container = container.NewBorder(
container.NewHBox(widgets.NewHSpace(15), a.titleDisp, sortVbox),
nil,
@@ -100,13 +101,13 @@ func (a *AlbumsPage) OnSearched(query string) {
a.Refresh()
}
func (a *AlbumsPage) SetPlayAlbumCallback(cb func(string)) {
func (a *AlbumsPage) SetPlayAlbumCallback(cb func(string, int)) {
a.OnPlayAlbum = cb
}
func (a *AlbumsPage) onPlayAlbum(albumID string) {
if a.OnPlayAlbum != nil {
a.OnPlayAlbum(albumID)
a.OnPlayAlbum(albumID, 0)
}
}
@@ -114,6 +115,10 @@ func (a *AlbumsPage) onShowArtistPage(artistID string) {
a.nav(ArtistRoute(artistID))
}
func (a *AlbumsPage) onShowAlbumPage(albumID string) {
a.nav(AlbumRoute(albumID))
}
func (a *AlbumsPage) onSortOrderChanged(order string) {
a.grid.Reset(a.lm.AlbumsIter(backend.AlbumSortOrder(order)))
if a.searchText == "" {