Merge branch 'JCQuintas-close-dialogs-with-esc' into dev
This commit is contained in:
@@ -305,7 +305,7 @@ impl InputHandler {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Change the the "next" seletable panel
|
/// Change the the "next" selectable panel
|
||||||
fn tab_key(&mut self) {
|
fn tab_key(&mut self) {
|
||||||
let is_containers =
|
let is_containers =
|
||||||
self.gui_state.lock().get_selected_panel() == SelectablePanel::Containers;
|
self.gui_state.lock().get_selected_panel() == SelectablePanel::Containers;
|
||||||
@@ -354,7 +354,7 @@ impl InputHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Handle keyboard button events
|
/// Handle keyboard button events
|
||||||
async fn button_press(&mut self, key_code: KeyCode, key_modififer: KeyModifiers) {
|
async fn button_press(&mut self, key_code: KeyCode, key_modifier: KeyModifiers) {
|
||||||
let contains_delete = self
|
let contains_delete = self
|
||||||
.gui_state
|
.gui_state
|
||||||
.lock()
|
.lock()
|
||||||
@@ -370,25 +370,30 @@ impl InputHandler {
|
|||||||
// Always just quit on Ctrl + c/C or q/Q
|
// Always just quit on Ctrl + c/C or q/Q
|
||||||
let is_c = || key_code == KeyCode::Char('c') || key_code == KeyCode::Char('C');
|
let is_c = || key_code == KeyCode::Char('c') || key_code == KeyCode::Char('C');
|
||||||
let is_q = || key_code == KeyCode::Char('q') || key_code == KeyCode::Char('Q');
|
let is_q = || key_code == KeyCode::Char('q') || key_code == KeyCode::Char('Q');
|
||||||
if key_modififer == KeyModifiers::CONTROL && is_c() || is_q() {
|
if key_modifier == KeyModifiers::CONTROL && is_c() || is_q() {
|
||||||
self.quit().await;
|
self.quit().await;
|
||||||
}
|
}
|
||||||
|
|
||||||
if contains_error {
|
if contains_error {
|
||||||
if let KeyCode::Char('c' | 'C') = key_code {
|
match key_code {
|
||||||
|
KeyCode::Esc | KeyCode::Char('c' | 'C') => {
|
||||||
self.app_data.lock().remove_error();
|
self.app_data.lock().remove_error();
|
||||||
self.gui_state.lock().status_del(Status::Error);
|
self.gui_state.lock().status_del(Status::Error);
|
||||||
}
|
}
|
||||||
|
_ => (),
|
||||||
|
}
|
||||||
} else if contains_help {
|
} else if contains_help {
|
||||||
match key_code {
|
match key_code {
|
||||||
KeyCode::Char('h' | 'H') => self.gui_state.lock().status_del(Status::Help),
|
KeyCode::Esc | KeyCode::Char('h' | 'H') => {
|
||||||
|
self.gui_state.lock().status_del(Status::Help);
|
||||||
|
}
|
||||||
KeyCode::Char('m' | 'M') => self.m_key(),
|
KeyCode::Char('m' | 'M') => self.m_key(),
|
||||||
_ => (),
|
_ => (),
|
||||||
}
|
}
|
||||||
} else if contains_delete {
|
} else if contains_delete {
|
||||||
match key_code {
|
match key_code {
|
||||||
KeyCode::Char('y' | 'Y') => self.confirm_delete().await,
|
KeyCode::Char('y' | 'Y') => self.confirm_delete().await,
|
||||||
KeyCode::Char('n' | 'N') => self.clear_delete(),
|
KeyCode::Esc | KeyCode::Char('n' | 'N') => self.clear_delete(),
|
||||||
_ => (),
|
_ => (),
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user