2022-04-03 02:11:28 +12:00
|
|
|
use image_hasher::{FilterType, HashAlg};
|
2021-12-14 07:13:53 +13:00
|
|
|
|
2022-07-25 06:48:02 +12:00
|
|
|
use czkawka_core::big_file::SearchMode;
|
2022-01-02 09:07:20 +13:00
|
|
|
use czkawka_core::common_dir_traversal::CheckingMethod;
|
|
|
|
use czkawka_core::duplicate::HashType;
|
2021-12-20 02:45:10 +13:00
|
|
|
|
2021-12-14 07:13:53 +13:00
|
|
|
pub struct HashTypeStruct {
|
|
|
|
pub eng_name: &'static str,
|
|
|
|
pub hash_type: HashType,
|
|
|
|
}
|
2022-06-01 03:52:55 +12:00
|
|
|
|
2021-12-14 07:13:53 +13:00
|
|
|
pub const DUPLICATES_HASH_TYPE_COMBO_BOX: [HashTypeStruct; 3] = [
|
|
|
|
HashTypeStruct {
|
|
|
|
eng_name: "Blake3",
|
|
|
|
hash_type: HashType::Blake3,
|
|
|
|
},
|
2021-12-22 06:44:20 +13:00
|
|
|
HashTypeStruct {
|
|
|
|
eng_name: "CRC32",
|
|
|
|
hash_type: HashType::Crc32,
|
|
|
|
},
|
|
|
|
HashTypeStruct {
|
|
|
|
eng_name: "XXH3",
|
|
|
|
hash_type: HashType::Xxh3,
|
|
|
|
},
|
2021-12-14 07:13:53 +13:00
|
|
|
];
|
2022-06-01 03:52:55 +12:00
|
|
|
|
2021-12-14 07:13:53 +13:00
|
|
|
pub struct CheckMethodStruct {
|
|
|
|
pub eng_name: &'static str,
|
|
|
|
pub check_method: CheckingMethod,
|
|
|
|
}
|
|
|
|
|
2023-04-05 18:08:43 +12:00
|
|
|
pub const DUPLICATES_CHECK_METHOD_COMBO_BOX: [CheckMethodStruct; 4] = [
|
2021-12-14 07:13:53 +13:00
|
|
|
CheckMethodStruct {
|
|
|
|
eng_name: "Hash",
|
|
|
|
check_method: CheckingMethod::Hash,
|
|
|
|
},
|
|
|
|
CheckMethodStruct {
|
|
|
|
eng_name: "Size",
|
|
|
|
check_method: CheckingMethod::Size,
|
|
|
|
},
|
|
|
|
CheckMethodStruct {
|
|
|
|
eng_name: "Name",
|
|
|
|
check_method: CheckingMethod::Name,
|
|
|
|
},
|
2023-04-05 18:08:43 +12:00
|
|
|
CheckMethodStruct {
|
|
|
|
eng_name: "Size and Name",
|
|
|
|
check_method: CheckingMethod::SizeName,
|
|
|
|
},
|
2021-12-14 07:13:53 +13:00
|
|
|
];
|
|
|
|
|
2023-05-08 06:54:05 +12:00
|
|
|
#[derive(Copy, Clone)]
|
|
|
|
pub struct AudioTypeStruct {
|
|
|
|
pub eng_name: &'static str,
|
|
|
|
pub check_method: CheckingMethod,
|
|
|
|
}
|
|
|
|
|
|
|
|
pub const AUDIO_TYPE_CHECK_METHOD_COMBO_BOX: [AudioTypeStruct; 2] = [
|
|
|
|
AudioTypeStruct {
|
|
|
|
eng_name: "Tags",
|
|
|
|
check_method: CheckingMethod::AudioTags,
|
|
|
|
},
|
|
|
|
AudioTypeStruct {
|
|
|
|
eng_name: "Content",
|
|
|
|
check_method: CheckingMethod::AudioContent,
|
|
|
|
},
|
|
|
|
];
|
|
|
|
|
2022-06-05 07:20:21 +12:00
|
|
|
#[derive(Copy, Clone)]
|
|
|
|
pub struct SearchModeStruct {
|
|
|
|
pub eng_name: &'static str,
|
|
|
|
pub check_method: SearchMode,
|
|
|
|
}
|
|
|
|
|
|
|
|
pub const BIG_FILES_CHECK_METHOD_COMBO_BOX: [SearchModeStruct; 2] = [
|
|
|
|
SearchModeStruct {
|
|
|
|
eng_name: "Biggest",
|
|
|
|
check_method: SearchMode::BiggestFiles,
|
|
|
|
},
|
|
|
|
SearchModeStruct {
|
|
|
|
eng_name: "Smallest",
|
|
|
|
check_method: SearchMode::SmallestFiles,
|
|
|
|
},
|
|
|
|
];
|
|
|
|
|
2021-12-14 07:13:53 +13:00
|
|
|
pub struct ImageResizeAlgStruct {
|
|
|
|
pub eng_name: &'static str,
|
|
|
|
pub filter: FilterType,
|
|
|
|
}
|
|
|
|
|
|
|
|
pub const IMAGES_RESIZE_ALGORITHM_COMBO_BOX: [ImageResizeAlgStruct; 5] = [
|
|
|
|
ImageResizeAlgStruct {
|
|
|
|
eng_name: "Lanczos3",
|
|
|
|
filter: FilterType::Lanczos3,
|
|
|
|
},
|
|
|
|
ImageResizeAlgStruct {
|
|
|
|
eng_name: "Nearest",
|
|
|
|
filter: FilterType::Nearest,
|
|
|
|
},
|
|
|
|
ImageResizeAlgStruct {
|
|
|
|
eng_name: "Triangle",
|
|
|
|
filter: FilterType::Triangle,
|
|
|
|
},
|
|
|
|
ImageResizeAlgStruct {
|
|
|
|
eng_name: "Gaussian",
|
|
|
|
filter: FilterType::Gaussian,
|
|
|
|
},
|
|
|
|
ImageResizeAlgStruct {
|
|
|
|
eng_name: "CatmullRom",
|
|
|
|
filter: FilterType::CatmullRom,
|
|
|
|
},
|
|
|
|
];
|
|
|
|
|
|
|
|
pub struct ImageHashTypeStruct {
|
|
|
|
pub eng_name: &'static str,
|
|
|
|
pub hash_alg: HashAlg,
|
|
|
|
}
|
|
|
|
|
|
|
|
pub const IMAGES_HASH_TYPE_COMBO_BOX: [ImageHashTypeStruct; 5] = [
|
|
|
|
ImageHashTypeStruct {
|
|
|
|
eng_name: "Gradient",
|
|
|
|
hash_alg: HashAlg::Gradient,
|
|
|
|
},
|
2021-12-22 06:44:20 +13:00
|
|
|
ImageHashTypeStruct {
|
|
|
|
eng_name: "Mean",
|
|
|
|
hash_alg: HashAlg::Mean,
|
|
|
|
},
|
2021-12-14 07:13:53 +13:00
|
|
|
ImageHashTypeStruct {
|
|
|
|
eng_name: "VertGradient",
|
|
|
|
hash_alg: HashAlg::VertGradient,
|
|
|
|
},
|
|
|
|
ImageHashTypeStruct {
|
2021-12-27 18:11:45 +13:00
|
|
|
eng_name: "Blockhash",
|
2021-12-14 07:13:53 +13:00
|
|
|
hash_alg: HashAlg::Blockhash,
|
|
|
|
},
|
|
|
|
ImageHashTypeStruct {
|
|
|
|
eng_name: "DoubleGradient",
|
|
|
|
hash_alg: HashAlg::DoubleGradient,
|
|
|
|
},
|
|
|
|
];
|
|
|
|
|
|
|
|
pub const IMAGES_HASH_SIZE_COMBO_BOX: [i32; 4] = [8, 16, 32, 64];
|