summaryrefslogtreecommitdiffstats
path: root/src/joshuto/preview.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/joshuto/preview.rs')
-rw-r--r--src/joshuto/preview.rs27
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);
+ }
+ }
+ }
+}