summaryrefslogtreecommitdiffstats
path: root/src/preview
diff options
context:
space:
mode:
authorJeff Zhao <jeff.no.zhao@gmail.com>2021-06-24 12:31:10 -0400
committerJeff Zhao <jeff.no.zhao@gmail.com>2021-06-24 12:31:10 -0400
commit1b4c4b0507844abfd44fbbca5bbad302475173d5 (patch)
tree4d79215853f7fc3e4d8ff6d9ae164e0283cc1b0a /src/preview
parent7cfa5164233a84605cfe59e93470f7770301f286 (diff)
fix preview script being constantly called on files with no previews available
Diffstat (limited to 'src/preview')
-rw-r--r--src/preview/preview_default.rs21
-rw-r--r--src/preview/preview_file.rs8
2 files changed, 19 insertions, 10 deletions
diff --git a/src/preview/preview_default.rs b/src/preview/preview_default.rs
index a242c4f..d2fd95e 100644
--- a/src/preview/preview_default.rs
+++ b/src/preview/preview_default.rs
@@ -6,9 +6,26 @@ use crate::ui::TuiBackend;
pub fn load_preview_path(context: &mut AppContext, backend: &mut TuiBackend, p: path::PathBuf) {
if p.is_dir() {
- preview_dir::Background::load_preview(context, p);
+ let need_to_load = context
+ .tab_context_mut()
+ .curr_tab_mut()
+ .history_mut()
+ .get(p.as_path())
+ .map(|e| e.need_update())
+ .unwrap_or(true);
+
+ if need_to_load {
+ preview_dir::Background::load_preview(context, p);
+ }
} else if p.is_file() {
- preview_file::Background::preview_path_with_script(context, backend, p);
+ let need_to_load = context
+ .preview_context_ref()
+ .get_preview(p.as_path())
+ .is_none();
+
+ if need_to_load {
+ preview_file::Background::preview_path_with_script(context, backend, p);
+ }
}
}
diff --git a/src/preview/preview_file.rs b/src/preview/preview_file.rs
index 3f13095..4e6f264 100644
--- a/src/preview/preview_file.rs
+++ b/src/preview/preview_file.rs
@@ -93,14 +93,6 @@ impl Background {
backend: &mut TuiBackend,
p: path::PathBuf,
) {
- if context
- .preview_context_ref()
- .get_preview(p.as_path())
- .is_some()
- {
- return;
- }
-
let preview_options = context.config_ref().preview_options_ref();
let config = context.config_ref();