diff options
author | rabite <rabite@posteo.de> | 2019-02-05 15:56:58 +0100 |
---|---|---|
committer | rabite <rabite@posteo.de> | 2019-02-05 15:59:36 +0100 |
commit | 89ffedad18f6a45874bf7ac98ba7a0ed69eb0685 (patch) | |
tree | 7fe53aca4399bf5e4bc72a91ce6f898488f9cb07 /src/preview.rs | |
parent | d3746dacb2308523902501208bdca28965f2954a (diff) |
unnecessary animations
Diffstat (limited to 'src/preview.rs')
-rw-r--r-- | src/preview.rs | 45 |
1 files changed, 19 insertions, 26 deletions
diff --git a/src/preview.rs b/src/preview.rs index d3cb74a..d5e7fde 100644 --- a/src/preview.rs +++ b/src/preview.rs @@ -43,10 +43,11 @@ impl Previewer { let coordinates = self.coordinates.clone(); let file = file.clone(); let redraw = crate::term::reset() + &self.get_redraw_empty_list(0); - - + + //self.threads.install(|| { std::thread::spawn(move || { + dbg!(&file); match &file.kind { Kind::Directory => match Files::new_from_path(&file.path) { Ok(files) => { @@ -55,26 +56,19 @@ impl Previewer { let mut file_list = ListView::new(files); file_list.set_coordinates(&coordinates); file_list.refresh(); - write!(std::io::stdout(), - "{}{}", - &file_list.get_drawlist(), - &file_list.get_redraw_empty_list(len)).unwrap(); - + file_list.animate_slide_up(); } Err(err) => { crate::window::show_status(&format!("Can't preview because: {}", err)); } - + }, _ => { if file.get_mime() == Some("text".to_string()) { let mut textview = TextView::new_from_file(&file); textview.set_coordinates(&coordinates); textview.refresh(); - let len = textview.lines.len(); - let output = textview.get_drawlist() - + &textview.get_redraw_empty_list(len - 1); - write!(std::io::stdout(), "{}", output).unwrap(); + textview.animate_slide_up(); } else { let output = std::process::Command::new("scope.sh").arg(&file.name) @@ -84,10 +78,9 @@ impl Previewer { .arg("false".to_string()) .output().unwrap(); - - if output.status.code().unwrap() != 0 { - write!(std::io::stdout(), "{}", redraw).unwrap(); - } else { + + + if output.status.code().unwrap() == 0 { let output = std::str::from_utf8(&output.stdout) .unwrap() .to_string(); @@ -97,13 +90,14 @@ impl Previewer { coordinates: Coordinates::new() }; textview.set_coordinates(&coordinates); textview.refresh(); - let len = textview.lines.len(); - let output = textview.get_drawlist() - + &textview.get_redraw_empty_list(len - 1); - write!(std::io::stdout(), "{}", output).unwrap(); - } + textview.animate_slide_up(); + + } else + { + write!(std::io::stdout(), "{}", redraw).unwrap(); + } } - + } } }); @@ -138,11 +132,10 @@ impl Widget for Previewer { "".to_string() } fn refresh(&mut self) { - if self.file == None { - return; + let file = self.file.clone(); + if let Some(file) = file { + self.set_file(&file); } - - } fn get_drawlist(&self) -> String { self.buffer.clone() |