summaryrefslogtreecommitdiffstats
path: root/src/listview.rs
diff options
context:
space:
mode:
authorrabite <rabite@posteo.de>2019-02-07 02:25:22 +0100
committerrabite <rabite@posteo.de>2019-02-07 02:25:22 +0100
commitc1eef611e33cfdbea87f82e5d942772c7d468c98 (patch)
tree995af9efc62ccd6b4804229c6e3614bd5030d624 /src/listview.rs
parent26dc8db216cba4c36c198308bb2efe2d429fecc6 (diff)
hide hidden files
Diffstat (limited to 'src/listview.rs')
-rw-r--r--src/listview.rs20
1 files changed, 15 insertions, 5 deletions
diff --git a/src/listview.rs b/src/listview.rs
index 1fa16e4..4fbcc8e 100644
--- a/src/listview.rs
+++ b/src/listview.rs
@@ -82,7 +82,7 @@ where
let ysize = self.coordinates.ysize() as usize;
let mut offset = 0;
- while position >= ysize - 2 + offset {
+ while position >= ysize + offset {
offset += 1
}
@@ -179,7 +179,7 @@ where
.files
.par_iter()
.position_any(|item| item == file)
- .unwrap();
+ .unwrap_or(0);
self.set_selection(pos);
}
@@ -247,14 +247,23 @@ where
}
let file = self.clone_selected_file();
- self.content.dirs_first = dir_settings;
- self.content.sort = sort_settings;
- self.content.sort();
+ // self.content.dirs_first = dir_settings;
+ // self.content.sort = sort_settings;
+ // self.content.sort();
self.select_file(&file);
+ self.seeking = true;
self.refresh();
}
+ fn toggle_hidden(&mut self) {
+ let file = self.clone_selected_file();
+ self.content.toggle_hidden();
+ self.content.reload_files();
+ self.select_file(&file);
+ self.refresh();
+ }
+
fn toggle_dirs_first(&mut self) {
let file = self.clone_selected_file();
self.content.dirs_first = !self.content.dirs_first;
@@ -371,6 +380,7 @@ impl Widget for ListView<Files> {
}
Key::Left => self.goto_grand_parent(),
Key::Right => self.goto_selected(),
+ Key::Char('h') => self.toggle_hidden(),
Key::Char('r') => self.reverse_sort(),
Key::Char('s') => self.cycle_sort(),
Key::Char('k') => self.select_next_mtime(),