aboutsummaryrefslogtreecommitdiff
path: root/src/frontend/handler.rs
diff options
context:
space:
mode:
authorlukeflo2024-10-11 14:05:34 +0200
committerlukeflo2024-10-12 22:41:38 +0200
commitd7bc5105f0fb572beb2ae4e5b033a343ae12f2dc (patch)
tree471932b621f1e4cbedf9eeaf4bb7ead74f0af95f /src/frontend/handler.rs
parent1ad9a97e9a25622a9946cb9c55705922c42d9149 (diff)
downloadbibiman-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.rs36
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();
}