This commit is contained in:
sxyazi 2024-04-13 10:32:34 +08:00
parent aa0db9af57
commit 2979efb98e
No known key found for this signature in database
4 changed files with 12 additions and 5 deletions

View file

@ -157,7 +157,11 @@ impl Files {
self.sizes.extend(sizes);
}
pub fn update_ioerr(&mut self) { todo!() }
pub fn update_ioerr(&mut self) {
self.ticket = FILES_TICKET.fetch_add(1, Ordering::Relaxed);
self.hidden.clear();
self.items.clear();
}
pub fn update_creating(&mut self, files: Vec<File>) {
if files.is_empty() {

View file

@ -28,7 +28,7 @@ impl From<&Url> for Folder {
impl Folder {
pub fn update(&mut self, op: FilesOp) -> bool {
let revision = self.files.revision;
let (stage, revision) = (self.stage, self.files.revision);
match op {
FilesOp::Full(_, _, mtime) => {
(self.mtime, self.stage) = (mtime, FolderStage::Loaded);
@ -39,6 +39,9 @@ impl Folder {
FilesOp::Done(_, mtime, ticket) if ticket == self.files.ticket() => {
(self.mtime, self.stage) = (mtime, FolderStage::Loaded);
}
FilesOp::IOErr(_, kind) => {
(self.mtime, self.stage) = (None, FolderStage::Failed(kind));
}
_ => {}
}
@ -56,7 +59,7 @@ impl Folder {
}
self.arrow(0);
self.files.revision != revision
(stage, revision) != (self.stage, self.files.revision)
}
pub fn arrow(&mut self, step: impl Into<Step>) -> bool {

View file

@ -3,5 +3,5 @@ pub enum FolderStage {
#[default]
Loading,
Loaded,
Failed,
Failed(std::io::ErrorKind),
}

View file

@ -56,7 +56,7 @@ impl Folder {
lua.create_string(match me {
Loading => "loading",
Loaded => "loaded",
Failed => "failed",
Failed(_) => "failed",
})
});
})?;