another place to disable ratings

This commit is contained in:
Drew Weymouth
2023-11-14 09:05:02 -08:00
parent 15bff7c1ae
commit ecfba0a463
+19 -10
View File
@@ -39,22 +39,18 @@ type tracksPageState struct {
contr *controller.Controller contr *controller.Controller
conf *backend.TracksPageConfig conf *backend.TracksPageConfig
mp mediaprovider.MediaProvider mp mediaprovider.MediaProvider
canRate bool
} }
func NewTracksPage(contr *controller.Controller, conf *backend.TracksPageConfig, pool *util.WidgetPool, mp mediaprovider.MediaProvider) *TracksPage { 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 := &TracksPage{tracksPageState: tracksPageState{contr: contr, conf: conf, widgetPool: pool, mp: mp}}
t.ExtendBaseWidget(t) t.ExtendBaseWidget(t)
if tl := t.widgetPool.Obtain(util.WidgetTypeTracklist); tl != nil { t.tracklist = t.obtainTracklist()
t.tracklist = tl.(*widgets.Tracklist) _, t.canRate = mp.(mediaprovider.SupportsRating)
t.tracklist.Reset()
} else {
t.tracklist = widgets.NewTracklist(nil)
}
_, canRate := mp.(mediaprovider.SupportsRating)
t.tracklist.Options = widgets.TracklistOptions{ t.tracklist.Options = widgets.TracklistOptions{
DisableSorting: true, DisableSorting: true,
DisableRating: !canRate, DisableRating: !t.canRate,
AutoNumber: true, AutoNumber: true,
} }
t.tracklist.SetVisibleColumns(conf.TracklistColumns) t.tracklist.SetVisibleColumns(conf.TracklistColumns)
@@ -130,8 +126,12 @@ func (t *TracksPage) OnSearched(query string) {
func (t *TracksPage) doSearch(query string) { func (t *TracksPage) doSearch(query string) {
if t.searchTracklist == nil { if t.searchTracklist == nil {
t.searchTracklist = widgets.NewTracklist(nil) t.searchTracklist = t.obtainTracklist()
t.searchTracklist.Options = widgets.TracklistOptions{AutoNumber: true} t.searchTracklist.Options = widgets.TracklistOptions{
AutoNumber: true,
DisableSorting: true,
DisableRating: !t.canRate,
}
t.searchTracklist.SetVisibleColumns(t.conf.TracklistColumns) t.searchTracklist.SetVisibleColumns(t.conf.TracklistColumns)
t.searchTracklist.SetNowPlaying(t.nowPlayingID) t.searchTracklist.SetNowPlaying(t.nowPlayingID)
t.searchTracklist.OnVisibleColumnsChanged = func(cols []string) { t.searchTracklist.OnVisibleColumnsChanged = func(cols []string) {
@@ -178,3 +178,12 @@ func (s *tracksPageState) Restore() Page {
func (t *TracksPage) playRandomSongs() { func (t *TracksPage) playRandomSongs() {
t.contr.App.PlaybackManager.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)
}