From ad2e99ce76cffc94d04730243f8724af518b98e3 Mon Sep 17 00:00:00 2001 From: krolxon Date: Sat, 27 Apr 2024 13:22:55 +0530 Subject: [PATCH] added keybind to remove highlighted song from queue --- src/app.rs | 24 ++++++++++++++++++++++++ src/handler.rs | 5 +++++ 2 files changed, 29 insertions(+) diff --git a/src/app.rs b/src/app.rs index 88f6efc..292ef63 100755 --- a/src/app.rs +++ b/src/app.rs @@ -113,6 +113,30 @@ impl App { Ok(()) } + pub fn remove_from_current_playlist(&mut self) { + let mut file = String::new(); + match self.selected_tab { + SelectedTab::DirectoryBrowser => { + let (_, f) = self.browser.filetree.get(self.browser.selected).unwrap(); + file.push_str(f); + } + + SelectedTab::Queue => { + file = self.queue_list.list.get(self.queue_list.index).unwrap().to_string(); + } + + _ => {} + } + + for (i, song) in self.queue_list.list.clone().iter().enumerate() { + if song.contains(&file) { + self.conn.conn.delete(i as u32).unwrap(); + } + } + + self.update_queue(); + } + pub fn cycle_tabls(&mut self) { self.selected_tab = match self.selected_tab { SelectedTab::DirectoryBrowser => SelectedTab::Queue, diff --git a/src/handler.rs b/src/handler.rs index c3b001e..2a18a1c 100755 --- a/src/handler.rs +++ b/src/handler.rs @@ -284,6 +284,11 @@ pub fn handle_key_events(key_event: KeyEvent, app: &mut App) -> AppResult<()> { app.inputmode = InputMode::toggle_editing_states(&app.inputmode); } + // Remove from Current Playlsit + KeyCode::Backspace => { + app.remove_from_current_playlist(); + } + _ => {} } }