From ecfba0a463cde77b2ba308d3bb6de9a996982e3b Mon Sep 17 00:00:00 2001 From: Drew Weymouth Date: Mon, 13 Nov 2023 18:11:42 -0800 Subject: [PATCH] another place to disable ratings --- ui/browsing/trackspage.go | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/ui/browsing/trackspage.go b/ui/browsing/trackspage.go index 1de70c2..641b895 100644 --- a/ui/browsing/trackspage.go +++ b/ui/browsing/trackspage.go @@ -39,22 +39,18 @@ type tracksPageState struct { contr *controller.Controller conf *backend.TracksPageConfig mp mediaprovider.MediaProvider + canRate bool } func NewTracksPage(contr *controller.Controller, conf *backend.TracksPageConfig, pool *util.WidgetPool, mp mediaprovider.MediaProvider) *TracksPage { t := &TracksPage{tracksPageState: tracksPageState{contr: contr, conf: conf, widgetPool: pool, mp: mp}} t.ExtendBaseWidget(t) - if tl := t.widgetPool.Obtain(util.WidgetTypeTracklist); tl != nil { - t.tracklist = tl.(*widgets.Tracklist) - t.tracklist.Reset() - } else { - t.tracklist = widgets.NewTracklist(nil) - } - _, canRate := mp.(mediaprovider.SupportsRating) + t.tracklist = t.obtainTracklist() + _, t.canRate = mp.(mediaprovider.SupportsRating) t.tracklist.Options = widgets.TracklistOptions{ DisableSorting: true, - DisableRating: !canRate, + DisableRating: !t.canRate, AutoNumber: true, } t.tracklist.SetVisibleColumns(conf.TracklistColumns) @@ -130,8 +126,12 @@ func (t *TracksPage) OnSearched(query string) { func (t *TracksPage) doSearch(query string) { if t.searchTracklist == nil { - t.searchTracklist = widgets.NewTracklist(nil) - t.searchTracklist.Options = widgets.TracklistOptions{AutoNumber: true} + t.searchTracklist = t.obtainTracklist() + t.searchTracklist.Options = widgets.TracklistOptions{ + AutoNumber: true, + DisableSorting: true, + DisableRating: !t.canRate, + } t.searchTracklist.SetVisibleColumns(t.conf.TracklistColumns) t.searchTracklist.SetNowPlaying(t.nowPlayingID) t.searchTracklist.OnVisibleColumnsChanged = func(cols []string) { @@ -178,3 +178,12 @@ func (s *tracksPageState) Restore() Page { func (t *TracksPage) playRandomSongs() { t.contr.App.PlaybackManager.PlayRandomSongs("") } + +func (t *TracksPage) obtainTracklist() *widgets.Tracklist { + if tl := t.widgetPool.Obtain(util.WidgetTypeTracklist); tl != nil { + tracklist := tl.(*widgets.Tracklist) + tracklist.Reset() + return tracklist + } + return widgets.NewTracklist(nil) +}