diff options
author | Denys Séguret <cano.petrole@gmail.com> | 2022-10-22 19:05:03 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-22 19:05:03 +0200 |
commit | 002f8d1f7296064ea89a893ca7fe201e6fd54983 (patch) | |
tree | cd0bebbe658acc81e69c1170b0c4f1c72074e652 /src/app | |
parent | e0b63e5008ae51acb68c6628d63c1d2307abf526 (diff) |
restrict verbs to specific panels (#620)
Diffstat (limited to 'src/app')
-rw-r--r-- | src/app/panel.rs | 4 | ||||
-rw-r--r-- | src/app/state_type.rs | 16 |
2 files changed, 13 insertions, 7 deletions
diff --git a/src/app/panel.rs b/src/app/panel.rs index 9577adf..4455c27 100644 --- a/src/app/panel.rs +++ b/src/app/panel.rs @@ -133,7 +133,9 @@ impl Panel { con: &AppContext, ) -> Result<Command, ProgramError> { let sel_info = self.states[self.states.len() - 1].sel_info(app_state); - self.input.on_event(w, event, con, sel_info, app_state, self.state().get_mode()) + let mode = self.state().get_mode(); + let panel_state_type = self.state().get_type(); + self.input.on_event(w, event, con, sel_info, app_state, mode, panel_state_type) } pub fn push_state(&mut self, new_state: Box<dyn PanelState>) { diff --git a/src/app/state_type.rs b/src/app/state_type.rs index 04f3fa4..28eb85f 100644 --- a/src/app/state_type.rs +++ b/src/app/state_type.rs @@ -1,21 +1,25 @@ +use { + serde::Deserialize, +}; /// one of the types of state that you could /// find in a panel today -#[derive(Debug, Clone, Copy, PartialEq)] +#[derive(Debug, Clone, Copy, PartialEq, Deserialize)] +#[serde(rename_all = "snake_case")] pub enum PanelStateType { - /// The standard browsing tree + /// standard browsing tree Tree, - /// the filesystem + /// filesystems Fs, - /// The help "screen" + /// help "screen" Help, - /// The preview panel, never alone on screen + /// preview panel, never alone on screen Preview, - /// The stage panel, never alone on screen + /// stage panel, never alone on screen Stage, } |