aboutsummaryrefslogtreecommitdiff
path: root/src/event/handler.rs
diff options
context:
space:
mode:
authorkrolxon <krolyxon@tutanota.com>2024-06-07 23:49:51 +0530
committerkrolxon <krolyxon@tutanota.com>2024-06-07 23:49:51 +0530
commitfaaddc2bd752d9416798d986c9821197a13b8640 (patch)
tree0772668386ef0c1d3b91ab149a79ab50b3f7493e /src/event/handler.rs
parent53522c936d6c43e700247eb74f26389eb52882de (diff)
add mouse scrolling
Diffstat (limited to 'src/event/handler.rs')
-rwxr-xr-xsrc/event/handler.rs18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/event/handler.rs b/src/event/handler.rs
index b8c1a80..fcd1416 100755
--- a/src/event/handler.rs
+++ b/src/event/handler.rs
@@ -2,7 +2,7 @@ use crate::{
app::{App, AppResult, SelectedTab},
ui::InputMode,
};
-use crossterm::event::{KeyCode, KeyEvent, KeyModifiers};
+use crossterm::event::{KeyCode, KeyEvent, KeyModifiers, MouseEvent, MouseEventKind};
use std::time::Duration;
use super::{pl_append_keys, pl_rename_keys, search_keys};
@@ -297,3 +297,19 @@ pub fn handle_key_events(key_event: KeyEvent, app: &mut App) -> AppResult<()> {
}
Ok(())
}
+
+pub fn handle_mouse_events(mouse_event: MouseEvent, app: &mut App) -> AppResult<()> {
+ match mouse_event.kind {
+ MouseEventKind::ScrollUp => app.handle_scroll_up(),
+ MouseEventKind::ScrollDown => app.handle_scroll_down(),
+ MouseEventKind::Down(button) => {
+ let (x, y) = (mouse_event.column, mouse_event.row);
+ match button {
+ crossterm::event::MouseButton::Left => app.handle_mouse_left_click(x, y)?,
+ _ => {}
+ }
+ }
+ _ => {}
+ }
+ Ok(())
+}