diff options
Diffstat (limited to 'src/interactive/widgets/mark.rs')
-rw-r--r-- | src/interactive/widgets/mark.rs | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/src/interactive/widgets/mark.rs b/src/interactive/widgets/mark.rs index e01604b..a122f6c 100644 --- a/src/interactive/widgets/mark.rs +++ b/src/interactive/widgets/mark.rs @@ -109,8 +109,8 @@ impl MarkPane { pub fn process_events(mut self, key: Key) -> Option<(Self, Option<MarkMode>)> { let action = None; match key { - Ctrl('r') => return Some(self.prepare_deletion()), - Ctrl('t') => return Some(self.prepare_trashing()), + Ctrl('r') => return Some(self.prepare_deletion(MarkMode::Delete)), + Ctrl('t') => return Some(self.prepare_deletion(MarkMode::Trash)), Char('x') | Char('d') | Char(' ') => { return self.remove_selected().map(|s| (s, action)) } @@ -179,19 +179,12 @@ impl MarkPane { d.num_errors_during_deletion = num_errors; } } - fn prepare_deletion(mut self) -> (Self, Option<MarkMode>) { + fn prepare_deletion(mut self, mark: MarkMode) -> (Self, Option<MarkMode>) { for entry in self.marked.values_mut() { entry.num_errors_during_deletion = 0; } self.selected = Some(0); - (self, Some(MarkMode::Delete)) - } - fn prepare_trashing(mut self) -> (Self, Option<MarkMode>) { - for entry in self.marked.values_mut() { - entry.num_errors_during_deletion = 0; - } - self.selected = Some(0); - (self, Some(MarkMode::Trash)) + (self, Some(mark)) } fn remove_selected(mut self) -> Option<Self> { if let Some(mut selected) = self.selected { |