diff --git a/czkawka_gui/czkawka.glade b/czkawka_gui/czkawka.glade index 41de007..994ed9d 100644 --- a/czkawka_gui/czkawka.glade +++ b/czkawka_gui/czkawka.glade @@ -1814,6 +1814,34 @@ Author: Rafał Mikrut 0 + + + True + True + True + + + True + False + 4 + 4 + + + True + False + format-justify-fill + + + + + + + False + True + end + 1 + + True @@ -1971,7 +1999,7 @@ Author: Rafał Mikrut False True end - 1 + 2 @@ -1995,7 +2023,7 @@ Author: Rafał Mikrut - + True True queue diff --git a/czkawka_gui/src/connect_hide_text_view_errors.rs b/czkawka_gui/src/connect_hide_text_view_errors.rs new file mode 100644 index 0000000..719266c --- /dev/null +++ b/czkawka_gui/src/connect_hide_text_view_errors.rs @@ -0,0 +1,16 @@ +extern crate gtk; +use crate::gui_data::GuiData; +use gtk::prelude::*; + +pub fn connect_hide_text_view_errors(gui_data: &GuiData) { + let buttons_show_errors = gui_data.buttons_show_errors.clone(); + let scrolled_window_errors = gui_data.scrolled_window_errors.clone(); + + buttons_show_errors.connect_clicked(move |_| { + if scrolled_window_errors.is_visible() { + scrolled_window_errors.hide(); + } else { + scrolled_window_errors.show(); + } + }); +} diff --git a/czkawka_gui/src/gui_data.rs b/czkawka_gui/src/gui_data.rs index abcad56..ebd5322 100644 --- a/czkawka_gui/src/gui_data.rs +++ b/czkawka_gui/src/gui_data.rs @@ -57,6 +57,7 @@ pub struct GuiData { pub buttons_select: gtk::Button, pub buttons_delete: gtk::Button, pub buttons_save: gtk::Button, + pub buttons_show_errors: gtk::Button, pub buttons_names: [String; 4], pub buttons_array: [Button; 4], pub buttons_add_included_directory: gtk::Button, @@ -113,8 +114,9 @@ pub struct GuiData { //// Entry pub entry_info: gtk::Entry, // To show default - //// Text View + //// Bottom pub text_view_errors: gtk::TextView, + pub scrolled_window_errors: gtk::ScrolledWindow, //// Scrolled windows // Main notebook @@ -249,6 +251,8 @@ impl GuiData { let buttons_delete: gtk::Button = builder.get_object("buttons_delete").unwrap(); let buttons_save: gtk::Button = builder.get_object("buttons_save").unwrap(); + let buttons_show_errors: gtk::Button = builder.get_object("buttons_show_errors").unwrap(); + let buttons_names = ["search".to_string(), "select".to_string(), "delete".to_string(), "save".to_string()]; let buttons_array = [buttons_search.clone(), buttons_select.clone(), buttons_delete.clone(), buttons_save.clone()]; @@ -311,8 +315,9 @@ impl GuiData { //// Entry let entry_info: gtk::Entry = builder.get_object("entry_info").unwrap(); // To show default - //// Text View + //// Bottom let text_view_errors: gtk::TextView = builder.get_object("text_view_errors").unwrap(); + let scrolled_window_errors: gtk::ScrolledWindow = builder.get_object("scrolled_window_errors").unwrap(); //// Scrolled windows // Main notebook @@ -383,6 +388,7 @@ impl GuiData { buttons_select, buttons_delete, buttons_save, + buttons_show_errors, buttons_names, buttons_array, buttons_add_included_directory, @@ -422,6 +428,7 @@ impl GuiData { notebook_upper_children_names, entry_info, text_view_errors, + scrolled_window_errors, scrolled_window_duplicate_finder, scrolled_window_main_empty_folder_finder, scrolled_window_main_empty_files_finder, diff --git a/czkawka_gui/src/initialize_gui.rs b/czkawka_gui/src/initialize_gui.rs index 1cf5c4f..c8706b5 100644 --- a/czkawka_gui/src/initialize_gui.rs +++ b/czkawka_gui/src/initialize_gui.rs @@ -8,7 +8,6 @@ use gtk::{SelectionMode, TreeView}; pub fn initialize_gui(gui_data: &GuiData) { //// Setup default look(duplicate finder) { - let entry_info = gui_data.entry_info.clone(); let buttons_search = gui_data.buttons_search.clone(); let buttons_save = gui_data.buttons_save.clone(); let buttons_delete = gui_data.buttons_delete.clone(); @@ -24,8 +23,6 @@ pub fn initialize_gui(gui_data: &GuiData) { let scrolled_window_included_directories = gui_data.scrolled_window_included_directories.clone(); let scrolled_window_excluded_directories = gui_data.scrolled_window_excluded_directories.clone(); - entry_info.set_text("Duplicated Files"); - // Disable and show buttons buttons_search.show(); buttons_save.hide(); diff --git a/czkawka_gui/src/main.rs b/czkawka_gui/src/main.rs index 6be45b5..fada307 100644 --- a/czkawka_gui/src/main.rs +++ b/czkawka_gui/src/main.rs @@ -4,6 +4,7 @@ mod connect_button_search; mod connect_button_select; mod connect_button_stop; mod connect_compute_results; +mod connect_hide_text_view_errors; mod connect_notebook_tabs; mod connect_popovers; mod connect_progress_window; @@ -25,6 +26,7 @@ use crate::connect_button_search::*; use crate::connect_button_select::*; use crate::connect_button_stop::*; use crate::connect_compute_results::*; +use crate::connect_hide_text_view_errors::*; use crate::connect_notebook_tabs::*; use crate::connect_popovers::*; use crate::connect_progress_window::*; @@ -32,7 +34,7 @@ use crate::connect_selection_of_directories::*; use crate::connect_settings::*; use crate::gui_data::*; use crate::initialize_gui::*; -use crate::saving_loading::{load_configuration, reset_configuration, save_configuration}; +use crate::saving_loading::*; use gtk::prelude::*; use std::{env, process}; @@ -105,6 +107,7 @@ fn main() { futures_receiver_temporary, futures_receiver_zeroed, ); + connect_hide_text_view_errors(&gui_data); connect_settings(&gui_data); // Quit the program when X in main window was clicked diff --git a/czkawka_gui/src/saving_loading.rs b/czkawka_gui/src/saving_loading.rs index 17d51e7..681555f 100644 --- a/czkawka_gui/src/saving_loading.rs +++ b/czkawka_gui/src/saving_loading.rs @@ -178,7 +178,7 @@ pub fn load_configuration(gui_data: &GuiData, manual_execution: bool) { let mut current_type = TypeOfLoadedData::None; for (line_number, line) in loaded_data.replace("\r\n", "\n").split('\n').enumerate() { let line: String = line.trim().to_string(); - if line.trim().is_empty() { + if line.is_empty() { continue; // Empty line, so we just skip it } if line.starts_with("--included_directories") {