diff options
| author | lukeflo | 2024-10-11 14:05:34 +0200 |
|---|---|---|
| committer | lukeflo | 2024-10-12 22:41:38 +0200 |
| commit | d7bc5105f0fb572beb2ae4e5b033a343ae12f2dc (patch) | |
| tree | 471932b621f1e4cbedf9eeaf4bb7ead74f0af95f /src/frontend/handler.rs | |
| parent | 1ad9a97e9a25622a9946cb9c55705922c42d9149 (diff) | |
| download | bibiman-d7bc5105f0fb572beb2ae4e5b033a343ae12f2dc.tar.gz bibiman-d7bc5105f0fb572beb2ae4e5b033a343ae12f2dc.zip | |
scrollbar for entries and keywords. scroll symbols for abstract first steps
Diffstat (limited to 'src/frontend/handler.rs')
| -rw-r--r-- | src/frontend/handler.rs | 36 |
1 files changed, 32 insertions, 4 deletions
diff --git a/src/frontend/handler.rs b/src/frontend/handler.rs index ac5b94f..c2cacf5 100644 --- a/src/frontend/handler.rs +++ b/src/frontend/handler.rs @@ -48,12 +48,26 @@ pub fn handle_key_events(key_event: KeyEvent, app: &mut App, tui: &mut Tui) -> R match app.current_area { // Keycodes for the tag area CurrentArea::TagArea => match key_event.code { - KeyCode::Char('j') | KeyCode::Down => { + KeyCode::Down => { app.select_next_tag(); } - KeyCode::Char('k') | KeyCode::Up => { + KeyCode::Up => { app.select_previous_tag(); } + KeyCode::Char('j') => { + if key_event.modifiers == KeyModifiers::ALT { + app.scroll_info_down(); + } else { + app.select_next_tag(); + } + } + KeyCode::Char('k') => { + if key_event.modifiers == KeyModifiers::ALT { + app.scroll_info_up(); + } else { + app.select_previous_tag(); + } + } KeyCode::Char('g') | KeyCode::Home => { app.select_first_tag(); } @@ -81,12 +95,26 @@ pub fn handle_key_events(key_event: KeyEvent, app: &mut App, tui: &mut Tui) -> R }, // Keycodes for the entry area CurrentArea::EntryArea => match key_event.code { - KeyCode::Char('j') | KeyCode::Down => { + KeyCode::Down => { app.select_next_entry(); } - KeyCode::Char('k') | KeyCode::Up => { + KeyCode::Up => { app.select_previous_entry(); } + KeyCode::Char('j') => { + if key_event.modifiers == KeyModifiers::ALT { + app.scroll_info_down(); + } else { + app.select_next_entry(); + } + } + KeyCode::Char('k') => { + if key_event.modifiers == KeyModifiers::ALT { + app.scroll_info_up(); + } else { + app.select_previous_entry(); + } + } KeyCode::Char('g') | KeyCode::Home => { app.select_first_entry(); } |
