summaryrefslogtreecommitdiffstats
path: root/src/files.rs
diff options
context:
space:
mode:
authorrabite <rabite@posteo.de>2019-04-03 15:35:29 +0200
committerrabite <rabite@posteo.de>2019-04-03 15:35:29 +0200
commit10d9a5462cd3c64ce8a1e3e6f724fb1528cc99ce (patch)
treef6acef7291ffcdacc88b2086bb590964041d18eb /src/files.rs
parent8bfc707a596c45ce134a427d8c800620042ba78c (diff)
configurable hidden files/animation
Diffstat (limited to 'src/files.rs')
-rw-r--r--src/files.rs19
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();
}