From 227fb1d0acd420506bcea14bf66adbc2293363a9 Mon Sep 17 00:00:00 2001 From: Drew Weymouth Date: Sat, 13 Apr 2024 08:19:33 -0700 Subject: [PATCH] add Play next option to album page menu --- ui/browsing/albumpage.go | 6 +++++- ui/browsing/playlistpage.go | 6 +++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/ui/browsing/albumpage.go b/ui/browsing/albumpage.go index d564168..3b21f96 100644 --- a/ui/browsing/albumpage.go +++ b/ui/browsing/albumpage.go @@ -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) diff --git a/ui/browsing/playlistpage.go b/ui/browsing/playlistpage.go index 66346f6..d1a8fec 100644 --- a/ui/browsing/playlistpage.go +++ b/ui/browsing/playlistpage.go @@ -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)