diff options
author | Jeff Zhao <jeff.no.zhao@gmail.com> | 2021-06-24 12:31:10 -0400 |
---|---|---|
committer | Jeff Zhao <jeff.no.zhao@gmail.com> | 2021-06-24 12:31:10 -0400 |
commit | 1b4c4b0507844abfd44fbbca5bbad302475173d5 (patch) | |
tree | 4d79215853f7fc3e4d8ff6d9ae164e0283cc1b0a /src/preview | |
parent | 7cfa5164233a84605cfe59e93470f7770301f286 (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.rs | 21 | ||||
-rw-r--r-- | src/preview/preview_file.rs | 8 |
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(); |