mirror of https://github.com/bobwen-dev/hunter
don't draw preview dir twice
This commit is contained in:
parent
e993c2c275
commit
b359cc9119
|
@ -331,32 +331,41 @@ impl FileListBuilder {
|
|||
}
|
||||
}?;
|
||||
|
||||
if self.meta_all {
|
||||
files.meta_all();
|
||||
} else if self.meta_upto > 0 {
|
||||
files.meta_upto(self.meta_upto, Some(self.core.get_sender()));
|
||||
}
|
||||
let mut view = ListView::new(&self.core, files);
|
||||
|
||||
let selected_file = match self.selected_file {
|
||||
Some(f) => Some(f),
|
||||
None => {
|
||||
c.as_ref()
|
||||
.map(|c| c.get_selection(&files.directory).ok())
|
||||
.map(|c| c.get_selection(&view.content.directory).ok())
|
||||
.flatten()
|
||||
}
|
||||
};
|
||||
|
||||
let mut view = ListView::new(&self.core, files);
|
||||
|
||||
selected_file.map(|mut f| {
|
||||
f.meta_sync().log();
|
||||
view.select_file(&f);
|
||||
});
|
||||
|
||||
let from = match self.meta_all {
|
||||
true => 0,
|
||||
false => view.offset,
|
||||
};
|
||||
|
||||
let ysize = view.core.coordinates.ysize_u();
|
||||
let upto = match self.meta_all {
|
||||
true => view.content.len,
|
||||
false => from + ysize + 1
|
||||
};
|
||||
|
||||
view.content
|
||||
.iter_files_mut()
|
||||
.skip(from)
|
||||
.take(upto)
|
||||
.for_each(|f| f.meta_sync().log());
|
||||
view.content.meta_upto = Some(view.content.len);
|
||||
|
||||
if self.prerender {
|
||||
view.refresh().log();
|
||||
|
||||
|
||||
match self.stale {
|
||||
Some(s) => view.render_buffer_stale(s)?,
|
||||
None => view.render_buffer()?
|
||||
|
@ -367,6 +376,10 @@ impl FileListBuilder {
|
|||
}
|
||||
};
|
||||
|
||||
view.content.set_clean();
|
||||
view.content.dirty_meta.set_clean();
|
||||
view.core.set_clean();
|
||||
|
||||
Ok(view)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -451,6 +451,8 @@ impl Previewer {
|
|||
stale: &Stale,
|
||||
animator: &Stale)
|
||||
-> HResult<PreviewWidget> {
|
||||
use crate::dirty::Dirtyable;
|
||||
|
||||
if stale.is_stale()? { return Previewer::preview_failed(&file) }
|
||||
let source = FileSource::Path(file.clone());
|
||||
|
||||
|
@ -463,6 +465,8 @@ impl Previewer {
|
|||
if stale.is_stale()? { return Previewer::preview_failed(&file) }
|
||||
|
||||
file_list.animate_slide_up(Some(animator))?;
|
||||
file_list.core.set_clean();
|
||||
|
||||
Ok(PreviewWidget::FileList(file_list))
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue