add 'clear playlist' keybinding

This commit is contained in:
Henrik Friedrichsen
2019-03-08 00:23:03 +01:00
parent 82f10fccde
commit 75fd57108e
3 changed files with 20 additions and 2 deletions

View File

@@ -37,8 +37,10 @@ have them configurable.
* `F1`: Debug log
* `F2`: Queue
* `F3`: Search
* `F4`: Playlists, then hit `Return` to queue all songs from the playlist
* Tracks can be played using `Return` and queued using `Space`
* `F4`: Playlists
* `d` deletes the currently selected track
* `c` clears the entire playlist
* Tracks and playlists can be played using `Return` and queued using `Space`
* `Shift-p` toggles playback of a track
* `Shift-s` stops a track
* `q` quits ncspot

View File

@@ -141,6 +141,14 @@ fn main() {
});
}
{
let queue = queue.clone();
cursive.add_global_callback('c', move |_s| {
let mut queue = queue.lock().expect("could not lock queue");
queue.clear();
});
}
let search = ui::search::SearchView::new(spotify.clone(), queue.clone());
let mut playlists =

View File

@@ -92,6 +92,14 @@ impl Queue {
}
}
pub fn clear(&mut self) {
self.stop();
self.queue.clear();
// redraw queue if open
self.ev.send(Event::Queue(QueueEvent::Show));
}
pub fn play(&mut self, index: usize) {
let track = &self.queue[index];
self.spotify.load(&track);