From bb38592d4f8571677e70eef4ea7c10ffd5acef5a Mon Sep 17 00:00:00 2001 From: Drew Weymouth Date: Wed, 1 Mar 2023 15:35:02 -0800 Subject: [PATCH] favorites page: don't show albums view first if opening page on artists or songs view --- ui/browsing/favoritespage.go | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/ui/browsing/favoritespage.go b/ui/browsing/favoritespage.go index e8bfb39..212dd72 100644 --- a/ui/browsing/favoritespage.go +++ b/ui/browsing/favoritespage.go @@ -54,13 +54,14 @@ func NewFavoritesPage(cfg *backend.FavoritesPageConfig, contr controller.Control a.createHeader(0, "") a.grid = widgets.NewAlbumGrid(a.lm.StarredIter(), a.im, false) a.connectGridActions() - a.createContainer(false) if cfg.InitialView == "Artists" { a.toggleBtns.SetActivatedButton(1) a.onShowFavoriteArtists() } else if cfg.InitialView == "Songs" { a.toggleBtns.SetActivatedButton(2) a.onShowFavoriteSongs() + } else { // Albums view + a.createContainer(a.grid) } return a } @@ -85,15 +86,11 @@ func (a *FavoritesPage) connectGridActions() { a.grid.OnShowArtistPage = a.onShowArtistPage } -func (a *FavoritesPage) createContainer(searchGrid bool) { +func (a *FavoritesPage) createContainer(initialView fyne.CanvasObject) { searchVbox := container.NewVBox(layout.NewSpacer(), a.searcher.Entry, layout.NewSpacer()) - gr := a.grid - if searchGrid { - gr = a.searchGrid - } a.container = container.NewBorder( container.NewHBox(widgets.NewHSpace(9), a.titleDisp, container.NewCenter(a.toggleBtns), layout.NewSpacer(), searchVbox, widgets.NewHSpace(15)), - nil, nil, nil, gr) + nil, nil, nil, initialView) } func restoreFavoritesPage(saved *savedFavoritesPage) *FavoritesPage { @@ -113,11 +110,15 @@ func restoreFavoritesPage(saved *savedFavoritesPage) *FavoritesPage { if saved.searchText != "" { a.searchGrid = widgets.NewAlbumGridFromState(saved.searchGridState) } - a.createContainer(saved.searchText != "") + if saved.activeToggleBtn == 1 { a.onShowFavoriteArtists() } else if saved.activeToggleBtn == 2 { a.onShowFavoriteSongs() + } else if saved.searchText != "" { + a.createContainer(a.searchGrid) + } else { + a.createContainer(a.grid) } return a @@ -252,6 +253,9 @@ func (a *FavoritesPage) onShowFavoriteArtists() { return } a.pendingViewSwitch = true + if a.container == nil { + a.createContainer(layout.NewSpacer()) + } go func() { s, err := a.sm.Server.GetStarred2(nil) if err != nil { @@ -297,6 +301,9 @@ func (a *FavoritesPage) onShowFavoriteSongs() { return } a.pendingViewSwitch = true + if a.container == nil { + a.createContainer(layout.NewSpacer()) + } go func() { s, err := a.sm.Server.GetStarred2(nil) if err != nil {