MCPcopy Index your code
hub / github.com/ChrisFeldmeier/OpenCodeRust / handle_dialog_mouse

Method handle_dialog_mouse

crates/opencode-tui/src/app/app.rs:982–1019  ·  view source on GitHub ↗
(
        &mut self,
        mouse_event: &crossterm::event::MouseEvent,
    )

Source from the content-addressed store, hash-verified

980 }
981
982 fn handle_dialog_mouse(
983 &mut self,
984 mouse_event: &crossterm::event::MouseEvent,
985 ) -> anyhow::Result<bool> {
986 use crossterm::event::{MouseButton, MouseEventKind};
987
988 if !self.has_open_dialog_layer() {
989 return Ok(false);
990 }
991
992 match mouse_event.kind {
993 MouseEventKind::ScrollUp => {
994 self.scroll_active_dialog(true);
995 self.event_caused_change = true;
996 Ok(true)
997 }
998 MouseEventKind::ScrollDown => {
999 self.scroll_active_dialog(false);
1000 self.event_caused_change = true;
1001 Ok(true)
1002 }
1003 MouseEventKind::Down(MouseButton::Left) => {
1004 self.event_caused_change = self.close_top_dialog();
1005 Ok(true)
1006 }
1007 MouseEventKind::Moved
1008 | MouseEventKind::Down(_)
1009 | MouseEventKind::Drag(_)
1010 | MouseEventKind::Up(_) => {
1011 self.event_caused_change = false;
1012 Ok(true)
1013 }
1014 _ => {
1015 self.event_caused_change = false;
1016 Ok(true)
1017 }
1018 }
1019 }
1020
1021 fn handle_dialog_key(&mut self, key: KeyEvent) -> anyhow::Result<bool> {
1022 if self.alert_dialog.is_open() {

Callers 1

handle_eventMethod · 0.80

Calls 3

has_open_dialog_layerMethod · 0.80
scroll_active_dialogMethod · 0.80
close_top_dialogMethod · 0.80

Tested by

no test coverage detected