continue refactor for favorites page
This commit is contained in:
@@ -16,6 +16,7 @@ import (
|
|||||||
type FavoritesPage struct {
|
type FavoritesPage struct {
|
||||||
widget.BaseWidget
|
widget.BaseWidget
|
||||||
|
|
||||||
|
pm *backend.PlaybackManager
|
||||||
im *backend.ImageManager
|
im *backend.ImageManager
|
||||||
sm *backend.ServerManager
|
sm *backend.ServerManager
|
||||||
lm *backend.LibraryManager
|
lm *backend.LibraryManager
|
||||||
@@ -26,12 +27,11 @@ type FavoritesPage struct {
|
|||||||
searchText string
|
searchText string
|
||||||
titleDisp *widget.RichText
|
titleDisp *widget.RichText
|
||||||
container *fyne.Container
|
container *fyne.Container
|
||||||
|
|
||||||
OnPlayAlbum func(string, int)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewFavoritesPage(sm *backend.ServerManager, lm *backend.LibraryManager, im *backend.ImageManager, nav func(Route)) *FavoritesPage {
|
func NewFavoritesPage(sm *backend.ServerManager, pm *backend.PlaybackManager, lm *backend.LibraryManager, im *backend.ImageManager, nav func(Route)) *FavoritesPage {
|
||||||
a := &FavoritesPage{
|
a := &FavoritesPage{
|
||||||
|
pm: pm,
|
||||||
lm: lm,
|
lm: lm,
|
||||||
sm: sm,
|
sm: sm,
|
||||||
im: im,
|
im: im,
|
||||||
@@ -66,6 +66,7 @@ func (a *FavoritesPage) createContainer() {
|
|||||||
|
|
||||||
func restoreFavoritesPage(saved *savedFavoritesPage) *FavoritesPage {
|
func restoreFavoritesPage(saved *savedFavoritesPage) *FavoritesPage {
|
||||||
a := &FavoritesPage{
|
a := &FavoritesPage{
|
||||||
|
pm: saved.pm,
|
||||||
lm: saved.lm,
|
lm: saved.lm,
|
||||||
sm: saved.sm,
|
sm: saved.sm,
|
||||||
im: saved.im,
|
im: saved.im,
|
||||||
@@ -88,16 +89,13 @@ func (a *FavoritesPage) Route() Route {
|
|||||||
return FavoritesRoute()
|
return FavoritesRoute()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *FavoritesPage) SetPlayAlbumCallback(cb func(string, int)) {
|
|
||||||
a.OnPlayAlbum = cb
|
|
||||||
}
|
|
||||||
|
|
||||||
func (a *FavoritesPage) Reload() {
|
func (a *FavoritesPage) Reload() {
|
||||||
a.grid.Reset(a.lm.StarredIter())
|
a.grid.Reset(a.lm.StarredIter())
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *FavoritesPage) Save() SavedPage {
|
func (a *FavoritesPage) Save() SavedPage {
|
||||||
return &savedFavoritesPage{
|
return &savedFavoritesPage{
|
||||||
|
pm: a.pm,
|
||||||
sm: a.sm,
|
sm: a.sm,
|
||||||
im: a.im,
|
im: a.im,
|
||||||
lm: a.lm,
|
lm: a.lm,
|
||||||
@@ -142,9 +140,7 @@ func (a *FavoritesPage) doSearch(query string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (a *FavoritesPage) onPlayAlbum(albumID string) {
|
func (a *FavoritesPage) onPlayAlbum(albumID string) {
|
||||||
if a.OnPlayAlbum != nil {
|
a.pm.PlayAlbum(albumID, 0)
|
||||||
a.OnPlayAlbum(albumID, 0)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *FavoritesPage) onShowAlbumPage(albumID string) {
|
func (a *FavoritesPage) onShowAlbumPage(albumID string) {
|
||||||
@@ -161,6 +157,7 @@ func (a *FavoritesPage) CreateRenderer() fyne.WidgetRenderer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type savedFavoritesPage struct {
|
type savedFavoritesPage struct {
|
||||||
|
pm *backend.PlaybackManager
|
||||||
sm *backend.ServerManager
|
sm *backend.ServerManager
|
||||||
im *backend.ImageManager
|
im *backend.ImageManager
|
||||||
lm *backend.LibraryManager
|
lm *backend.LibraryManager
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ func (r Router) CreatePage(rte Route) Page {
|
|||||||
case Artists:
|
case Artists:
|
||||||
return NewArtistsGenresPage(false, r.App.ServerManager, r.OpenRoute)
|
return NewArtistsGenresPage(false, r.App.ServerManager, r.OpenRoute)
|
||||||
case Favorites:
|
case Favorites:
|
||||||
return NewFavoritesPage(r.App.ServerManager, r.App.LibraryManager, r.App.ImageManager, r.OpenRoute)
|
return NewFavoritesPage(r.App.ServerManager, r.App.PlaybackManager, r.App.LibraryManager, r.App.ImageManager, r.OpenRoute)
|
||||||
case Genre:
|
case Genre:
|
||||||
return NewGenrePage(rte.Arg, r.App.LibraryManager, r.App.ImageManager, r.OpenRoute)
|
return NewGenrePage(rte.Arg, r.App.LibraryManager, r.App.ImageManager, r.OpenRoute)
|
||||||
case Genres:
|
case Genres:
|
||||||
|
|||||||
Reference in New Issue
Block a user