refactor: add controller.ConnectTracklistActions
This commit is contained in:
@@ -6,12 +6,14 @@ import (
|
||||
"supersonic/backend"
|
||||
"supersonic/ui/dialogs"
|
||||
"supersonic/ui/util"
|
||||
"supersonic/ui/widgets"
|
||||
"time"
|
||||
|
||||
"fyne.io/fyne/v2"
|
||||
"fyne.io/fyne/v2/canvas"
|
||||
"fyne.io/fyne/v2/dialog"
|
||||
"fyne.io/fyne/v2/widget"
|
||||
"github.com/dweymouth/go-subsonic/subsonic"
|
||||
)
|
||||
|
||||
type Controller struct {
|
||||
@@ -40,6 +42,21 @@ func (m Controller) ShowPopUpImage(img image.Image) {
|
||||
))
|
||||
}
|
||||
|
||||
func (m Controller) ConnectTracklistActions(tracklist *widgets.Tracklist) {
|
||||
tracklist.OnAddToPlaylist = m.DoAddTracksToPlaylistWorkflow
|
||||
tracklist.OnAddToQueue = func(tracks []*subsonic.Child) {
|
||||
m.App.PlaybackManager.LoadTracks(tracks, true, false)
|
||||
}
|
||||
tracklist.OnPlayTrackAt = func(idx int) {
|
||||
m.App.PlaybackManager.LoadTracks(tracklist.Tracks, false, false)
|
||||
m.App.PlaybackManager.PlayTrackAt(idx)
|
||||
}
|
||||
tracklist.OnPlaySelection = func(tracks []*subsonic.Child) {
|
||||
m.App.PlaybackManager.LoadTracks(tracks, false, false)
|
||||
m.App.PlaybackManager.PlayFromBeginning()
|
||||
}
|
||||
}
|
||||
|
||||
func (m Controller) PromptForFirstServer() {
|
||||
d := dialogs.NewAddEditServerDialog("Connect to Server", nil)
|
||||
pop := widget.NewModalPopUp(d, m.MainWindow.Canvas())
|
||||
|
||||
Reference in New Issue
Block a user