mirror of
https://github.com/sxyazi/yazi.git
synced 2026-07-22 15:21:04 +00:00
fix: sort and hidden commands should update mime-type for paged files promptly
This commit is contained in:
parent
9bdbc55117
commit
b229c8a5e3
8 changed files with 13 additions and 11 deletions
|
|
@ -94,7 +94,7 @@ impl Folder {
|
|||
|
||||
let new = self.cursor / limit;
|
||||
if mem::replace(&mut self.page, new) != new || force {
|
||||
Manager::_update_pages_by(new, &self.cwd);
|
||||
Manager::_update_paged_by(new, &self.cwd);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -17,5 +17,5 @@ mod tab_swap;
|
|||
mod tab_switch;
|
||||
mod update_files;
|
||||
mod update_mimetype;
|
||||
mod update_pages;
|
||||
mod update_paged;
|
||||
mod yank;
|
||||
|
|
|
|||
|
|
@ -23,6 +23,6 @@ impl Manager {
|
|||
}
|
||||
|
||||
self.hover(None);
|
||||
self.update_pages((), tasks);
|
||||
self.update_paged((), tasks);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ impl Manager {
|
|||
if self.current_mut().update(op) {
|
||||
self.current_mut().repos(hovered.as_ref());
|
||||
Self::_hover(None); // Re-hover in next loop
|
||||
Self::_update_pages(); // Update for paged files in next loop
|
||||
Self::_update_paged(); // Update for paged files in next loop
|
||||
}
|
||||
|
||||
if calc {
|
||||
|
|
|
|||
|
|
@ -23,19 +23,19 @@ impl From<()> for Opt {
|
|||
|
||||
impl Manager {
|
||||
#[inline]
|
||||
pub fn _update_pages() {
|
||||
emit!(Call(Exec::call("update_pages", vec![]).vec(), Layer::Manager));
|
||||
pub fn _update_paged() {
|
||||
emit!(Call(Exec::call("update_paged", vec![]).vec(), Layer::Manager));
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn _update_pages_by(page: usize, only_if: &Url) {
|
||||
pub fn _update_paged_by(page: usize, only_if: &Url) {
|
||||
emit!(Call(
|
||||
Exec::call("update_pages", vec![page.to_string()]).with("only-if", only_if.to_string()).vec(),
|
||||
Exec::call("update_paged", vec![page.to_string()]).with("only-if", only_if.to_string()).vec(),
|
||||
Layer::Manager
|
||||
));
|
||||
}
|
||||
|
||||
pub fn update_pages(&mut self, opt: impl TryInto<Opt>, tasks: &Tasks) {
|
||||
pub fn update_paged(&mut self, opt: impl TryInto<Opt>, tasks: &Tasks) {
|
||||
let Ok(opt) = opt.try_into() else {
|
||||
return;
|
||||
};
|
||||
|
|
@ -18,5 +18,6 @@ impl Tab {
|
|||
} else if self.current.hovered().is_some_and(|f| f.is_dir()) {
|
||||
Manager::_peek(true);
|
||||
}
|
||||
Manager::_update_paged();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ use std::str::FromStr;
|
|||
use yazi_config::manager::SortBy;
|
||||
use yazi_shared::event::Exec;
|
||||
|
||||
use crate::tab::Tab;
|
||||
use crate::{manager::Manager, tab::Tab};
|
||||
|
||||
impl Tab {
|
||||
pub fn sort(&mut self, e: &Exec) {
|
||||
|
|
@ -15,5 +15,6 @@ impl Tab {
|
|||
self.conf.sort_dir_first = e.named.contains_key("dir-first");
|
||||
|
||||
self.apply_files_attrs();
|
||||
Manager::_update_paged();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -108,7 +108,7 @@ impl<'a> Executor<'a> {
|
|||
|
||||
on!(MANAGER, update_files, &self.app.cx.tasks);
|
||||
on!(MANAGER, update_mimetype, &self.app.cx.tasks);
|
||||
on!(MANAGER, update_pages, &self.app.cx.tasks);
|
||||
on!(MANAGER, update_paged, &self.app.cx.tasks);
|
||||
on!(MANAGER, hover);
|
||||
on!(MANAGER, peek);
|
||||
on!(MANAGER, seek);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue