1
0
Fork 0
mirror of synced 2024-05-04 20:43:35 +12:00

Webp preview workaround remove (#923)

This commit is contained in:
Rafał Mikrut 2023-02-26 17:28:21 +01:00 committed by GitHub
parent 1c76d3426c
commit de9f70310a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 58 deletions

View file

@ -357,9 +357,8 @@ fn generate_cache_for_results(vector_with_path: Vec<(String, String, TreePath)>)
let mut pixbuf = get_pixbuf_from_dynamic_image(&DynamicImage::new_rgb8(1, 1)).unwrap();
let name_lowercase = name.to_lowercase();
let is_heic = HEIC_EXTENSIONS.iter().any(|extension| name_lowercase.ends_with(extension));
let is_webp = name.to_lowercase().ends_with(".webp");
if is_heic || is_webp {
if is_heic {
#[allow(clippy::never_loop)]
'czystka: loop {
#[cfg(feature = "heif")]
@ -381,24 +380,6 @@ fn generate_cache_for_results(vector_with_path: Vec<(String, String, TreePath)>)
};
break 'czystka;
}
if is_webp {
match image::open(&full_path) {
Ok(t) => {
match get_pixbuf_from_dynamic_image(&t) {
Ok(t) => {
pixbuf = t;
}
Err(e) => {
println!("Failed to open image {full_path}, reason {e}");
}
};
}
Err(e) => {
println!("Failed to open image {full_path}, reason {e}");
}
};
break 'czystka;
}
break 'czystka;
}
} else {

View file

@ -575,56 +575,33 @@ fn show_preview(
}
let is_heic;
let is_webp;
if let Some(extension) = Path::new(&name).extension() {
let extension = format!(".{}", extension.to_string_lossy().to_lowercase());
is_heic = HEIC_EXTENSIONS.contains(&extension.as_str());
is_webp = ".webp" == extension;
if !RAW_IMAGE_EXTENSIONS.contains(&extension.as_str()) && !IMAGE_RS_EXTENSIONS.contains(&extension.as_str()) && !is_heic {
break 'dir;
}
} else {
break 'dir;
}
let mut pixbuf = if is_heic || is_webp {
let image = if is_heic {
#[cfg(feature = "heif")]
match get_dynamic_image_from_heic(file_name) {
Ok(t) => t,
Err(e) => {
add_text_to_text_view(
text_view_errors,
flg!(
"preview_image_opening_failure",
generate_translation_hashmap(vec![("name", file_name.to_string()), ("reason", e.to_string())])
)
.as_str(),
);
break 'dir;
}
let mut pixbuf = if cfg!(feature = "heif") && is_heic {
#[cfg(feature = "heif")]
let image = match get_dynamic_image_from_heic(file_name) {
Ok(t) => t,
Err(e) => {
add_text_to_text_view(
text_view_errors,
flg!(
"preview_image_opening_failure",
generate_translation_hashmap(vec![("name", file_name.to_string()), ("reason", e.to_string())])
)
.as_str(),
);
break 'dir;
}
#[cfg(not(feature = "heif"))]
panic!("")
} else if is_webp {
match image::open(file_name) {
Ok(t) => t,
Err(e) => {
add_text_to_text_view(
text_view_errors,
flg!(
"preview_image_opening_failure",
generate_translation_hashmap(vec![("name", file_name.to_string()), ("reason", e.to_string())])
)
.as_str(),
);
break 'dir;
}
}
} else {
panic!("");
};
#[cfg(feature = "heif")]
match get_pixbuf_from_dynamic_image(&image) {
Ok(t) => t,
Err(e) => {
@ -639,6 +616,9 @@ fn show_preview(
break 'dir;
}
}
#[cfg(not(feature = "heif"))]
unreachable!()
} else {
match Pixbuf::from_file(file_name) {
Ok(pixbuf) => pixbuf,