diff options
author | qkzk <qu3nt1n@gmail.com> | 2023-12-11 20:37:18 +0100 |
---|---|---|
committer | qkzk <qu3nt1n@gmail.com> | 2023-12-11 20:37:18 +0100 |
commit | bd124d63d862c49acf50a8cff31ed02325e1fde2 (patch) | |
tree | 7bf94a8adfdbfdbb91d512a63b19a72ccf2f3940 | |
parent | 0d6f175dfe03f0f9cbb49922ab37ea876fccb9e1 (diff) |
FIX: leaving sort mode doesn't reset the sort to default values
-rw-r--r-- | src/modes/edit/leave_mode.rs | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/modes/edit/leave_mode.rs b/src/modes/edit/leave_mode.rs index c591e4a..84e68c1 100644 --- a/src/modes/edit/leave_mode.rs +++ b/src/modes/edit/leave_mode.rs @@ -25,6 +25,7 @@ use crate::modes::Navigate; use crate::modes::NodeCreation; use crate::modes::Preview; use crate::modes::SelectableContent; +use crate::modes::SortKind; use super::InputCompleted; @@ -47,6 +48,7 @@ impl LeaveMode { must_reset_mode = false; must_refresh = LeaveMode::shell(status)?; } + Edit::InputSimple(InputSimple::Sort) => LeaveMode::sort(status)?, Edit::InputSimple(InputSimple::Filter) => { must_refresh = false; LeaveMode::filter(status)? @@ -90,7 +92,7 @@ impl LeaveMode { } Edit::InputCompleted(InputCompleted::Goto) => LeaveMode::goto(status)?, Edit::InputCompleted(InputCompleted::Command) => LeaveMode::command(status, binds)?, - Edit::NeedConfirmation(_) | Edit::InputSimple(InputSimple::Sort) => (), + Edit::NeedConfirmation(_) => (), } status.menu.input.reset(); @@ -335,6 +337,14 @@ impl LeaveMode { status.update_second_pane_for_preview() } + fn sort(status: &mut Status) -> Result<()> { + status.current_tab_mut().settings.sort_kind = match status.current_tab().display_mode { + Display::Tree => SortKind::tree_default(), + _ => SortKind::default(), + }; + status.update_second_pane_for_preview() + } + /// Move back to a previously visited path. /// It may fail if the user has no permission to visit the path pub fn history(status: &mut Status) -> Result<()> { |