diff --git a/src/file_browser.rs b/src/file_browser.rs index e27a517..2d89ea4 100644 --- a/src/file_browser.rs +++ b/src/file_browser.rs @@ -144,13 +144,6 @@ impl FileBrowser { } pub fn go_back(&mut self) -> HResult<()> { - // if self.left_widget().is_err() { - // return None; - // } - // if self.columns.get_main_widget().is_none() { - // return None; - // } - let fileview = self.main_widget()?; let path = self.selected_file()?.grand_parent()?; std::env::set_current_dir(path)?; self.columns.pop_widget(); @@ -185,7 +178,6 @@ impl FileBrowser { } pub fn cwd(&self) -> HResult { - //(self.columns.get_main_widget()?.widget()?.content.directory.clone()) let widget = self.columns.get_main_widget()?.widget()?; let cwd = (*widget.lock()?).as_ref()?.content.directory.clone(); Ok(cwd) diff --git a/src/miller_columns.rs b/src/miller_columns.rs index 3c9bc8b..c550541 100644 --- a/src/miller_columns.rs +++ b/src/miller_columns.rs @@ -88,14 +88,16 @@ where if len < 2 { return Err(HError::NoWidgetError); } - Ok(self.widgets.widgets.get(len - 2)?) + let widget = self.widgets.widgets.get(len - 2)?; + Ok(widget) } pub fn get_left_widget_mut(&mut self) -> HResult<&mut T> { let len = self.widgets.widgets.len(); if len < 2 { return Err(HError::NoWidgetError); } - Ok(self.widgets.widgets.get_mut(len - 2)?) + let widget = self.widgets.widgets.get_mut(len - 2)?; + Ok(widget) } pub fn get_main_widget(&self) -> HResult<&T> { let widget = self.widgets.widgets.last()?; diff --git a/src/preview.rs b/src/preview.rs index dda2e68..f9e0f84 100644 --- a/src/preview.rs +++ b/src/preview.rs @@ -98,7 +98,6 @@ impl WillBe where { -> HResult<()> { if self.check().is_ok() { fun(self.thing.clone()); - //*self.on_ready.try_lock()? = None; } else { *self.on_ready.try_lock()? = Some(fun); } @@ -181,7 +180,12 @@ impl Widget for WillBeWidget { widget.refresh(); } fn get_drawlist(&self) -> String { - if self.willbe.check().is_err() { return "".to_string() } + if self.willbe.check().is_err() { + let clear = self.get_clearlist(); + let (xpos, ypos) = self.get_coordinates().u16position(); + let pos = crate::term::goto_xy(xpos, ypos); + return clear + &pos + "..." + } let widget = self.widget().unwrap(); let widget = widget.try_lock().unwrap(); let widget = widget.as_ref().unwrap();