diff options
| author | krolxon <krolyxon@tutanota.com> | 2024-06-12 18:13:05 +0530 |
|---|---|---|
| committer | krolxon <krolyxon@tutanota.com> | 2024-06-12 18:13:05 +0530 |
| commit | 65f76181d3cbee48096ebe0424869d4c78bac89b (patch) | |
| tree | 6f2a6c54062f8111b0c7f88fdb4e947112ce72c7 /src/event/pl_append_keys.rs | |
| parent | 8a8176e97b0b2e78b5c87573aa9598a79984af13 (diff) | |
new feature: add to new playlist
Diffstat (limited to 'src/event/pl_append_keys.rs')
| -rwxr-xr-x | src/event/pl_append_keys.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/event/pl_append_keys.rs b/src/event/pl_append_keys.rs index f56d597..0f7df81 100755 --- a/src/event/pl_append_keys.rs +++ b/src/event/pl_append_keys.rs @@ -1,4 +1,5 @@ use crate::app::{App, AppResult, SelectedTab}; +use crate::ui::InputMode; use crate::utils::FileExtension; use crossterm::event::{KeyCode, KeyEvent}; use std::path::Path; @@ -30,6 +31,10 @@ pub fn hande_pl_append_keys(key_event: KeyEvent, app: &mut App) -> AppResult<()> if *pl_name == "Current Playlist" { app.conn.conn.push(&song)?; app.update_queue(); + } else if *pl_name == "New Playlist" { + app.pl_new_pl_songs_buffer.clear(); + app.pl_new_pl_songs_buffer.push(song.clone()); + app.inputmode = InputMode::NewPlaylist; } else { app.conn.add_to_playlist(pl_name, &song)?; } @@ -47,12 +52,17 @@ pub fn hande_pl_append_keys(key_event: KeyEvent, app: &mut App) -> AppResult<()> if *pl_name == "Current Playlist" { app.conn.conn.push(&song)?; app.update_queue(); + } else if *pl_name == "New Playlist" { + app.pl_new_pl_songs_buffer.clear(); + app.pl_new_pl_songs_buffer.push(song.clone()); + app.inputmode = InputMode::NewPlaylist; } else { app.conn.add_to_playlist(pl_name, &song)?; } } } else if t == "directory" { let file = format!("{}/{}", app.browser.path, f); + app.pl_new_pl_songs_buffer.clear(); for (t, f) in app.conn.conn.listfiles(&file)?.iter() { // dir_vec.push((t, f)); if t == "file" @@ -65,6 +75,9 @@ pub fn hande_pl_append_keys(key_event: KeyEvent, app: &mut App) -> AppResult<()> let song = app.conn.get_song_with_only_filename(&full_path); if *pl_name == "Current Playlist" { app.conn.conn.push(&song)?; + } else if *pl_name == "New Playlist" { + app.pl_new_pl_songs_buffer.push(song.clone()); + app.inputmode = InputMode::NewPlaylist; } else { app.conn.add_to_playlist(pl_name, &song)?; } @@ -78,6 +91,8 @@ pub fn hande_pl_append_keys(key_event: KeyEvent, app: &mut App) -> AppResult<()> if *pl_name == "Current Playlist" { app.conn.load_playlist(playlist_name)?; app.update_queue(); + } else if *pl_name == "New Playlist" { + app.inputmode = InputMode::NewPlaylist; } else { let songs = app.conn.conn.playlist(playlist_name)?; for song in songs { |
