diff options
Diffstat (limited to 'src/joshuto/preview.rs')
-rw-r--r-- | src/joshuto/preview.rs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/joshuto/preview.rs b/src/joshuto/preview.rs new file mode 100644 index 0000000..5136949 --- /dev/null +++ b/src/joshuto/preview.rs @@ -0,0 +1,27 @@ +extern crate ncurses; + +use joshuto; +use joshuto::ui; + +pub fn preview_file(context: &mut joshuto::JoshutoContext) +{ + let curr_tab = &mut context.tabs[context.tab_index]; + + if let Some(ref curr_list) = curr_tab.curr_list { + if let Some(entry) = curr_list.get_curr_entry() { + if entry.path.is_dir() { + if let Some(dirlist) = curr_tab.history.get_mut_or_create(&entry.path, &context.config_t.sort_type) { + ui::display_contents(&context.config_t, &context.theme_t, &context.views.right_win, dirlist); + } else { + ncurses::werase(context.views.right_win.win); + ncurses::waddstr(context.views.right_win.win, "Can't find direntry"); + ncurses::wnoutrefresh(context.views.right_win.win); + } + } else { + ncurses::werase(context.views.right_win.win); + ncurses::waddstr(context.views.right_win.win, "Not a directory"); + ncurses::wnoutrefresh(context.views.right_win.win); + } + } + } +} |