From 3a86d6edb68547335c0f289816e80da6fe27503e Mon Sep 17 00:00:00 2001 From: Jeff Zhao Date: Mon, 21 Jun 2021 14:43:43 -0400 Subject: revert tui_dirlist_detailed to use MIN_LEFT_LABEL_WIDTH - add previewing loading trigger to mouse input as well --- src/run.rs | 1 + src/ui/widgets/tui_dirlist_detailed.rs | 22 ++++++++-------------- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/src/run.rs b/src/run.rs index 4efe3b6..fd1a3af 100644 --- a/src/run.rs +++ b/src/run.rs @@ -40,6 +40,7 @@ pub fn run( match event { AppEvent::Termion(Event::Mouse(event)) => { input::process_mouse(event, context, backend); + preview_default::load_preview(context, backend); } AppEvent::Termion(key) => { if !context.message_queue_ref().is_empty() { diff --git a/src/ui/widgets/tui_dirlist_detailed.rs b/src/ui/widgets/tui_dirlist_detailed.rs index ab62176..d80484d 100644 --- a/src/ui/widgets/tui_dirlist_detailed.rs +++ b/src/ui/widgets/tui_dirlist_detailed.rs @@ -116,23 +116,17 @@ fn factor_labels_for_entry<'a>( let left_label_original_width = left_label_original.width(); let right_label_original_width = right_label_original.width(); - if drawing_width < right_label_original_width { - return (ELLIPSIS.to_string(), ""); - } - let left_width_remainder = drawing_width as i32 - right_label_original_width as i32; let width_remainder = left_width_remainder as i32 - left_label_original_width as i32; if width_remainder >= 0 { (left_label_original.to_string(), right_label_original) + } else if left_width_remainder < MIN_LEFT_LABEL_WIDTH { + (trim_file_label(left_label_original, drawing_width), "") } else { - if left_label_original_width + right_label_original_width <= drawing_width { - (left_label_original.to_string(), "") - } else { - ( - trim_file_label(left_label_original, left_width_remainder as usize), - right_label_original, - ) - } + ( + trim_file_label(left_label_original, left_width_remainder as usize), + right_label_original, + ) } } @@ -173,7 +167,7 @@ mod test_factor_labels { let left = "foo.ext"; let right = "right"; assert_eq!( - (ELLIPSIS.to_string(), ""), + ("".to_string(), ""), factor_labels_for_entry(left, right, 0) ); } @@ -204,7 +198,7 @@ mod test_factor_labels { let right = "right"; assert!(left.chars().count() as i32 == MIN_LEFT_LABEL_WIDTH); assert_eq!( - ("fooba….ext".to_string(), "right"), + ("foobarbazf….ext".to_string(), ""), factor_labels_for_entry(left, right, MIN_LEFT_LABEL_WIDTH as usize) ); } -- cgit v1.2.3