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

Select longer names by default (#113)

This commit is contained in:
Rafał Mikrut 2020-12-12 12:09:03 +01:00 committed by GitHub
parent ee3d450552
commit 62e5e8e03e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 111 additions and 21 deletions

View file

@ -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();
@ -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();
@ -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 {
@ -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);
}
@ -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();
@ -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 {
@ -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);
}
@ -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();
@ -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 {
@ -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);
}
@ -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();
@ -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 {
@ -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);
}
@ -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),
});
@ -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),
});
@ -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),
});
@ -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),
});

View file

@ -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/*");