diff options
| author | krolxon <krolyxon@tutanota.com> | 2024-04-27 13:22:55 +0530 |
|---|---|---|
| committer | krolxon <krolyxon@tutanota.com> | 2024-04-27 13:22:55 +0530 |
| commit | ad2e99ce76cffc94d04730243f8724af518b98e3 (patch) | |
| tree | 63bba609213d077762cc9bb88f0ed06c6d6049c0 | |
| parent | 255687be7cb6e6314f2c6f56c098d5113c1c091a (diff) | |
added keybind to remove highlighted song from queue
| -rwxr-xr-x | src/app.rs | 24 | ||||
| -rwxr-xr-x | src/handler.rs | 5 |
2 files changed, 29 insertions, 0 deletions
@@ -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(); + } + _ => {} } } |
