Fix #462: persist Skip Duplicates setting in add to playlist dialog
This commit is contained in:
@@ -44,6 +44,7 @@ type AppConfig struct {
|
||||
SavePlayQueue bool
|
||||
SaveQueueToServer bool
|
||||
DefaultPlaylistID string
|
||||
AddToPlaylistSkipDuplicates bool
|
||||
ShowTrackChangeNotification bool
|
||||
EnableLrcLib bool
|
||||
SkipSSLVerify bool
|
||||
|
||||
@@ -271,7 +271,8 @@ func (m *Controller) PromptForFirstServer() {
|
||||
// Depending on the results of that dialog, potentially create a new playlist
|
||||
// Add tracks to the user-specified playlist
|
||||
func (m *Controller) DoAddTracksToPlaylistWorkflow(trackIDs []string) {
|
||||
sp := dialogs.NewSelectPlaylistDialog(m.App.ServerManager.Server, m.App.ImageManager, m.App.ServerManager.LoggedInUser)
|
||||
sp := dialogs.NewSelectPlaylistDialog(m.App.ServerManager.Server, m.App.ImageManager,
|
||||
m.App.ServerManager.LoggedInUser, m.App.Config.Application.AddToPlaylistSkipDuplicates)
|
||||
pop := widget.NewModalPopUp(sp.SearchDialog, m.MainWindow.Canvas())
|
||||
sp.SetOnDismiss(func() {
|
||||
pop.Hide()
|
||||
@@ -279,6 +280,7 @@ func (m *Controller) DoAddTracksToPlaylistWorkflow(trackIDs []string) {
|
||||
})
|
||||
sp.SetOnNavigateTo(func(contentType mediaprovider.ContentType, id string) {
|
||||
pop.Hide()
|
||||
m.App.Config.Application.AddToPlaylistSkipDuplicates = sp.SkipDuplicates
|
||||
if id == "" /* creating new playlist */ {
|
||||
go m.App.ServerManager.Server.CreatePlaylist(sp.SearchDialog.SearchQuery(), trackIDs)
|
||||
} else {
|
||||
|
||||
@@ -24,11 +24,11 @@ type SelectPlaylist struct {
|
||||
SkipDuplicates bool
|
||||
}
|
||||
|
||||
func NewSelectPlaylistDialog(mp mediaprovider.MediaProvider, im util.ImageFetcher, loggedInUser string) *SelectPlaylist {
|
||||
func NewSelectPlaylistDialog(mp mediaprovider.MediaProvider, im util.ImageFetcher, loggedInUser string, skipDups bool) *SelectPlaylist {
|
||||
sp := &SelectPlaylist{
|
||||
mp: mp,
|
||||
loggedInUser: loggedInUser,
|
||||
SkipDuplicates: false,
|
||||
SkipDuplicates: skipDups,
|
||||
}
|
||||
sd := NewSearchDialog(
|
||||
im,
|
||||
|
||||
Reference in New Issue
Block a user