summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrabite <rabite@posteo.de>2019-06-18 13:34:15 +0200
committerrabite <rabite@posteo.de>2019-06-18 13:35:33 +0200
commit85ff9d777cf270edb7548e77ab301bea7f578eaa (patch)
treef998c11af8157fe88793abd1c4f00aab80c08fa8
parent0fec7e95a28acb77a86b07d2cb5278fb181b2bad (diff)
add clear all selections
-rw-r--r--README.md1
-rw-r--r--src/listview.rs9
2 files changed, 10 insertions, 0 deletions
diff --git a/README.md b/README.md
index 2b06df1..c28b65c 100644
--- a/README.md
+++ b/README.md
@@ -193,6 +193,7 @@ By default hunter uses vi-style keybindings. If you use a QWERTY-like keyboard l
| space | multi select file |
| Alt(space) | select with external program |
| v | invert selections |
+| V | clear all selections |
| t | toggle tag |
| h | toggle show hidden |
| r | reverse sort |
diff --git a/src/listview.rs b/src/listview.rs
index 1a9ea76..f9c19ec 100644
--- a/src/listview.rs
+++ b/src/listview.rs
@@ -83,6 +83,7 @@ impl Listable for ListView<Files> {
Key::Right => self.goto_selected()?,
Key::Char(' ') => self.multi_select_file(),
Key::Char('v') => self.invert_selection(),
+ Key::Char('V') => self.clear_selections(),
Key::Char('t') => self.toggle_tag()?,
Key::Char('H') => self.toggle_hidden(),
Key::Char('r') => self.reverse_sort(),
@@ -369,6 +370,14 @@ impl ListView<Files>
self.refresh().log();
}
+ pub fn clear_selections(&mut self) {
+ for file in self.content.get_files_mut() {
+ file.selected = false;
+ }
+ self.content.set_dirty();
+ self.refresh().log();
+ }
+
fn toggle_tag(&mut self) -> HResult<()> {
self.selected_file_mut().toggle_tag()?;