aboutsummaryrefslogtreecommitdiff
path: root/src/event/pl_append_keys.rs
diff options
context:
space:
mode:
authorkrolxon <krolyxon@tutanota.com>2024-06-12 18:13:05 +0530
committerkrolxon <krolyxon@tutanota.com>2024-06-12 18:13:05 +0530
commit65f76181d3cbee48096ebe0424869d4c78bac89b (patch)
tree6f2a6c54062f8111b0c7f88fdb4e947112ce72c7 /src/event/pl_append_keys.rs
parent8a8176e97b0b2e78b5c87573aa9598a79984af13 (diff)
new feature: add to new playlist
Diffstat (limited to 'src/event/pl_append_keys.rs')
-rwxr-xr-xsrc/event/pl_append_keys.rs15
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 {