diff --git a/src/components/inspect_commit.rs b/src/components/inspect_commit.rs index 00a80288..21c1708b 100644 --- a/src/components/inspect_commit.rs +++ b/src/components/inspect_commit.rs @@ -122,7 +122,6 @@ impl Component for InspectCommitComponent { { self.details.focus(true); self.diff.focus(false); - } else { } // stop key event propagation diff --git a/src/components/reset.rs b/src/components/reset.rs index 35084886..07b2841f 100644 --- a/src/components/reset.rs +++ b/src/components/reset.rs @@ -8,7 +8,7 @@ use crate::{ strings, ui, }; use anyhow::Result; -use crossterm::event::{Event, KeyCode}; +use crossterm::event::Event; use std::borrow::Cow; use tui::{ backend::Backend, @@ -81,19 +81,13 @@ impl Component for ResetComponent { fn event(&mut self, ev: Event) -> Result { if self.visible { if let Event::Key(e) = ev { - return match e.code { - KeyCode::Esc => { - self.hide(); - Ok(true) - } + if e == self.key_config.exit_popup { + self.hide(); + } else if e == self.key_config.enter { + self.confirm(); + } - KeyCode::Enter => { - self.confirm(); - Ok(true) - } - - _ => Ok(true), - }; + return Ok(true); } } diff --git a/src/components/stashmsg.rs b/src/components/stashmsg.rs index bb9b5fd1..8b3e01ff 100644 --- a/src/components/stashmsg.rs +++ b/src/components/stashmsg.rs @@ -11,7 +11,7 @@ use crate::{ }; use anyhow::Result; use asyncgit::{sync, CWD}; -use crossterm::event::{Event, KeyCode}; +use crossterm::event::Event; use tui::{backend::Backend, layout::Rect, Frame}; pub struct StashMsgComponent { @@ -61,7 +61,7 @@ impl Component for StashMsgComponent { } if let Event::Key(e) = ev { - if let KeyCode::Enter = e.code { + if e == self.key_config.enter { match sync::stash_save( CWD, if self.input.get_text().is_empty() { diff --git a/src/components/tag_commit.rs b/src/components/tag_commit.rs index 58f26715..063871b3 100644 --- a/src/components/tag_commit.rs +++ b/src/components/tag_commit.rs @@ -13,7 +13,7 @@ use asyncgit::{ sync::{self, CommitId}, CWD, }; -use crossterm::event::{Event, KeyCode}; +use crossterm::event::Event; use tui::{backend::Backend, layout::Rect, Frame}; pub struct TagCommitComponent { @@ -63,7 +63,7 @@ impl Component for TagCommitComponent { } if let Event::Key(e) = ev { - if let KeyCode::Enter = e.code { + if e == self.key_config.enter { self.tag() } diff --git a/src/components/textinput.rs b/src/components/textinput.rs index 36a2ad42..a5542aa9 100644 --- a/src/components/textinput.rs +++ b/src/components/textinput.rs @@ -209,13 +209,15 @@ impl Component for TextInputComponent { fn event(&mut self, ev: Event) -> Result { if self.visible { if let Event::Key(e) = ev { + if e == self.key_config.exit_popup { + self.hide(); + return Ok(true); + } + let is_ctrl = e.modifiers.contains(KeyModifiers::CONTROL); + match e.code { - KeyCode::Esc => { - self.hide(); - return Ok(true); - } KeyCode::Char(c) if !is_ctrl => { self.msg.insert(self.cursor_position, c); self.incr_cursor();