summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorqkzk <qu3nt1n@gmail.com>2023-12-11 20:37:18 +0100
committerqkzk <qu3nt1n@gmail.com>2023-12-11 20:37:18 +0100
commitbd124d63d862c49acf50a8cff31ed02325e1fde2 (patch)
tree7bf94a8adfdbfdbb91d512a63b19a72ccf2f3940
parent0d6f175dfe03f0f9cbb49922ab37ea876fccb9e1 (diff)
FIX: leaving sort mode doesn't reset the sort to default values
-rw-r--r--src/modes/edit/leave_mode.rs12
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<()> {