add Play next option to album page menu

This commit is contained in:
Drew Weymouth
2024-04-13 08:19:33 -07:00
parent 0c7c1f10ab
commit 227fb1d0ac
2 changed files with 8 additions and 4 deletions
+5 -1
View File
@@ -233,6 +233,10 @@ func NewAlbumPageHeader(page *AlbumPage) *AlbumPageHeader {
menuBtn := widget.NewButtonWithIcon("", theme.MoreHorizontalIcon(), nil)
menuBtn.OnTapped = func() {
if pop == nil {
playNext := fyne.NewMenuItem("Play next", func() {
go a.page.pm.LoadAlbum(a.albumID, backend.InsertNext, false /*shuffle*/)
})
playNext.Icon = myTheme.PlayNextIcon
queue := fyne.NewMenuItem("Add to queue", func() {
go a.page.pm.LoadAlbum(a.albumID, backend.Append, false /*shuffle*/)
})
@@ -254,7 +258,7 @@ func NewAlbumPageHeader(page *AlbumPage) *AlbumPageHeader {
a.page.contr.ShowShareDialog(a.albumID)
})
a.shareMenuItem.Icon = myTheme.ShareIcon
menu := fyne.NewMenu("", queue, playlist, download, info, a.shareMenuItem)
menu := fyne.NewMenu("", playNext, queue, playlist, download, info, a.shareMenuItem)
pop = widget.NewPopUpMenu(menu, fyne.CurrentApp().Driver().CanvasForObject(a))
}
_, canShare := page.mp.(mediaprovider.SupportsSharing)
+3 -3
View File
@@ -264,10 +264,10 @@ func NewPlaylistPageHeader(page *PlaylistPage) *PlaylistPageHeader {
menuBtn := widget.NewButtonWithIcon("", theme.MoreHorizontalIcon(), nil)
menuBtn.OnTapped = func() {
if pop == nil {
queue_next := fyne.NewMenuItem("Play next", func() {
playNext := fyne.NewMenuItem("Play next", func() {
go a.page.pm.LoadPlaylist(a.page.playlistID, backend.InsertNext, false)
})
queue_next.Icon = theme.ContentAddIcon()
playNext.Icon = myTheme.PlayNextIcon
queue := fyne.NewMenuItem("Add to queue", func() {
go a.page.pm.LoadPlaylist(a.page.playlistID, backend.Append, false)
})
@@ -281,7 +281,7 @@ func NewPlaylistPageHeader(page *PlaylistPage) *PlaylistPageHeader {
a.page.contr.ShowDownloadDialog(a.page.tracks, a.titleLabel.String())
})
download.Icon = theme.DownloadIcon()
menu := fyne.NewMenu("", queue_next, queue, playlist, download)
menu := fyne.NewMenu("", playNext, queue, playlist, download)
pop = widget.NewPopUpMenu(menu, fyne.CurrentApp().Driver().CanvasForObject(a))
}
pos := fyne.CurrentApp().Driver().AbsolutePositionForObject(menuBtn)