diff options
author | rabite <rabite@posteo.de> | 2020-02-05 21:45:51 +0100 |
---|---|---|
committer | rabite <rabite@posteo.de> | 2020-02-05 21:45:51 +0100 |
commit | a6c829e1439dd1a50eb3de090bb13990a1eaf932 (patch) | |
tree | 5fd5c7b6474c07d041d3c8d09a06b631b2c7738e /src/file_browser.rs | |
parent | aa091b69c8faddc9515a47ad8e66d4c89a91ac05 (diff) |
buggy super-fast crazy stuffbuggy-speed
Diffstat (limited to 'src/file_browser.rs')
-rw-r--r-- | src/file_browser.rs | 92 |
1 files changed, 47 insertions, 45 deletions
diff --git a/src/file_browser.rs b/src/file_browser.rs index 9361dce..66d6dc6 100644 --- a/src/file_browser.rs +++ b/src/file_browser.rs @@ -199,7 +199,6 @@ impl Tabbable for TabView<FileBrowser> { w.as_mut() .map(|mut w| { w.content.show_hidden = show_hidden; - w.content.dirty_meta.set_dirty(); w.refresh().log(); }).ok(); Ok(()) @@ -211,7 +210,6 @@ impl Tabbable for TabView<FileBrowser> { w.as_mut() .map(|mut w| { w.content.show_hidden = show_hidden; - w.content.dirty_meta.set_dirty(); w.refresh().log(); }).ok(); Ok(()) @@ -262,7 +260,7 @@ impl FileBrowser { let source = FileSource::Path(dir); ListView::builder(core_m, source) .meta_all() - .prerender() + // .prerender() .with_cache(cache) .with_stale(stale.clone()) .build() @@ -274,8 +272,8 @@ impl FileBrowser { let dir = File::new_from_path(&left_path, None)?; let source = FileSource::Path(dir); ListView::builder(core_l, source) - .meta_all() - .prerender() + // .meta_all() + // .prerender() .with_cache(cache) .with_stale(stale.clone()) .build() @@ -359,7 +357,7 @@ impl FileBrowser { ListView::builder(core, source) .meta_all() - .prerender() + // .prerender() .with_cache(cache) .with_stale(stale.clone()) .build() @@ -476,19 +474,19 @@ impl FileBrowser { self.prev_cwd = Some(self.cwd.clone()); self.cwd = dir.clone(); - let file_source = FileSource::Path(self.cwd.clone()); + let file_source = FileSource::Path(self.cwd.clone()); - let main_async_widget = self.main_async_widget_mut()?; - main_async_widget.change_to(move |stale: &Stale, core| { - let view = ListView::builder(core, file_source) - .meta_all() - .prerender() - .with_cache(cache) - .with_stale(stale.clone()) - .build()?; + let main_async_widget = self.main_async_widget_mut()?; + main_async_widget.change_to(move |stale: &Stale, core| { + let view = ListView::builder(core, file_source) + .meta_all() + // .prerender() + .with_cache(cache) + .with_stale(stale.clone()) + .build()?; - Ok(view) - }).log(); + Ok(view) + }).log(); if let Ok(grand_parent) = self.cwd()?.parent_as_file() { @@ -499,32 +497,36 @@ impl FileBrowser { }).log(); } + self.preview_widget_mut() + .map(|p| p.set_stale()) + .ok(); + Ok(()) } pub fn left_widget_goto(&mut self, dir: &File) -> HResult<()> { - // Check if we're in the correct directory already and return - // if we are - let left_dir = &self.left_widget()?.content.directory; - if self.left_widget().is_ok() && left_dir == dir { - return Ok(()); - } - - let cache = self.fs_cache.clone(); - let file_source = FileSource::Path(dir.clone()); - let left_async_widget = self.left_async_widget_mut()?; - left_async_widget.change_to(move |stale, core| { - let view = ListView::builder(core, file_source) - .meta_all() - .prerender() - .with_cache(cache) - .with_stale(stale.clone()) - .build()?; - - Ok(view) - }).log(); - - Ok(()) + // Check if we're in the correct directory already and return + // if we are + let left_dir = &self.left_widget()?.content.directory; + if self.left_widget().is_ok() && left_dir == dir { + return Ok(()); + } + + let cache = self.fs_cache.clone(); + let file_source = FileSource::Path(dir.clone()); + let left_async_widget = self.left_async_widget_mut()?; + left_async_widget.change_to(move |stale, core| { + let view = ListView::builder(core, file_source) + // .meta_all() + // .prerender() + .with_cache(cache) + .with_stale(stale.clone()) + .build()?; + + Ok(view) + }).log(); + + Ok(()) } pub fn go_back(&mut self) -> HResult<()> { @@ -548,7 +550,7 @@ impl FileBrowser { ListView::builder(core, file_source) .select(main_selection) .meta_all() - .prerender() + // .prerender() .with_cache(cache) .with_stale(stale.clone()) .build() @@ -559,7 +561,7 @@ impl FileBrowser { let cache = self.fs_cache.clone(); self.left_async_widget_mut()?.change_to(move |stale, core| { ListView::builder(core, file_source) - .prerender() + // .prerender() .with_cache(cache) .with_stale(stale.clone()) .build() @@ -698,16 +700,16 @@ impl FileBrowser { pub fn take_main_files(&mut self) -> HResult<Files> { let mut w = self.main_widget_mut()?; - w.lines = 0; - w.buffer.clear(); + w.content.len = 0; + //w.buffer.clear(); let files = std::mem::take(&mut w.content); Ok(files) } pub fn take_left_files(&mut self) -> HResult<Files> { let mut w = self.left_widget_mut()?; - w.lines = 0; - w.buffer.clear(); + w.content.len = 0; + //w.buffer.clear(); let files = std::mem::take(&mut w.content); Ok(files) } |