diff --git a/czkawka_core/src/duplicate.rs b/czkawka_core/src/duplicate.rs index 5a25acd..a958ec7 100644 --- a/czkawka_core/src/duplicate.rs +++ b/czkawka_core/src/duplicate.rs @@ -75,6 +75,8 @@ impl DuplicateFinder { if *check_method == CheckingMethod::HASH { self.check_files_hash(); } + println!("FF"); + self.debug_print(); self.calculate_lost_space(check_method); self.print_duplicated_entries(check_method); self.delete_files(check_method, delete_method); @@ -99,6 +101,10 @@ impl DuplicateFinder { let extensions: Vec = allowed_extensions.split(',').map(String::from).collect(); for mut extension in extensions { + if extension == ""{ + continue; + } + if extension.contains('.') { if !extension.starts_with('.') { println!("{} is not valid extension(valid extension doesn't have dot inside)", extension); @@ -447,27 +453,27 @@ impl DuplicateFinder { /// Setting include directories, panics when there is not directories available fn debug_print(&self) { - // println!("---------------DEBUG PRINT---------------"); - // println!("Number of all checked files - {}", self.number_of_checked_files); - // println!("Number of all ignored files - {}", self.number_of_ignored_files); - // println!("Number of all checked folders - {}", self.number_of_checked_folders); - // println!("Number of all ignored things - {}", self.number_of_ignored_things); - // println!("Number of duplicated files - {}", self.number_of_duplicated_files); - // let mut file_size: u64 = 0; - // for i in &self.files_with_identical_size { - // file_size += i.1.len() as u64; - // } - // println!("Files list size - {} ({})", self.files_with_identical_size.len(), file_size); - // let mut hashed_file_size: u64 = 0; - // for i in &self.files_with_identical_hashes { - // for j in i.1 { - // hashed_file_size += j.len() as u64; - // } - // } - // println!("Hashed Files list size - {} ({})", self.files_with_identical_hashes.len(), hashed_file_size); - // println!("Excluded directories - {:?}", self.excluded_directories); - // println!("Included directories - {:?}", self.included_directories); - // println!("-----------------------------------------"); + println!("---------------DEBUG PRINT---------------"); + println!("Number of all checked files - {}", self.number_of_checked_files); + println!("Number of all ignored files - {}", self.number_of_ignored_files); + println!("Number of all checked folders - {}", self.number_of_checked_folders); + println!("Number of all ignored things - {}", self.number_of_ignored_things); + println!("Number of duplicated files - {}", self.number_of_duplicated_files); + let mut file_size: u64 = 0; + for i in &self.files_with_identical_size { + file_size += i.1.len() as u64; + } + println!("Files list size - {} ({})", self.files_with_identical_size.len(), file_size); + let mut hashed_file_size: u64 = 0; + for i in &self.files_with_identical_hashes { + for j in i.1 { + hashed_file_size += j.len() as u64; + } + } + println!("Hashed Files list size - {} ({})", self.files_with_identical_hashes.len(), hashed_file_size); + println!("Excluded directories - {:?}", self.excluded_directories); + println!("Included directories - {:?}", self.included_directories); + println!("-----------------------------------------"); } fn print_duplicated_entries(&self, check_method: &CheckingMethod) { diff --git a/czkawka_gui/src/main.rs b/czkawka_gui/src/main.rs index 412c26d..a75bba5 100644 --- a/czkawka_gui/src/main.rs +++ b/czkawka_gui/src/main.rs @@ -4,6 +4,8 @@ use czkawka_core::{duplicate, empty_folder}; extern crate gtk; use gtk::prelude::*; use gtk::{Builder, TreeView, TreeViewColumn}; +use duplicate::DuplicateFinder; +use czkawka_core::duplicate::{CheckingMethod, DeleteMethod}; // use gtk::{ButtonsType, DialogFlags, MessageDialog, MessageType, Window}; fn main() { @@ -25,8 +27,8 @@ fn main() { gtk::main(); } fn prepare_buttons_at_start(builder : Builder){ - // let buttons_search : gtk::Button = builder.get_object("buttons_search").unwrap(); - // buttons_search.connect_clicked(|| duplicate::); + let buttons_search : gtk::Button = builder.get_object("buttons_search").unwrap(); + buttons_search.connect_clicked(search_for_duplicates); let buttons_stop : gtk::Button = builder.get_object("buttons_stop").unwrap(); buttons_stop.hide(); let buttons_resume : gtk::Button = builder.get_object("buttons_resume").unwrap(); @@ -42,9 +44,9 @@ fn prepare_buttons_at_start(builder : Builder){ let buttons_save : gtk::Button = builder.get_object("buttons_save").unwrap(); buttons_save.hide(); - search_for_duplicates(builder); + search_for_duplicates_layout(builder); } -fn search_for_duplicates(builder:Builder){ +fn search_for_duplicates_layout(builder:Builder){ let scrolled_window_duplicate_finder : gtk::ScrolledWindow = builder.get_object("scrolled_window_duplicate_finder").unwrap(); @@ -55,10 +57,15 @@ fn search_for_duplicates(builder:Builder){ name_column.set_min_width(50); let path_column : gtk::TreeViewColumn = TreeViewColumn::new(); - path_column.set_title("File Name"); + path_column.set_title("Path"); path_column.set_resizable(true); path_column.set_min_width(50); + let modification_date_column : gtk::TreeViewColumn = TreeViewColumn::new(); + modification_date_column.set_title("Modification Date"); + modification_date_column.set_resizable(true); + modification_date_column.set_min_width(50); + let col_types: [glib::types::Type; 2] = [ glib::types::Type::String, glib::types::Type::String, @@ -69,7 +76,19 @@ fn search_for_duplicates(builder:Builder){ tree_view_duplicate_finder.append_column(&name_column); tree_view_duplicate_finder.append_column(&path_column); + tree_view_duplicate_finder.append_column(&modification_date_column); scrolled_window_duplicate_finder.add(&tree_view_duplicate_finder); scrolled_window_duplicate_finder.show_all(); +} +fn search_for_duplicates(button : >k::Button){// : gtk::Button){ + println!("Szukam"); + button.hide(); + let mut df = DuplicateFinder::new(); + df.set_include_directory("/home/rafal/Pulpit".to_owned()); + df.set_exclude_directory("/rafa/".to_owned()); + df.set_allowed_extensions("".to_owned()); + df.set_min_file_size(1000); + df.find_duplicates(&CheckingMethod::HASH, &DeleteMethod::None); + button.show(); } \ No newline at end of file