From a85c5121ee1bf1d999037fca2c355dee79983dc9 Mon Sep 17 00:00:00 2001 From: Jeremy Wall Date: Thu, 5 Dec 2024 17:41:36 -0500 Subject: [PATCH] wip: handle range resets when switching sheets --- src/ui/mod.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/ui/mod.rs b/src/ui/mod.rs index 1e18d85..01ff5c1 100644 --- a/src/ui/mod.rs +++ b/src/ui/mod.rs @@ -58,6 +58,12 @@ impl RangeSelection { } None } + + pub fn reset_range_selection(&mut self) { + self.start = None; + self.end = None; + self.sheet = None; + } } #[derive(Debug)] @@ -503,7 +509,7 @@ impl<'ws> Workspace<'ws> { } } KeyCode::Char('n') if key.modifiers == KeyModifiers::CONTROL => { - // TODO(jwall): We should reset our range selections. + self.state.range_select.reset_range_selection(); self.run_with_prefix(|ws: &mut Workspace<'_>| -> Result<()> { ws.book.select_next_sheet(); Ok(()) @@ -511,7 +517,7 @@ impl<'ws> Workspace<'ws> { self.state.range_select.sheet = Some(self.book.current_sheet); } KeyCode::Char('p') if key.modifiers == KeyModifiers::CONTROL => { - // TODO(jwall): We should reset our range selections. + self.state.range_select.reset_range_selection(); self.run_with_prefix(|ws: &mut Workspace<'_>| -> Result<()> { ws.book.select_prev_sheet(); Ok(())