mirror of
https://github.com/sxyazi/yazi.git
synced 2026-07-21 23:01:05 +00:00
fix: wrong offset of existing directory on previewing
This commit is contained in:
parent
7ec7e36a53
commit
cad6560955
2 changed files with 12 additions and 10 deletions
|
|
@ -65,8 +65,8 @@ impl Manager {
|
|||
}
|
||||
|
||||
if hovered.is_dir() {
|
||||
let len = self.active().history(url).map(|f| f.files.len());
|
||||
self.active_mut().preview.folder(url, len, sequent);
|
||||
let position = self.active().history(url).map(|f| (f.offset(), f.files.len()));
|
||||
self.active_mut().preview.folder(url, position, sequent);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -59,15 +59,15 @@ impl Preview {
|
|||
}));
|
||||
}
|
||||
|
||||
pub fn folder(&mut self, url: &Url, files: Option<usize>, sequent: bool) {
|
||||
if let Some(files) = files {
|
||||
self.skip = self.skip.min(files.saturating_sub(MANAGER.layout.preview_height()));
|
||||
pub fn folder(&mut self, url: &Url, position: Option<(usize, usize)>, sequent: bool) {
|
||||
if let Some((_, len)) = position {
|
||||
self.skip = self.skip.min(len.saturating_sub(MANAGER.layout.preview_height()));
|
||||
}
|
||||
|
||||
if self.same(url, MIME_DIR) {
|
||||
return;
|
||||
} else if !self.same_mime(url, MIME_DIR) {
|
||||
self.skip = 0;
|
||||
self.skip = position.map(|(offset, _)| offset).unwrap_or(0);
|
||||
}
|
||||
|
||||
self.reset(|_| true);
|
||||
|
|
@ -89,7 +89,7 @@ impl Preview {
|
|||
return;
|
||||
};
|
||||
|
||||
if files.is_some() {
|
||||
if position.is_some() {
|
||||
emit!(Files(FilesOp::Full(url, UnboundedReceiverStream::new(rx).collect().await)));
|
||||
return;
|
||||
}
|
||||
|
|
@ -159,10 +159,12 @@ impl Preview {
|
|||
return false;
|
||||
};
|
||||
|
||||
let b = !lock.is_image();
|
||||
if f(lock) {
|
||||
self.lock = None;
|
||||
if !f(lock) {
|
||||
return false;
|
||||
}
|
||||
|
||||
let b = !lock.is_image();
|
||||
self.lock = None;
|
||||
b
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue