summaryrefslogtreecommitdiffstats
path: root/src/files.rs
diff options
context:
space:
mode:
authorrabite <rabite@posteo.de>2020-02-07 22:29:53 +0100
committerrabite <rabite@posteo.de>2020-02-07 22:31:33 +0100
commit48a4a8bb144d941607708a330b4758938189b31e (patch)
tree007f12cbe427fee72c1f854ff4a22b166c509f06 /src/files.rs
parent0f7be9e9290624b8ce9ebcfaa960065353483306 (diff)
fix calculation of the number of files when toggling hidden files
Diffstat (limited to 'src/files.rs')
-rw-r--r--src/files.rs14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/files.rs b/src/files.rs
index 6e800dd..914f16f 100644
--- a/src/files.rs
+++ b/src/files.rs
@@ -550,11 +550,10 @@ impl Files {
self.set_dirty();
if self.show_hidden == true && self.len() > 1 {
- self.remove_placeholder();
- } else {
- // avoid doing this twice, since remove_placeholder() does it too
- self.recalculate_len();
+ self.remove_placeholder()
}
+
+ self.recalculate_len();
}
fn remove_placeholder(&mut self) {
@@ -562,7 +561,9 @@ impl Files {
self.find_file_with_path(&dirpath).cloned()
.map(|placeholder| {
self.files.remove_item(&placeholder);
- self.recalculate_len();
+ if self.len > 0 {
+ self.len -= 1;
+ }
});
}
@@ -895,7 +896,8 @@ impl File {
.map(|dirs| {
let size = dirs.count();
dirsize.store(size as u32, Ordering::Release);
- });
+ }).map_err(HError::from)
+ .log();
});
}