summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeff Zhao <jeff.no.zhao@gmail.com>2021-06-21 14:43:43 -0400
committerJeff Zhao <jeff.no.zhao@gmail.com>2021-06-21 14:43:43 -0400
commit3a86d6edb68547335c0f289816e80da6fe27503e (patch)
tree2e88c7ac900fbb48820fe80e0473ee054ed47ac6
parent58ad2824f631dcf8ff2a3f267733ffc0c302b3b3 (diff)
revert tui_dirlist_detailed to use MIN_LEFT_LABEL_WIDTH
- add previewing loading trigger to mouse input as well
-rw-r--r--src/run.rs1
-rw-r--r--src/ui/widgets/tui_dirlist_detailed.rs22
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)
);
}