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)