try handle as file first

This commit is contained in:
yggverse 2025-02-13 10:11:21 +02:00
parent 0574ab81fd
commit 93da67aa7e

View File

@ -22,17 +22,20 @@ impl File {
prelude::FileExtManual,
};
// try handle as directory
File::for_uri(&uri.to_string()).enumerate_children_async(
"standard::content-type",
FileQueryInfoFlags::NONE,
Priority::DEFAULT,
Some(&cancellable),
{
// try handle as file
File::for_uri(&uri.to_string()).load_contents_async(Some(&cancellable), {
let cancellable = cancellable.clone();
let uri = uri.clone();
let _page = self.page.clone();
move |result| match result {
Ok(_) => todo!(),
// is not a file, try handle as directory
Err(_) => File::for_uri(&uri.to_string()).enumerate_children_async(
"standard::content-type",
FileQueryInfoFlags::NONE,
Priority::DEFAULT,
Some(&cancellable),
|result| match result {
Ok(file_enumerator) => {
for entry in file_enumerator {
match entry {
@ -50,16 +53,11 @@ impl File {
}
}
}
// is not a directory, try handle as file
Err(_) => File::for_uri(&uri.to_string()).load_contents_async(
Some(&cancellable),
|result| match result {
Ok(_) => todo!(),
Err(_) => todo!(),
},
),
}
},
)
});
}
}