summaryrefslogtreecommitdiffstats
path: root/src/files.rs
diff options
context:
space:
mode:
authorrabite <rabite@posteo.de>2020-01-23 16:10:34 +0100
committerrabite <rabite@posteo.de>2020-01-23 16:10:34 +0100
commitcd773727ebd3fe76f776598b55b3d1f22e8e2b87 (patch)
treecf44dfdd4a5f195691228666d23efaf8a065c4ab /src/files.rs
parentfa73d2cb8c1730eda07d660ed6b0e05202875062 (diff)
fix updates ignoring sort/filter/etc settings when rendering
Diffstat (limited to 'src/files.rs')
-rw-r--r--src/files.rs29
1 files changed, 12 insertions, 17 deletions
diff --git a/src/files.rs b/src/files.rs
index 25d21ad..7720aa7 100644
--- a/src/files.rs
+++ b/src/files.rs
@@ -190,26 +190,12 @@ impl RefreshPackage {
// Files added, removed, renamed to hidden, etc...
files.recalculate_len();
- let new_len = files.len();
- // Need to unpack this to prevent issue with recursive Files type
- // Also, if no files remain add placeholder
- let files = if files.len() > 0 {
- // Sort again to make sure new/changed files are in correct order
- files.sort();
- files.files
- } else {
- let placeholder = File::new_placeholder(&files.directory.path).unwrap();
- files.files.push(placeholder);
-
- // Need to sort because of possible hidden files
- files.sort();
- files.files
- };
+ files.sort();
+ // Prerender new buffer in current thread
let mut old_buffer = old_buffer;
- // Prerender new buffer in current thread
- let new_buffer = files.iter()
+ let new_buffer = files.iter_files()
.map(|file| {
match list_pos_map.get(&file) {
Some(&old_pos) =>
@@ -221,6 +207,15 @@ impl RefreshPackage {
}
}).collect();
+ // Need to unpack this to prevent issue with recursive Files type
+ // Also, if no files remain add placeholder and set len
+ let (files, new_len) = if files.len() > 0 {
+ (files.files, files.len)
+ } else {
+ let placeholder = File::new_placeholder(&files.directory.path).unwrap();
+ files.files.push(placeholder);
+ (files.files, 1)
+ };
RefreshPackage {