summaryrefslogtreecommitdiffstats
path: root/src/interactive/widgets/mark.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/interactive/widgets/mark.rs')
-rw-r--r--src/interactive/widgets/mark.rs15
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 {