diff --git a/czkawka_core/src/similar_images.rs b/czkawka_core/src/similar_images.rs index 0bebaf1..65c8ef9 100644 --- a/czkawka_core/src/similar_images.rs +++ b/czkawka_core/src/similar_images.rs @@ -35,6 +35,7 @@ pub enum Similarity { Medium, High, VeryHigh, + Minimal, } #[derive(Clone)] @@ -409,7 +410,8 @@ impl SimilarImages { Similarity::Medium => 2, Similarity::Small => 3, Similarity::VerySmall => 4, - _ => panic!("0-4 similarity levels are allowed, check if not added more."), + Similarity::Minimal => 5, + _ => panic!("0-5 similarity levels are allowed, check if not added more."), }; // TODO @@ -473,7 +475,8 @@ impl SimilarImages { 2 => Similarity::Medium, 3 => Similarity::Small, 4 => Similarity::VerySmall, - _ => panic!("0-4 similarity levels are allowed, check if not added more."), + 5 => Similarity::Minimal, + _ => panic!("0-5 similarity levels are allowed, check if not added more."), }, }) .collect::>()), @@ -601,6 +604,7 @@ impl PrintResults for SimilarImages { fn get_string_from_similarity(similarity: &Similarity) -> &str { match similarity { + Similarity::Minimal => "Minimal", Similarity::VerySmall => "Very Small", Similarity::Small => "Small", Similarity::Medium => "Medium", diff --git a/czkawka_gui/czkawka.glade b/czkawka_gui/czkawka.glade index c978bb7..bdb192f 100644 --- a/czkawka_gui/czkawka.glade +++ b/czkawka_gui/czkawka.glade @@ -1621,7 +1621,7 @@ Author: Rafał Mikrut True False - Similarity level + Similarity False @@ -1629,6 +1629,22 @@ Author: Rafał Mikrut 0 + + + Minimal + True + True + False + True + True + radio_button_similar_images_very_high + + + False + True + 1 + + Very Small @@ -1641,7 +1657,7 @@ Author: Rafał Mikrut False True - 1 + 2 @@ -1656,7 +1672,7 @@ Author: Rafał Mikrut False True - 2 + 3 @@ -1671,7 +1687,7 @@ Author: Rafał Mikrut False True - 3 + 4 @@ -1686,7 +1702,7 @@ Author: Rafał Mikrut False True - 4 + 5 @@ -1701,7 +1717,7 @@ Author: Rafał Mikrut False True - 5 + 6 diff --git a/czkawka_gui/src/connect_button_search.rs b/czkawka_gui/src/connect_button_search.rs index 1cf608c..26d199e 100644 --- a/czkawka_gui/src/connect_button_search.rs +++ b/czkawka_gui/src/connect_button_search.rs @@ -49,6 +49,7 @@ pub fn connect_button_search( let radio_button_duplicates_size = gui_data.radio_button_duplicates_size.clone(); let radio_button_duplicates_hashmb = gui_data.radio_button_duplicates_hashmb.clone(); let radio_button_duplicates_hash = gui_data.radio_button_duplicates_hash.clone(); + let radio_button_similar_images_minimal = gui_data.radio_button_similar_images_minimal.clone(); let radio_button_similar_images_very_small = gui_data.radio_button_similar_images_very_small.clone(); let radio_button_similar_images_small = gui_data.radio_button_similar_images_small.clone(); let radio_button_similar_images_medium = gui_data.radio_button_similar_images_medium.clone(); @@ -263,7 +264,9 @@ pub fn connect_button_search( }; let similarity; - if radio_button_similar_images_very_small.get_active() { + if radio_button_similar_images_minimal.get_active() { + similarity = similar_images::Similarity::Minimal; + } else if radio_button_similar_images_very_small.get_active() { similarity = similar_images::Similarity::VerySmall; } else if radio_button_similar_images_small.get_active() { similarity = similar_images::Similarity::Small; diff --git a/czkawka_gui/src/gui_data.rs b/czkawka_gui/src/gui_data.rs index 8595e7f..c1b8458 100644 --- a/czkawka_gui/src/gui_data.rs +++ b/czkawka_gui/src/gui_data.rs @@ -114,6 +114,7 @@ pub struct GuiData { pub radio_button_duplicates_hashmb: gtk::RadioButton, pub radio_button_duplicates_hash: gtk::RadioButton, + pub radio_button_similar_images_minimal: gtk::RadioButton, pub radio_button_similar_images_very_small: gtk::RadioButton, pub radio_button_similar_images_small: gtk::RadioButton, pub radio_button_similar_images_medium: gtk::RadioButton, @@ -329,6 +330,7 @@ impl GuiData { let radio_button_duplicates_hashmb: gtk::RadioButton = builder.get_object("radio_button_duplicates_hashmb").unwrap(); let radio_button_duplicates_hash: gtk::RadioButton = builder.get_object("radio_button_duplicates_hash").unwrap(); + let radio_button_similar_images_minimal: gtk::RadioButton = builder.get_object("radio_button_similar_images_minimal").unwrap(); let radio_button_similar_images_very_small: gtk::RadioButton = builder.get_object("radio_button_similar_images_very_small").unwrap(); let radio_button_similar_images_small: gtk::RadioButton = builder.get_object("radio_button_similar_images_small").unwrap(); let radio_button_similar_images_medium: gtk::RadioButton = builder.get_object("radio_button_similar_images_medium").unwrap(); @@ -473,6 +475,7 @@ impl GuiData { radio_button_duplicates_size, radio_button_duplicates_hashmb, radio_button_duplicates_hash, + radio_button_similar_images_minimal, radio_button_similar_images_very_small, radio_button_similar_images_small, radio_button_similar_images_medium, diff --git a/czkawka_gui/src/help_functions.rs b/czkawka_gui/src/help_functions.rs index 93cda23..f86bbe0 100644 --- a/czkawka_gui/src/help_functions.rs +++ b/czkawka_gui/src/help_functions.rs @@ -250,6 +250,7 @@ pub fn hide_all_buttons(buttons_array: &[gtk::Button]) { pub fn get_text_from_similarity(similarity: &Similarity) -> &str { match similarity { Similarity::None => "Original", + Similarity::Minimal => "Original", Similarity::VerySmall => "Very Small", Similarity::Small => "Small", Similarity::Medium => "Medium",