diff options
author | rabite <rabite@posteo.de> | 2019-02-07 02:25:22 +0100 |
---|---|---|
committer | rabite <rabite@posteo.de> | 2019-02-07 02:25:22 +0100 |
commit | c1eef611e33cfdbea87f82e5d942772c7d468c98 (patch) | |
tree | 995af9efc62ccd6b4804229c6e3614bd5030d624 /src/listview.rs | |
parent | 26dc8db216cba4c36c198308bb2efe2d429fecc6 (diff) |
hide hidden files
Diffstat (limited to 'src/listview.rs')
-rw-r--r-- | src/listview.rs | 20 |
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(), |