Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add minimal similarity level #129

Merged
merged 1 commit into from
Dec 23, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions czkawka_core/src/similar_images.rs
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ pub enum Similarity {
Medium,
High,
VeryHigh,
Minimal,
}

#[derive(Clone)]
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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<_>>()),
Expand Down Expand Up @@ -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",
Expand Down
28 changes: 22 additions & 6 deletions czkawka_gui/czkawka.glade
Original file line number Diff line number Diff line change
Expand Up @@ -1621,14 +1621,30 @@ 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>
<property name="fill">True</property>
<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>
Expand All @@ -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>
Expand All @@ -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>
Expand All @@ -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>
Expand All @@ -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>
Expand All @@ -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>
Expand Down
5 changes: 4 additions & 1 deletion czkawka_gui/src/connect_button_search.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down Expand Up @@ -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;
Expand Down
3 changes: 3 additions & 0 deletions czkawka_gui/src/gui_data.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down Expand Up @@ -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();
Expand Down Expand Up @@ -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,
Expand Down
1 change: 1 addition & 0 deletions czkawka_gui/src/help_functions.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down