summaryrefslogtreecommitdiffstats
path: root/src/file_browser.rs
diff options
context:
space:
mode:
authorrabite <rabite@posteo.de>2020-01-23 04:24:35 +0100
committerrabite <rabite@posteo.de>2020-01-23 15:17:28 +0100
commitfa73d2cb8c1730eda07d660ed6b0e05202875062 (patch)
treeaaecf3264b35ba832e815747f99c60db921d16de /src/file_browser.rs
parentbf166ce7ff7294672e687498f7adbffc8bd60ce5 (diff)
fix lag in mediaview by moving availability check to config
Diffstat (limited to 'src/file_browser.rs')
-rw-r--r--src/file_browser.rs15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/file_browser.rs b/src/file_browser.rs
index ddeea91..2da07f6 100644
--- a/src/file_browser.rs
+++ b/src/file_browser.rs
@@ -661,9 +661,20 @@ impl FileBrowser {
self.preview_widget_mut()?.set_stale().log();
return Ok(());
}
- let file = self.selected_file()?.clone();
+
+ let file = self.selected_file()?;
+
+ // Don't even call previewer on empty files to save CPU cycles
+ match (file.is_dir(), file.calculate_size()) {
+ (false, Ok((size, unit))) => if size == 0 && unit.as_str() == "" {
+ self.preview_widget_mut()?.set_stale().log();
+ return Ok(());
+ },
+ _ => {}
+ }
+
let preview = self.preview_widget_mut()?;
- preview.set_file(&file).log();
+ preview.set_file(file).log();
Ok(())
}