reuse album grid on sort order changed
This commit is contained in:
@@ -62,6 +62,19 @@ func NewAlbumGrid(iter backend.AlbumIterator, fetch ImageFetcher) *AlbumGrid {
|
|||||||
return ag
|
return ag
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (ag *AlbumGrid) Clear() {
|
||||||
|
ag.albums = nil
|
||||||
|
ag.done = true
|
||||||
|
}
|
||||||
|
|
||||||
|
func (ag *AlbumGrid) Reset(iter backend.AlbumIterator) {
|
||||||
|
ag.albums = nil
|
||||||
|
ag.fetching = false
|
||||||
|
ag.done = false
|
||||||
|
ag.iter = iter
|
||||||
|
ag.fetchMoreAlbums(36)
|
||||||
|
}
|
||||||
|
|
||||||
func (ag *AlbumGrid) doUpdateAlbumCard(albumIdx int, ac *widgets.AlbumCard) {
|
func (ag *AlbumGrid) doUpdateAlbumCard(albumIdx int, ac *widgets.AlbumCard) {
|
||||||
album := ag.albums[albumIdx]
|
album := ag.albums[albumIdx]
|
||||||
if ac.PrevAlbumID == album.ID {
|
if ac.PrevAlbumID == album.ID {
|
||||||
|
|||||||
+10
-5
@@ -79,12 +79,18 @@ func (a *AlbumsPage) OnSearched(query string) {
|
|||||||
a.searchText = query
|
a.searchText = query
|
||||||
if query == "" {
|
if query == "" {
|
||||||
a.container.Objects[0] = a.grid
|
a.container.Objects[0] = a.grid
|
||||||
a.searchGrid = nil
|
if a.searchGrid != nil {
|
||||||
|
a.searchGrid.Clear()
|
||||||
|
}
|
||||||
a.Refresh()
|
a.Refresh()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
a.searchGrid = NewAlbumGrid(a.lm.SearchIter(query), a.im.GetAlbumThumbnail)
|
if a.searchGrid == nil {
|
||||||
a.searchGrid.OnPlayAlbum = a.onPlayAlbum
|
a.searchGrid = NewAlbumGrid(a.lm.SearchIter(query), a.im.GetAlbumThumbnail)
|
||||||
|
a.searchGrid.OnPlayAlbum = a.onPlayAlbum
|
||||||
|
} else {
|
||||||
|
a.searchGrid.Reset(a.lm.SearchIter(query))
|
||||||
|
}
|
||||||
a.container.Objects[0] = a.searchGrid
|
a.container.Objects[0] = a.searchGrid
|
||||||
a.Refresh()
|
a.Refresh()
|
||||||
}
|
}
|
||||||
@@ -96,8 +102,7 @@ func (a *AlbumsPage) onPlayAlbum(albumID string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (a *AlbumsPage) onSortOrderChanged(order string) {
|
func (a *AlbumsPage) onSortOrderChanged(order string) {
|
||||||
a.grid = NewAlbumGrid(a.lm.AlbumsIter(backend.AlbumSortOrder(order)), a.im.GetAlbumThumbnail)
|
a.grid.Reset(a.lm.AlbumsIter(backend.AlbumSortOrder(order)))
|
||||||
a.grid.OnPlayAlbum = a.onPlayAlbum
|
|
||||||
if a.searchText == "" {
|
if a.searchText == "" {
|
||||||
a.container.Objects[0] = a.grid
|
a.container.Objects[0] = a.grid
|
||||||
a.Refresh()
|
a.Refresh()
|
||||||
|
|||||||
Reference in New Issue
Block a user