From 44abf3c4348c385fb80ba0f67119c2dd560e160b Mon Sep 17 00:00:00 2001 From: Drew Weymouth Date: Sun, 3 Mar 2024 13:58:15 -0800 Subject: [PATCH] add select all support to new NowPlaying page --- ui/browsing/nowplayingpage.go | 12 ++++++++++++ ui/widgets/playqueuelist.go | 7 +++++++ 2 files changed, 19 insertions(+) diff --git a/ui/browsing/nowplayingpage.go b/ui/browsing/nowplayingpage.go index ffaf9d7..e14afa3 100644 --- a/ui/browsing/nowplayingpage.go +++ b/ui/browsing/nowplayingpage.go @@ -208,6 +208,18 @@ func (a *NowPlayingPage) OnPlayTimeUpdate(_, _ float64) { a.formatStatusLine() } +var _ CanSelectAll = (*NowPlayingPage)(nil) + +func (a *NowPlayingPage) SelectAll() { + a.queueList.SelectAll() +} + +var _ fyne.Tappable = (*NowPlayingPage)(nil) + +func (a *NowPlayingPage) Tapped(*fyne.PointEvent) { + a.queueList.UnselectAll() +} + func (a *NowPlayingPage) doSetNewTrackOrder(trackIDs []string, op sharedutil.TrackReorderOp) { idxs := make([]int, 0, len(trackIDs)) for i, tr := range a.queue { diff --git a/ui/widgets/playqueuelist.go b/ui/widgets/playqueuelist.go index c3bb707..c8855d9 100644 --- a/ui/widgets/playqueuelist.go +++ b/ui/widgets/playqueuelist.go @@ -118,6 +118,13 @@ func (p *PlayQueueList) SetNowPlaying(trackID string) { } } +func (p *PlayQueueList) SelectAll() { + p.tracksMutex.RLock() + util.SelectAllTracks(p.tracks) + p.tracksMutex.RUnlock() + p.list.Refresh() +} + func (p *PlayQueueList) UnselectAll() { p.tracksMutex.RLock() util.UnselectAllTracks(p.tracks)