From 00c5c12d82a2d6b9ca5f56f6ca468b2b3212c792 Mon Sep 17 00:00:00 2001 From: krolxon Date: Thu, 25 Apr 2024 14:31:50 +0530 Subject: use filetree view instead of all song list --- src/handler.rs | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) (limited to 'src/handler.rs') diff --git a/src/handler.rs b/src/handler.rs index fce3aa8..81a8639 100755 --- a/src/handler.rs +++ b/src/handler.rs @@ -17,13 +17,13 @@ pub fn handle_key_events(key_event: KeyEvent, app: &mut App) -> AppResult<()> { } KeyCode::Char('j') | KeyCode::Down => match app.selected_tab { - SelectedTab::SongList => app.song_list.next(), + SelectedTab::DirectoryBrowser => app.browser.next(), SelectedTab::Queue => app.queue_list.next(), SelectedTab::Playlists => app.pl_list.next(), }, KeyCode::Char('k') | KeyCode::Up => match app.selected_tab { - SelectedTab::SongList => app.song_list.prev(), + SelectedTab::DirectoryBrowser => app.browser.prev(), SelectedTab::Queue => app.queue_list.prev(), SelectedTab::Playlists => app.pl_list.prev(), }, @@ -32,12 +32,10 @@ pub fn handle_key_events(key_event: KeyEvent, app: &mut App) -> AppResult<()> { // app.update_queue(); match app.selected_tab { - SelectedTab::SongList => { - let song = app.conn.get_song_with_only_filename( - app.conn.songs_filenames.get(app.song_list.index).unwrap(), - ); - app.conn.push(&song)?; + SelectedTab::DirectoryBrowser => { + app.browser.handle_enter(&mut app.conn)?; } + SelectedTab::Queue => { let song = app.conn.get_song_with_only_filename( app.queue_list.list.get(app.queue_list.index).unwrap(), @@ -51,6 +49,14 @@ pub fn handle_key_events(key_event: KeyEvent, app: &mut App) -> AppResult<()> { } } + KeyCode::Char('h') => match app.selected_tab { + SelectedTab::DirectoryBrowser => { + app.browser.handle_go_back(&mut app.conn)?; + } + SelectedTab::Queue => {} + SelectedTab::Playlists => {} + }, + // Playback controls // Toggle Pause KeyCode::Char('p') => { @@ -105,7 +111,7 @@ pub fn handle_key_events(key_event: KeyEvent, app: &mut App) -> AppResult<()> { } KeyCode::Char('1') => { - app.selected_tab = SelectedTab::SongList; + app.selected_tab = SelectedTab::DirectoryBrowser; } KeyCode::Char('2') => { @@ -116,6 +122,7 @@ pub fn handle_key_events(key_event: KeyEvent, app: &mut App) -> AppResult<()> { app.selected_tab = SelectedTab::Playlists; } + KeyCode::Char('n') => { app.conn.conn.next()?; } -- cgit v1.2.3