1
0
Fork 0
mirror of synced 2024-05-05 21:13:41 +12:00

Add minimal similarity level (#129)

This commit is contained in:
Rafał Mikrut 2020-12-23 20:10:10 +01:00 committed by GitHub
parent 598aec345e
commit 5672431257
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 36 additions and 9 deletions

View file

@ -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::<Vec<_>>()),
@ -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",

View file

@ -1621,7 +1621,7 @@ Author: Rafał Mikrut
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Similarity level </property>
<property name="label" translatable="yes">Similarity </property>
</object>
<packing>
<property name="expand">False</property>
@ -1629,6 +1629,22 @@ Author: Rafał Mikrut
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="radio_button_similar_images_minimal">
<property name="label" translatable="yes">Minimal</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
<property name="group">radio_button_similar_images_very_high</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="radio_button_similar_images_very_small">
<property name="label" translatable="yes">Very Small</property>
@ -1641,7 +1657,7 @@ Author: Rafał Mikrut
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
<property name="position">2</property>
</packing>
</child>
<child>
@ -1656,7 +1672,7 @@ Author: Rafał Mikrut
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
<property name="position">3</property>
</packing>
</child>
<child>
@ -1671,7 +1687,7 @@ Author: Rafał Mikrut
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
<property name="position">4</property>
</packing>
</child>
<child>
@ -1686,7 +1702,7 @@ Author: Rafał Mikrut
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</property>
<property name="position">5</property>
</packing>
</child>
<child>
@ -1701,7 +1717,7 @@ Author: Rafał Mikrut
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">5</property>
<property name="position">6</property>
</packing>
</child>
</object>

View file

@ -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;

View file

@ -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,

View file

@ -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",