This commit is contained in:
natilou
2024-03-30 12:26:42 -03:00
parent 298f4f6602
commit c1bf789432
4 changed files with 30 additions and 30 deletions
+2 -2
View File
@@ -92,8 +92,8 @@ func newPlaylistPage(
remove := fyne.NewMenuItem("Remove from playlist", a.onRemoveSelectedFromPlaylist)
remove.Icon = theme.ContentClearIcon()
a.tracklist.Options = widgets.TracklistOptions{
DisableRating: !canRate,
DisableSharing: !canShare,
DisableRating: !canRate,
DisableSharing: !canShare,
DisableSongRadio: !canSongRadio,
AuxiliaryMenuItems: []*fyne.MenuItem{
util.NewReorderTracksSubmenu(a.doSetNewTrackOrder),
+15 -15
View File
@@ -34,13 +34,13 @@ type TracksPage struct {
}
type tracksPageState struct {
searchText string
widgetPool *util.WidgetPool
contr *controller.Controller
conf *backend.TracksPageConfig
mp mediaprovider.MediaProvider
canRate bool
canShare bool
searchText string
widgetPool *util.WidgetPool
contr *controller.Controller
conf *backend.TracksPageConfig
mp mediaprovider.MediaProvider
canRate bool
canShare bool
canSongRadio bool
}
@@ -53,11 +53,11 @@ func NewTracksPage(contr *controller.Controller, conf *backend.TracksPageConfig,
_, t.canShare = mp.(mediaprovider.SupportsSharing)
_, t.canSongRadio = mp.(mediaprovider.SupportsSongRadio)
t.tracklist.Options = widgets.TracklistOptions{
DisableSorting: true,
DisableRating: !t.canRate,
DisableSharing: !t.canShare,
DisableSorting: true,
DisableRating: !t.canRate,
DisableSharing: !t.canShare,
DisableSongRadio: !t.canSongRadio,
AutoNumber: true,
AutoNumber: true,
}
t.tracklist.SetVisibleColumns(conf.TracklistColumns)
t.tracklist.OnVisibleColumnsChanged = func(cols []string) {
@@ -140,10 +140,10 @@ func (t *TracksPage) doSearch(query string) {
if t.searchTracklist == nil {
t.searchTracklist = t.obtainTracklist()
t.searchTracklist.Options = widgets.TracklistOptions{
AutoNumber: true,
DisableSorting: true,
DisableRating: !t.canRate,
DisableSharing: !t.canShare,
AutoNumber: true,
DisableSorting: true,
DisableRating: !t.canRate,
DisableSharing: !t.canShare,
DisableSongRadio: !t.canSongRadio,
}
t.searchTracklist.SetVisibleColumns(t.conf.TracklistColumns)
+5 -5
View File
@@ -145,12 +145,12 @@ func (m *Controller) connectTracklistActionsWithReplayGainMode(tracklist *widget
tracklist.OnShare = func(trackID string) {
go m.ShowShareDialog(trackID)
}
tracklist.OnPlaySongRadio = func (track *mediaprovider.Track) {
tracklist.OnPlaySongRadio = func(track *mediaprovider.Track) {
go func() {
tracks, err := m.GetSongRadioTracks(track)
if err != nil {
log.Printf("Error getting song radio: ", err)
return
return
}
m.App.PlaybackManager.LoadTracks(tracks, false, false)
if m.App.Config.ReplayGain.Mode == backend.ReplayGainAuto {
@@ -893,12 +893,12 @@ func (c *Controller) GetSongRadioTracks(sourceTrack *mediaprovider.Track) ([]*me
if err != nil {
return nil, fmt.Errorf("Error getting song radio: ", err)
}
// The goal of this implementation is to place the source track first in the queue.
filteredTracks := sharedutil.FilterSlice(radioTracks, func(track *mediaprovider.Track) bool{
filteredTracks := sharedutil.FilterSlice(radioTracks, func(track *mediaprovider.Track) bool {
return track.ID != sourceTrack.ID
})
tracks := []*mediaprovider.Track{sourceTrack}
tracks = append(tracks, filteredTracks...)
return tracks, nil
}
}
+8 -8
View File
@@ -111,15 +111,15 @@ type Tracklist struct {
tracks []*util.TrackListModel
tracksOrigOrder []*util.TrackListModel
nowPlayingID string
colLayout *layouts.ColumnsLayout
hdr *ListHeader
list *FocusList
ctxMenu *fyne.Menu
ratingSubmenu *fyne.MenuItem
shareMenuItem *fyne.MenuItem
nowPlayingID string
colLayout *layouts.ColumnsLayout
hdr *ListHeader
list *FocusList
ctxMenu *fyne.Menu
ratingSubmenu *fyne.MenuItem
shareMenuItem *fyne.MenuItem
songRadioMenuItem *fyne.MenuItem
container *fyne.Container
container *fyne.Container
}
func NewTracklist(tracks []*mediaprovider.Track) *Tracklist {