diff options
author | rabite <rabite@posteo.de> | 2020-01-23 16:10:34 +0100 |
---|---|---|
committer | rabite <rabite@posteo.de> | 2020-01-23 16:10:34 +0100 |
commit | cd773727ebd3fe76f776598b55b3d1f22e8e2b87 (patch) | |
tree | cf44dfdd4a5f195691228666d23efaf8a065c4ab /src/files.rs | |
parent | fa73d2cb8c1730eda07d660ed6b0e05202875062 (diff) |
fix updates ignoring sort/filter/etc settings when rendering
Diffstat (limited to 'src/files.rs')
-rw-r--r-- | src/files.rs | 29 |
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 { |