Add minimal similarity level (#129)
This commit is contained in:
parent
598aec345e
commit
5672431257
|
@ -35,6 +35,7 @@ pub enum Similarity {
|
||||||
Medium,
|
Medium,
|
||||||
High,
|
High,
|
||||||
VeryHigh,
|
VeryHigh,
|
||||||
|
Minimal,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Clone)]
|
#[derive(Clone)]
|
||||||
|
@ -409,7 +410,8 @@ impl SimilarImages {
|
||||||
Similarity::Medium => 2,
|
Similarity::Medium => 2,
|
||||||
Similarity::Small => 3,
|
Similarity::Small => 3,
|
||||||
Similarity::VerySmall => 4,
|
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
|
// TODO
|
||||||
|
@ -473,7 +475,8 @@ impl SimilarImages {
|
||||||
2 => Similarity::Medium,
|
2 => Similarity::Medium,
|
||||||
3 => Similarity::Small,
|
3 => Similarity::Small,
|
||||||
4 => Similarity::VerySmall,
|
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<_>>()),
|
.collect::<Vec<_>>()),
|
||||||
|
@ -601,6 +604,7 @@ impl PrintResults for SimilarImages {
|
||||||
|
|
||||||
fn get_string_from_similarity(similarity: &Similarity) -> &str {
|
fn get_string_from_similarity(similarity: &Similarity) -> &str {
|
||||||
match similarity {
|
match similarity {
|
||||||
|
Similarity::Minimal => "Minimal",
|
||||||
Similarity::VerySmall => "Very Small",
|
Similarity::VerySmall => "Very Small",
|
||||||
Similarity::Small => "Small",
|
Similarity::Small => "Small",
|
||||||
Similarity::Medium => "Medium",
|
Similarity::Medium => "Medium",
|
||||||
|
|
|
@ -1621,7 +1621,7 @@ Author: Rafał Mikrut
|
||||||
<object class="GtkLabel">
|
<object class="GtkLabel">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="label" translatable="yes">Similarity level </property>
|
<property name="label" translatable="yes">Similarity </property>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
|
@ -1629,6 +1629,22 @@ Author: Rafał Mikrut
|
||||||
<property name="position">0</property>
|
<property name="position">0</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</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>
|
<child>
|
||||||
<object class="GtkRadioButton" id="radio_button_similar_images_very_small">
|
<object class="GtkRadioButton" id="radio_button_similar_images_very_small">
|
||||||
<property name="label" translatable="yes">Very Small</property>
|
<property name="label" translatable="yes">Very Small</property>
|
||||||
|
@ -1641,7 +1657,7 @@ Author: Rafał Mikrut
|
||||||
<packing>
|
<packing>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
<property name="fill">True</property>
|
<property name="fill">True</property>
|
||||||
<property name="position">1</property>
|
<property name="position">2</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
|
@ -1656,7 +1672,7 @@ Author: Rafał Mikrut
|
||||||
<packing>
|
<packing>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
<property name="fill">True</property>
|
<property name="fill">True</property>
|
||||||
<property name="position">2</property>
|
<property name="position">3</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
|
@ -1671,7 +1687,7 @@ Author: Rafał Mikrut
|
||||||
<packing>
|
<packing>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
<property name="fill">True</property>
|
<property name="fill">True</property>
|
||||||
<property name="position">3</property>
|
<property name="position">4</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
|
@ -1686,7 +1702,7 @@ Author: Rafał Mikrut
|
||||||
<packing>
|
<packing>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
<property name="fill">True</property>
|
<property name="fill">True</property>
|
||||||
<property name="position">4</property>
|
<property name="position">5</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
|
@ -1701,7 +1717,7 @@ Author: Rafał Mikrut
|
||||||
<packing>
|
<packing>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
<property name="fill">True</property>
|
<property name="fill">True</property>
|
||||||
<property name="position">5</property>
|
<property name="position">6</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
|
|
|
@ -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_size = gui_data.radio_button_duplicates_size.clone();
|
||||||
let radio_button_duplicates_hashmb = gui_data.radio_button_duplicates_hashmb.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_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_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_small = gui_data.radio_button_similar_images_small.clone();
|
||||||
let radio_button_similar_images_medium = gui_data.radio_button_similar_images_medium.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;
|
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;
|
similarity = similar_images::Similarity::VerySmall;
|
||||||
} else if radio_button_similar_images_small.get_active() {
|
} else if radio_button_similar_images_small.get_active() {
|
||||||
similarity = similar_images::Similarity::Small;
|
similarity = similar_images::Similarity::Small;
|
||||||
|
|
|
@ -114,6 +114,7 @@ pub struct GuiData {
|
||||||
pub radio_button_duplicates_hashmb: gtk::RadioButton,
|
pub radio_button_duplicates_hashmb: gtk::RadioButton,
|
||||||
pub radio_button_duplicates_hash: 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_very_small: gtk::RadioButton,
|
||||||
pub radio_button_similar_images_small: gtk::RadioButton,
|
pub radio_button_similar_images_small: gtk::RadioButton,
|
||||||
pub radio_button_similar_images_medium: 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_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_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_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_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();
|
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_size,
|
||||||
radio_button_duplicates_hashmb,
|
radio_button_duplicates_hashmb,
|
||||||
radio_button_duplicates_hash,
|
radio_button_duplicates_hash,
|
||||||
|
radio_button_similar_images_minimal,
|
||||||
radio_button_similar_images_very_small,
|
radio_button_similar_images_very_small,
|
||||||
radio_button_similar_images_small,
|
radio_button_similar_images_small,
|
||||||
radio_button_similar_images_medium,
|
radio_button_similar_images_medium,
|
||||||
|
|
|
@ -250,6 +250,7 @@ pub fn hide_all_buttons(buttons_array: &[gtk::Button]) {
|
||||||
pub fn get_text_from_similarity(similarity: &Similarity) -> &str {
|
pub fn get_text_from_similarity(similarity: &Similarity) -> &str {
|
||||||
match similarity {
|
match similarity {
|
||||||
Similarity::None => "Original",
|
Similarity::None => "Original",
|
||||||
|
Similarity::Minimal => "Original",
|
||||||
Similarity::VerySmall => "Very Small",
|
Similarity::VerySmall => "Very Small",
|
||||||
Similarity::Small => "Small",
|
Similarity::Small => "Small",
|
||||||
Similarity::Medium => "Medium",
|
Similarity::Medium => "Medium",
|
||||||
|
|
Loading…
Reference in a new issue