Skip to content

Select longer names by default #113

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

Merged
merged 1 commit into from
Dec 12, 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
130 changes: 110 additions & 20 deletions czkawka_gui/src/connect_popovers.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ use crate::help_functions::*;
use gtk::prelude::*;
use gtk::TreeIter;

// File length variable allows users to choose duplicates which have shorter file name
// e.g. 'tar.gz' will be selected instead 'tar.gz (copy)' etc.

fn popover_select_all(popover: &gtk::Popover, scrolled_window: &gtk::ScrolledWindow) {
let tree_view = get_tree_view(&scrolled_window);
let selection = tree_view.get_selection();
Expand Down Expand Up @@ -52,7 +55,7 @@ fn popover_reverse(popover: &gtk::Popover, scrolled_window: &gtk::ScrolledWindow
popover.popdown();
}

fn popover_all_except_oldest(popover: &gtk::Popover, scrolled_window: &gtk::ScrolledWindow, column_color: i32, column_modification_as_secs: i32) {
fn popover_all_except_oldest(popover: &gtk::Popover, scrolled_window: &gtk::ScrolledWindow, column_color: i32, column_modification_as_secs: i32, column_file_name: i32) {
let tree_view = get_tree_view(&scrolled_window);
let selection = tree_view.get_selection();
let tree_model = tree_view.get_model().unwrap();
Expand All @@ -67,6 +70,8 @@ fn popover_all_except_oldest(popover: &gtk::Popover, scrolled_window: &gtk::Scro
let mut current_index: usize = 0;
let mut oldest_modification_time: u64 = u64::max_value();

let mut file_length: usize = 0;

loop {
let color = tree_model.get_value(&tree_iter_all, column_color).get::<String>().unwrap().unwrap();
if color == HEADER_ROW_COLOR {
Expand All @@ -77,7 +82,9 @@ fn popover_all_except_oldest(popover: &gtk::Popover, scrolled_window: &gtk::Scro
}
tree_iter_array.push(tree_iter_all.clone());
let modification = tree_model.get_value(&tree_iter_all, column_modification_as_secs).get::<u64>().unwrap().unwrap();
if modification < oldest_modification_time {
let current_file_length = tree_model.get_value(&tree_iter_all, column_file_name).get::<String>().unwrap().unwrap().len();
if modification < oldest_modification_time || (modification == oldest_modification_time && current_file_length < file_length) {
file_length = current_file_length;
oldest_modification_time = modification;
oldest_index = Some(current_index);
}
Expand Down Expand Up @@ -107,7 +114,7 @@ fn popover_all_except_oldest(popover: &gtk::Popover, scrolled_window: &gtk::Scro

popover.popdown();
}
fn popover_all_except_newest(popover: &gtk::Popover, scrolled_window: &gtk::ScrolledWindow, column_color: i32, column_modification_as_secs: i32) {
fn popover_all_except_newest(popover: &gtk::Popover, scrolled_window: &gtk::ScrolledWindow, column_color: i32, column_modification_as_secs: i32, column_file_name: i32) {
let tree_view = get_tree_view(&scrolled_window);
let selection = tree_view.get_selection();
let tree_model = tree_view.get_model().unwrap();
Expand All @@ -122,6 +129,8 @@ fn popover_all_except_newest(popover: &gtk::Popover, scrolled_window: &gtk::Scro
let mut current_index: usize = 0;
let mut newest_modification_time: u64 = 0;

let mut file_length: usize = 0;

loop {
let color = tree_model.get_value(&tree_iter_all, column_color).get::<String>().unwrap().unwrap();
if color == HEADER_ROW_COLOR {
Expand All @@ -132,7 +141,9 @@ fn popover_all_except_newest(popover: &gtk::Popover, scrolled_window: &gtk::Scro
}
tree_iter_array.push(tree_iter_all.clone());
let modification = tree_model.get_value(&tree_iter_all, column_modification_as_secs).get::<u64>().unwrap().unwrap();
if modification > newest_modification_time {
let current_file_length = tree_model.get_value(&tree_iter_all, column_file_name).get::<String>().unwrap().unwrap().len();
if modification > newest_modification_time || (modification == newest_modification_time && current_file_length < file_length) {
file_length = current_file_length;
newest_modification_time = modification;
newest_index = Some(current_index);
}
Expand Down Expand Up @@ -162,7 +173,7 @@ fn popover_all_except_newest(popover: &gtk::Popover, scrolled_window: &gtk::Scro

popover.popdown();
}
fn popover_one_oldest(popover: &gtk::Popover, scrolled_window: &gtk::ScrolledWindow, column_color: i32, column_modification_as_secs: i32) {
fn popover_one_oldest(popover: &gtk::Popover, scrolled_window: &gtk::ScrolledWindow, column_color: i32, column_modification_as_secs: i32, column_file_name: i32) {
let tree_view = get_tree_view(&scrolled_window);
let selection = tree_view.get_selection();
let tree_model = tree_view.get_model().unwrap();
Expand All @@ -177,6 +188,8 @@ fn popover_one_oldest(popover: &gtk::Popover, scrolled_window: &gtk::ScrolledWin
let mut current_index: usize = 0;
let mut oldest_modification_time: u64 = u64::max_value();

let mut file_length: usize = 0;

loop {
let color = tree_model.get_value(&tree_iter_all, column_color).get::<String>().unwrap().unwrap();
if color == HEADER_ROW_COLOR {
Expand All @@ -187,7 +200,9 @@ fn popover_one_oldest(popover: &gtk::Popover, scrolled_window: &gtk::ScrolledWin
}
tree_iter_array.push(tree_iter_all.clone());
let modification = tree_model.get_value(&tree_iter_all, column_modification_as_secs).get::<u64>().unwrap().unwrap();
if modification < oldest_modification_time {
let current_file_length = tree_model.get_value(&tree_iter_all, column_file_name).get::<String>().unwrap().unwrap().len();
if modification < oldest_modification_time || (modification == oldest_modification_time && current_file_length > file_length) {
file_length = current_file_length;
oldest_modification_time = modification;
oldest_index = Some(current_index);
}
Expand Down Expand Up @@ -217,7 +232,7 @@ fn popover_one_oldest(popover: &gtk::Popover, scrolled_window: &gtk::ScrolledWin

popover.popdown();
}
fn popover_one_newest(popover: &gtk::Popover, scrolled_window: &gtk::ScrolledWindow, column_color: i32, column_modification_as_secs: i32) {
fn popover_one_newest(popover: &gtk::Popover, scrolled_window: &gtk::ScrolledWindow, column_color: i32, column_modification_as_secs: i32, column_file_name: i32) {
let tree_view = get_tree_view(&scrolled_window);
let selection = tree_view.get_selection();
let tree_model = tree_view.get_model().unwrap();
Expand All @@ -232,6 +247,7 @@ fn popover_one_newest(popover: &gtk::Popover, scrolled_window: &gtk::ScrolledWin
let mut current_index: usize = 0;
let mut newest_modification_time: u64 = 0;

let mut file_length: usize = 0;
loop {
let color = tree_model.get_value(&tree_iter_all, column_color).get::<String>().unwrap().unwrap();
if color == HEADER_ROW_COLOR {
Expand All @@ -242,7 +258,9 @@ fn popover_one_newest(popover: &gtk::Popover, scrolled_window: &gtk::ScrolledWin
}
tree_iter_array.push(tree_iter_all.clone());
let modification = tree_model.get_value(&tree_iter_all, column_modification_as_secs).get::<u64>().unwrap().unwrap();
if modification > newest_modification_time {
let current_file_length = tree_model.get_value(&tree_iter_all, column_file_name).get::<String>().unwrap().unwrap().len();
if modification > newest_modification_time || (modification == newest_modification_time && current_file_length > file_length) {
file_length = current_file_length;
newest_modification_time = modification;
newest_index = Some(current_index);
}
Expand Down Expand Up @@ -445,13 +463,31 @@ pub fn connect_all_except_oldest(gui_data: &GuiData) {
let buttons_popover_duplicate_select_all_except_oldest = gui_data.buttons_popover_duplicate_select_all_except_oldest.clone();
buttons_popover_duplicate_select_all_except_oldest.connect_clicked(move |_| match notebook_main_children_names.get(notebook_main.get_current_page().unwrap() as usize).unwrap().as_str() {
"notebook_main_duplicate_finder_label" => {
popover_all_except_oldest(&popover_select_duplicate, &scrolled_window_duplicate_finder, ColumnsDuplicates::Color as i32, ColumnsDuplicates::ModificationAsSecs as i32);
popover_all_except_oldest(
&popover_select_duplicate,
&scrolled_window_duplicate_finder,
ColumnsDuplicates::Color as i32,
ColumnsDuplicates::ModificationAsSecs as i32,
ColumnsDuplicates::Name as i32,
);
}
"notebook_main_same_music_finder" => {
popover_all_except_oldest(&popover_select_duplicate, &scrolled_window_same_music_finder, ColumnsSameMusic::Color as i32, ColumnsSameMusic::ModificationAsSecs as i32);
popover_all_except_oldest(
&popover_select_duplicate,
&scrolled_window_same_music_finder,
ColumnsSameMusic::Color as i32,
ColumnsSameMusic::ModificationAsSecs as i32,
ColumnsSameMusic::Name as i32,
);
}
"notebook_main_similar_images_finder_label" => {
popover_all_except_oldest(&popover_select_duplicate, &scrolled_window_similar_images_finder, ColumnsSimilarImages::Color as i32, ColumnsSimilarImages::ModificationAsSecs as i32);
popover_all_except_oldest(
&popover_select_duplicate,
&scrolled_window_similar_images_finder,
ColumnsSimilarImages::Color as i32,
ColumnsSimilarImages::ModificationAsSecs as i32,
ColumnsSimilarImages::Name as i32,
);
}
e => panic!("Not existent {}", e),
});
Expand All @@ -467,13 +503,31 @@ pub fn connect_all_except_newest(gui_data: &GuiData) {
let buttons_popover_duplicate_select_all_except_newest = gui_data.buttons_popover_duplicate_select_all_except_newest.clone();
buttons_popover_duplicate_select_all_except_newest.connect_clicked(move |_| match notebook_main_children_names.get(notebook_main.get_current_page().unwrap() as usize).unwrap().as_str() {
"notebook_main_duplicate_finder_label" => {
popover_all_except_newest(&popover_select_duplicate, &scrolled_window_duplicate_finder, ColumnsDuplicates::Color as i32, ColumnsDuplicates::ModificationAsSecs as i32);
popover_all_except_newest(
&popover_select_duplicate,
&scrolled_window_duplicate_finder,
ColumnsDuplicates::Color as i32,
ColumnsDuplicates::ModificationAsSecs as i32,
ColumnsDuplicates::Name as i32,
);
}
"notebook_main_same_music_finder" => {
popover_all_except_newest(&popover_select_duplicate, &scrolled_window_same_music_finder, ColumnsSameMusic::Color as i32, ColumnsSameMusic::ModificationAsSecs as i32);
popover_all_except_newest(
&popover_select_duplicate,
&scrolled_window_same_music_finder,
ColumnsSameMusic::Color as i32,
ColumnsSameMusic::ModificationAsSecs as i32,
ColumnsSameMusic::Name as i32,
);
}
"notebook_main_similar_images_finder_label" => {
popover_all_except_newest(&popover_select_duplicate, &scrolled_window_similar_images_finder, ColumnsSimilarImages::Color as i32, ColumnsSimilarImages::ModificationAsSecs as i32);
popover_all_except_newest(
&popover_select_duplicate,
&scrolled_window_similar_images_finder,
ColumnsSimilarImages::Color as i32,
ColumnsSimilarImages::ModificationAsSecs as i32,
ColumnsSimilarImages::Name as i32,
);
}
e => panic!("Not existent {}", e),
});
Expand All @@ -489,13 +543,31 @@ pub fn connect_one_newest(gui_data: &GuiData) {
let buttons_popover_duplicate_select_one_newest = gui_data.buttons_popover_duplicate_select_one_newest.clone();
buttons_popover_duplicate_select_one_newest.connect_clicked(move |_| match notebook_main_children_names.get(notebook_main.get_current_page().unwrap() as usize).unwrap().as_str() {
"notebook_main_duplicate_finder_label" => {
popover_one_newest(&popover_select_duplicate, &scrolled_window_duplicate_finder, ColumnsDuplicates::Color as i32, ColumnsDuplicates::ModificationAsSecs as i32);
popover_one_newest(
&popover_select_duplicate,
&scrolled_window_duplicate_finder,
ColumnsDuplicates::Color as i32,
ColumnsDuplicates::ModificationAsSecs as i32,
ColumnsDuplicates::Name as i32,
);
}
"notebook_main_same_music_finder" => {
popover_one_newest(&popover_select_duplicate, &scrolled_window_same_music_finder, ColumnsSameMusic::Color as i32, ColumnsSameMusic::ModificationAsSecs as i32);
popover_one_newest(
&popover_select_duplicate,
&scrolled_window_same_music_finder,
ColumnsSameMusic::Color as i32,
ColumnsSameMusic::ModificationAsSecs as i32,
ColumnsSameMusic::Name as i32,
);
}
"notebook_main_similar_images_finder_label" => {
popover_one_newest(&popover_select_duplicate, &scrolled_window_similar_images_finder, ColumnsSimilarImages::Color as i32, ColumnsSimilarImages::ModificationAsSecs as i32);
popover_one_newest(
&popover_select_duplicate,
&scrolled_window_similar_images_finder,
ColumnsSimilarImages::Color as i32,
ColumnsSimilarImages::ModificationAsSecs as i32,
ColumnsSimilarImages::Name as i32,
);
}
e => panic!("Not existent {}", e),
});
Expand All @@ -511,13 +583,31 @@ pub fn connect_one_oldest(gui_data: &GuiData) {
let buttons_popover_duplicate_select_one_oldest = gui_data.buttons_popover_duplicate_select_one_oldest.clone();
buttons_popover_duplicate_select_one_oldest.connect_clicked(move |_| match notebook_main_children_names.get(notebook_main.get_current_page().unwrap() as usize).unwrap().as_str() {
"notebook_main_duplicate_finder_label" => {
popover_one_oldest(&popover_select_duplicate, &scrolled_window_duplicate_finder, ColumnsDuplicates::Color as i32, ColumnsDuplicates::ModificationAsSecs as i32);
popover_one_oldest(
&popover_select_duplicate,
&scrolled_window_duplicate_finder,
ColumnsDuplicates::Color as i32,
ColumnsDuplicates::ModificationAsSecs as i32,
ColumnsDuplicates::Name as i32,
);
}
"notebook_main_same_music_finder" => {
popover_one_oldest(&popover_select_duplicate, &scrolled_window_same_music_finder, ColumnsSameMusic::Color as i32, ColumnsSameMusic::ModificationAsSecs as i32);
popover_one_oldest(
&popover_select_duplicate,
&scrolled_window_same_music_finder,
ColumnsSameMusic::Color as i32,
ColumnsSameMusic::ModificationAsSecs as i32,
ColumnsSameMusic::Name as i32,
);
}
"notebook_main_similar_images_finder_label" => {
popover_one_oldest(&popover_select_duplicate, &scrolled_window_similar_images_finder, ColumnsSimilarImages::Color as i32, ColumnsSimilarImages::ModificationAsSecs as i32);
popover_one_oldest(
&popover_select_duplicate,
&scrolled_window_similar_images_finder,
ColumnsSimilarImages::Color as i32,
ColumnsSimilarImages::ModificationAsSecs as i32,
ColumnsSimilarImages::Name as i32,
);
}
e => panic!("Not existent {}", e),
});
Expand Down
2 changes: 1 addition & 1 deletion czkawka_gui/src/saving_loading.rs
Original file line number Diff line number Diff line change
Expand Up @@ -331,7 +331,7 @@ pub fn reset_configuration(gui_data: &GuiData, manual_clearing: bool) {
{
let entry_excluded_items = gui_data.entry_excluded_items.clone();
if cfg!(target_family = "unix") {
entry_excluded_items.set_text("*/.git/*,*/node_modules/*,*/lost+found/*,*/Trash/*");
entry_excluded_items.set_text("*/.git/*,*/node_modules/*,*/lost+found/*,*/Trash/*,*/.Trash-*/*");
}
if cfg!(target_family = "windows") {
entry_excluded_items.set_text("*/.git/*,*/node_modules/*,*/lost+found/*,*:/windows/*");
Expand Down