Krolyxon
Commit ad2e99c

rmptuiad2e99c

added keybind to remove highlighted song from queue

Author
krolxon
Date
2024-04-27 13:22 +0530
Parent
255687b
Commit
ad2e99ce76cffc94d04730243f8724af518b98e3

+29 −0

2 files changed

  1. M src/app.rs +24 −0
  2. M src/handler.rs +5 −0
M src/app.rs View
@@ -113,6 +113,30 @@ impl App {
113113 Ok(())
114114 }
115115
116+ pub fn remove_from_current_playlist(&mut self) {
117+ let mut file = String::new();
118+ match self.selected_tab {
119+ SelectedTab::DirectoryBrowser => {
120+ let (_, f) = self.browser.filetree.get(self.browser.selected).unwrap();
121+ file.push_str(f);
122+ }
123+
124+ SelectedTab::Queue => {
125+ file = self.queue_list.list.get(self.queue_list.index).unwrap().to_string();
126+ }
127+
128+ _ => {}
129+ }
130+
131+ for (i, song) in self.queue_list.list.clone().iter().enumerate() {
132+ if song.contains(&file) {
133+ self.conn.conn.delete(i as u32).unwrap();
134+ }
135+ }
136+
137+ self.update_queue();
138+ }
139+
116140 pub fn cycle_tabls(&mut self) {
117141 self.selected_tab = match self.selected_tab {
118142 SelectedTab::DirectoryBrowser => SelectedTab::Queue,
M src/handler.rs View
@@ -284,6 +284,11 @@ pub fn handle_key_events(key_event: KeyEvent, app: &mut App) -> AppResult<()> {
284284 app.inputmode = InputMode::toggle_editing_states(&app.inputmode);
285285 }
286286
287+ // Remove from Current Playlsit
288+ KeyCode::Backspace => {
289+ app.remove_from_current_playlist();
290+ }
291+
287292 _ => {}
288293 }
289294 }