summaryrefslogtreecommitdiffstats
path: root/src/app
diff options
context:
space:
mode:
authorDenys Séguret <cano.petrole@gmail.com>2022-10-22 19:05:03 +0200
committerGitHub <noreply@github.com>2022-10-22 19:05:03 +0200
commit002f8d1f7296064ea89a893ca7fe201e6fd54983 (patch)
treecd0bebbe658acc81e69c1170b0c4f1c72074e652 /src/app
parente0b63e5008ae51acb68c6628d63c1d2307abf526 (diff)
restrict verbs to specific panels (#620)
Diffstat (limited to 'src/app')
-rw-r--r--src/app/panel.rs4
-rw-r--r--src/app/state_type.rs16
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,
}