move to a separate save/delete binding approach

this is to address accidental deletions of playlists/tracks that some users
faced

closes #75

related #15
This commit is contained in:
Henrik Friedrichsen
2019-08-13 21:59:11 +02:00
parent 6fd77c2d50
commit 980f6eb528
6 changed files with 44 additions and 1 deletions

View File

@@ -309,10 +309,19 @@ impl<I: ListItem + Clone> ViewExt for ListView<I> {
};
if let Some(item) = item.as_mut() {
item.toggle_saved(self.library.clone());
item.save(self.library.clone());
}
}
Command::Delete => {
let mut item = {
let content = self.content.read().unwrap();
content.get(self.selected).cloned()
};
if let Some(item) = item.as_mut() {
item.unsave(self.library.clone());
}
}
Command::Share(mode) => {
let url = match mode {
TargetMode::Selected => self.content.read().ok().and_then(|content| {