another place to disable ratings
This commit is contained in:
+19
-10
@@ -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)
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user