diff options
author | rabite <rabite@posteo.de> | 2020-02-07 22:29:53 +0100 |
---|---|---|
committer | rabite <rabite@posteo.de> | 2020-02-07 22:31:33 +0100 |
commit | 48a4a8bb144d941607708a330b4758938189b31e (patch) | |
tree | 007f12cbe427fee72c1f854ff4a22b166c509f06 /src/files.rs | |
parent | 0f7be9e9290624b8ce9ebcfaa960065353483306 (diff) |
fix calculation of the number of files when toggling hidden files
Diffstat (limited to 'src/files.rs')
-rw-r--r-- | src/files.rs | 14 |
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(); }); } |