diff options
Diffstat (limited to 'src/preview/preview_default.rs')
-rw-r--r-- | src/preview/preview_default.rs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/preview/preview_default.rs b/src/preview/preview_default.rs new file mode 100644 index 0000000..9601800 --- /dev/null +++ b/src/preview/preview_default.rs @@ -0,0 +1,27 @@ +use std::path; + +use crate::context::AppContext; +use crate::preview::{preview_dir, preview_file}; +use crate::ui::TuiBackend; + +pub fn load_preview_path(context: &mut AppContext, backend: &mut TuiBackend, p: path::PathBuf) { + if p.is_dir() { + preview_dir::load_preview(context, p); + } else if p.is_file() { + preview_file::preview_path_with_script(context, backend, p); + } +} + +pub fn load_preview(context: &mut AppContext, backend: &mut TuiBackend) { + let mut p: Option<path::PathBuf> = None; + if let Some(curr_list) = context.tab_context_ref().curr_tab_ref().curr_list_ref() { + if let Some(index) = curr_list.index { + let entry = &curr_list.contents[index]; + p = Some(entry.file_path().to_path_buf()) + } + } + + if let Some(p) = p { + load_preview_path(context, backend, p); + } +} |