Select longer names by default (#113)
This commit is contained in:
parent
ee3d450552
commit
62e5e8e03e
|
@ -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: >k::Popover, scrolled_window: >k::ScrolledWindow) {
|
||||
let tree_view = get_tree_view(&scrolled_window);
|
||||
let selection = tree_view.get_selection();
|
||||
|
@ -52,7 +55,7 @@ fn popover_reverse(popover: >k::Popover, scrolled_window: >k::ScrolledWindow
|
|||
popover.popdown();
|
||||
}
|
||||
|
||||
fn popover_all_except_oldest(popover: >k::Popover, scrolled_window: >k::ScrolledWindow, column_color: i32, column_modification_as_secs: i32) {
|
||||
fn popover_all_except_oldest(popover: >k::Popover, scrolled_window: >k::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: >k::Popover, scrolled_window: >k::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: >k::Popover, scrolled_window: >k::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: >k::Popover, scrolled_window: >k::Scro
|
|||
|
||||
popover.popdown();
|
||||
}
|
||||
fn popover_all_except_newest(popover: >k::Popover, scrolled_window: >k::ScrolledWindow, column_color: i32, column_modification_as_secs: i32) {
|
||||
fn popover_all_except_newest(popover: >k::Popover, scrolled_window: >k::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: >k::Popover, scrolled_window: >k::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: >k::Popover, scrolled_window: >k::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: >k::Popover, scrolled_window: >k::Scro
|
|||
|
||||
popover.popdown();
|
||||
}
|
||||
fn popover_one_oldest(popover: >k::Popover, scrolled_window: >k::ScrolledWindow, column_color: i32, column_modification_as_secs: i32) {
|
||||
fn popover_one_oldest(popover: >k::Popover, scrolled_window: >k::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: >k::Popover, scrolled_window: >k::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: >k::Popover, scrolled_window: >k::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: >k::Popover, scrolled_window: >k::ScrolledWin
|
|||
|
||||
popover.popdown();
|
||||
}
|
||||
fn popover_one_newest(popover: >k::Popover, scrolled_window: >k::ScrolledWindow, column_color: i32, column_modification_as_secs: i32) {
|
||||
fn popover_one_newest(popover: >k::Popover, scrolled_window: >k::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: >k::Popover, scrolled_window: >k::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: >k::Popover, scrolled_window: >k::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),
|
||||
});
|
||||
|
|
|
@ -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/*");
|
||||
|
|
Loading…
Reference in a new issue