mirror of https://github.com/lapce/lapce.git
Merge pull request #346 from bugadani/focusfix
Pass unhandled key events through the default handler
This commit is contained in:
commit
202955c823
|
@ -23,7 +23,7 @@
|
||||||
},
|
},
|
||||||
editor::EditorLocationNew,
|
editor::EditorLocationNew,
|
||||||
hover::HoverStatus,
|
hover::HoverStatus,
|
||||||
keypress::KeyPressData,
|
keypress::{DefaultKeyPressHandler, KeyPressData},
|
||||||
movement::{self, CursorMode, Selection},
|
movement::{self, CursorMode, Selection},
|
||||||
palette::PaletteStatus,
|
palette::PaletteStatus,
|
||||||
panel::{PanelPosition, PanelResizePosition},
|
panel::{PanelPosition, PanelResizePosition},
|
||||||
|
@ -1007,11 +1007,26 @@ fn event(
|
||||||
}
|
}
|
||||||
self.activity.event(ctx, event, data, env);
|
self.activity.event(ctx, event, data, env);
|
||||||
|
|
||||||
if let Event::MouseUp(_) = event {
|
match event {
|
||||||
|
Event::MouseUp(_) => {
|
||||||
if data.drag.is_some() {
|
if data.drag.is_some() {
|
||||||
*Arc::make_mut(&mut data.drag) = None;
|
*Arc::make_mut(&mut data.drag) = None;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Event::KeyDown(key_event) if !ctx.is_handled() => {
|
||||||
|
let mut keypress = data.keypress.clone();
|
||||||
|
let mut_keypress = Arc::make_mut(&mut keypress);
|
||||||
|
mut_keypress.key_down(
|
||||||
|
ctx,
|
||||||
|
key_event,
|
||||||
|
&mut DefaultKeyPressHandler {},
|
||||||
|
env,
|
||||||
|
);
|
||||||
|
data.keypress = keypress;
|
||||||
|
ctx.set_handled();
|
||||||
|
}
|
||||||
|
_ => (),
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn lifecycle(
|
fn lifecycle(
|
||||||
|
|
Loading…
Reference in New Issue