diff options
author | rabite <rabite@posteo.de> | 2019-04-03 15:35:29 +0200 |
---|---|---|
committer | rabite <rabite@posteo.de> | 2019-04-03 15:35:29 +0200 |
commit | 10d9a5462cd3c64ce8a1e3e6f724fb1528cc99ce (patch) | |
tree | f6acef7291ffcdacc88b2086bb590964041d18eb /src/files.rs | |
parent | 8bfc707a596c45ce134a427d8c800620042ba78c (diff) |
configurable hidden files/animation
Diffstat (limited to 'src/files.rs')
-rw-r--r-- | src/files.rs | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/files.rs b/src/files.rs index afe684d..b3c13e4 100644 --- a/src/files.rs +++ b/src/files.rs @@ -229,6 +229,19 @@ impl Files { Ok(files) } + pub fn get_file_mut(&mut self, index: usize) -> Option<&mut File> { + let filter = self.filter.clone(); + let show_hidden = self.show_hidden; + + let file = self.files + .iter_mut() + .filter(|f| !(filter.is_some() && + !f.name.contains(filter.as_ref().unwrap()))) + .filter(|f| !(!show_hidden && f.name.starts_with("."))) + .nth(index); + file + } + pub fn get_files(&self) -> Vec<&File> { self.files .iter() @@ -406,8 +419,12 @@ impl Files { self.dirty_meta.set_clean(); let meta_pool = make_pool(sender.clone()); + let show_hidden = self.show_hidden; - for file in self.files.iter_mut().take(meta_files) { + for file in self.files + .iter_mut() + .filter(|f| !(!show_hidden && f.name.starts_with("."))) + .take(meta_files) { if !file.meta_processed { file.take_meta(&meta_pool, &mut self.meta_updated).ok(); } |