Lazy-load non-library playlists

Fix #62
This commit is contained in:
KoffeinFlummi
2019-04-28 11:31:32 +02:00
parent 82dee638c5
commit 662b718a4c
4 changed files with 92 additions and 60 deletions

View File

@@ -236,7 +236,8 @@ impl Library {
if self.needs_download(remote) {
info!("updating playlist {}", remote.name);
let playlist = Playlist::from_simplified_playlist(remote, &self.spotify);
let mut playlist: Playlist = remote.into();
playlist.load_tracks(self.spotify.clone());
self.append_or_update(&playlist);
// trigger redraw
self.ev.trigger();
@@ -723,6 +724,9 @@ impl Library {
return;
}
let mut playlist = playlist.clone();
playlist.load_tracks(self.spotify.clone());
{
let mut store = self.playlists.write().unwrap();
if !store.iter().any(|p| p.id == playlist.id) {