From faaddc2bd752d9416798d986c9821197a13b8640 Mon Sep 17 00:00:00 2001 From: krolxon Date: Fri, 7 Jun 2024 23:49:51 +0530 Subject: add mouse scrolling --- src/event/handler.rs | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'src/event') 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(()) +} -- cgit v1.2.3