more refactoring - compiles now but not extensively tested

This commit is contained in:
Drew Weymouth
2023-05-14 20:50:06 -07:00
parent 85042fcbd4
commit fd106560d0
20 changed files with 216 additions and 249 deletions
+9 -14
View File
@@ -26,9 +26,8 @@ type FavoritesPage struct {
pm *backend.PlaybackManager
im *backend.ImageManager
sm *backend.ServerManager
lm *backend.LibraryManager
filter backend.AlbumFilter
filter mediaprovider.AlbumFilter
searchText string
nowPlayingID string
pendingViewSwitch bool
@@ -44,19 +43,18 @@ type FavoritesPage struct {
container *fyne.Container
}
func NewFavoritesPage(cfg *backend.FavoritesPageConfig, contr *controller.Controller, sm *backend.ServerManager, pm *backend.PlaybackManager, lm *backend.LibraryManager, im *backend.ImageManager) *FavoritesPage {
func NewFavoritesPage(cfg *backend.FavoritesPageConfig, contr *controller.Controller, sm *backend.ServerManager, pm *backend.PlaybackManager, im *backend.ImageManager) *FavoritesPage {
a := &FavoritesPage{
filter: backend.AlbumFilter{ExcludeUnfavorited: true},
filter: mediaprovider.AlbumFilter{ExcludeUnfavorited: true},
cfg: cfg,
contr: contr,
pm: pm,
lm: lm,
sm: sm,
im: im,
}
a.ExtendBaseWidget(a)
a.createHeader(0)
iter := lm.StarredIter(a.filter)
iter := sm.Server.IterateAlbums("", "", a.filter)
a.grid = widgets.NewGridView(widgets.NewGridViewAlbumIterator(iter), a.im)
a.contr.ConnectAlbumGridActions(a.grid)
if cfg.InitialView == "Artists" {
@@ -100,7 +98,6 @@ func restoreFavoritesPage(saved *savedFavoritesPage) *FavoritesPage {
cfg: saved.cfg,
contr: saved.contr,
pm: saved.pm,
lm: saved.lm,
sm: saved.sm,
im: saved.im,
searchText: saved.searchText,
@@ -142,13 +139,13 @@ func (a *FavoritesPage) Reload() {
if a.searchText != "" {
a.doSearchAlbums(a.searchText)
} else {
iter := a.lm.StarredIter(a.filter)
iter := a.sm.Server.IterateAlbums("", "", a.filter)
a.grid.Reset(widgets.NewGridViewAlbumIterator(iter))
}
if a.tracklistCtr != nil || a.artistListCtr != nil {
go func() {
// re-fetch starred info from server
starred, err := a.sm.Server.GetStarred2(nil)
starred, err := a.sm.Server.GetFavorites()
if err != nil {
log.Printf("error getting starred items: %s", err.Error())
return
@@ -156,7 +153,7 @@ func (a *FavoritesPage) Reload() {
if a.tracklistCtr != nil {
// refresh favorite songs view
tr := a.tracklistCtr.Objects[0].(*widgets.Tracklist)
tr.Tracks = starred.Song
tr.Tracks = starred.Tracks
if a.toggleBtns.ActivatedButtonIndex() == 2 {
// favorite songs view is visible
tr.Refresh()
@@ -165,7 +162,7 @@ func (a *FavoritesPage) Reload() {
if a.artistListCtr != nil {
// refresh favorite artists view
al := a.artistListCtr.Objects[0].(*widgets.ArtistGenreList)
al.Items = buildArtistListModel(starred.Artist)
al.Items = buildArtistListModel(starred.Artists)
if a.toggleBtns.ActivatedButtonIndex() == 1 {
// favorite artists view is visible
al.Refresh()
@@ -182,7 +179,6 @@ func (a *FavoritesPage) Save() SavedPage {
pm: a.pm,
sm: a.sm,
im: a.im,
lm: a.lm,
filter: a.filter,
searchText: a.searchText,
gridState: a.grid.SaveToState(),
@@ -234,7 +230,7 @@ func (a *FavoritesPage) SelectAll() {
}
func (a *FavoritesPage) doSearchAlbums(query string) {
iter := a.lm.SearchIterWithFilter(query, a.filter)
iter := a.sm.Server.IterateAlbums("", query, a.filter)
if a.searchGrid == nil {
a.searchGrid = widgets.NewGridView(widgets.NewGridViewAlbumIterator(iter), a.im)
a.contr.ConnectAlbumGridActions(a.searchGrid)
@@ -356,7 +352,6 @@ type savedFavoritesPage struct {
pm *backend.PlaybackManager
sm *backend.ServerManager
im *backend.ImageManager
lm *backend.LibraryManager
gridState widgets.GridViewState
searchGridState widgets.GridViewState
filter mediaprovider.AlbumFilter