43 lines
2.5 KiB
Rust
43 lines
2.5 KiB
Rust
use gtk::prelude::*;
|
|
|
|
use czkawka_core::similar_images::{get_string_from_similarity, Similarity, SIMILAR_VALUES};
|
|
|
|
use crate::gui_data::GuiData;
|
|
use crate::help_combo_box::IMAGES_HASH_SIZE_COMBO_BOX;
|
|
|
|
pub fn connect_similar_image_size_change(gui_data: &GuiData) {
|
|
let label_similar_images_minimal_similarity = gui_data.main_notebook.label_similar_images_minimal_similarity.clone();
|
|
label_similar_images_minimal_similarity.set_text(&get_string_from_similarity(&Similarity::Similar(SIMILAR_VALUES[0][5]), 8));
|
|
|
|
let combo_box_image_hash_size = gui_data.main_notebook.combo_box_image_hash_size.clone();
|
|
let label_similar_images_minimal_similarity = gui_data.main_notebook.label_similar_images_minimal_similarity.clone();
|
|
let scale_similarity_similar_images = gui_data.main_notebook.scale_similarity_similar_images.clone();
|
|
combo_box_image_hash_size.connect_changed(move |combo_box_image_hash_size| {
|
|
let hash_size_index = combo_box_image_hash_size.active().unwrap() as usize;
|
|
let hash_size = IMAGES_HASH_SIZE_COMBO_BOX[hash_size_index];
|
|
match hash_size {
|
|
8 => {
|
|
scale_similarity_similar_images.set_range(0_f64, SIMILAR_VALUES[0][5] as f64);
|
|
scale_similarity_similar_images.set_fill_level(SIMILAR_VALUES[0][5] as f64);
|
|
label_similar_images_minimal_similarity.set_text(&get_string_from_similarity(&Similarity::Similar(SIMILAR_VALUES[0][5]), 8));
|
|
}
|
|
16 => {
|
|
scale_similarity_similar_images.set_range(0_f64, SIMILAR_VALUES[1][5] as f64);
|
|
scale_similarity_similar_images.set_fill_level(SIMILAR_VALUES[1][5] as f64);
|
|
label_similar_images_minimal_similarity.set_text(&get_string_from_similarity(&Similarity::Similar(SIMILAR_VALUES[1][5]), 16));
|
|
}
|
|
32 => {
|
|
scale_similarity_similar_images.set_range(0_f64, SIMILAR_VALUES[2][5] as f64);
|
|
scale_similarity_similar_images.set_fill_level(SIMILAR_VALUES[2][5] as f64);
|
|
label_similar_images_minimal_similarity.set_text(&get_string_from_similarity(&Similarity::Similar(SIMILAR_VALUES[2][5]), 32));
|
|
}
|
|
64 => {
|
|
scale_similarity_similar_images.set_range(0_f64, SIMILAR_VALUES[3][5] as f64);
|
|
scale_similarity_similar_images.set_fill_level(SIMILAR_VALUES[3][5] as f64);
|
|
label_similar_images_minimal_similarity.set_text(&get_string_from_similarity(&Similarity::Similar(SIMILAR_VALUES[3][5]), 64));
|
|
}
|
|
_ => panic!(),
|
|
}
|
|
});
|
|
}
|