You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
czkawka/czkawka_gui/src/gui_upper_notepad.rs

83 lines
4.3 KiB
Rust

use gtk::prelude::*;
use gtk::{EventControllerKey, TreeView};
#[derive(Clone)]
pub struct GuiUpperNotebook {
pub notebook_upper: gtk::Notebook,
pub scrolled_window_included_directories: gtk::ScrolledWindow,
pub scrolled_window_excluded_directories: gtk::ScrolledWindow,
pub tree_view_included_directories: gtk::TreeView,
pub tree_view_excluded_directories: gtk::TreeView,
pub evk_tree_view_included_directories: gtk::EventControllerKey,
pub evk_tree_view_excluded_directories: gtk::EventControllerKey,
pub entry_excluded_items: gtk::Entry,
pub entry_allowed_extensions: gtk::Entry,
pub check_button_recursive: gtk::CheckButton,
pub buttons_manual_add_directory: gtk::Button,
pub buttons_add_included_directory: gtk::Button,
pub buttons_remove_included_directory: gtk::Button,
pub buttons_manual_add_excluded_directory: gtk::Button,
pub buttons_add_excluded_directory: gtk::Button,
pub buttons_remove_excluded_directory: gtk::Button,
}
impl GuiUpperNotebook {
pub fn create_from_builder(builder: &gtk::Builder) -> Self {
let notebook_upper: gtk::Notebook = builder.object("notebook_upper").unwrap();
let scrolled_window_included_directories: gtk::ScrolledWindow = builder.object("scrolled_window_included_directories").unwrap();
let scrolled_window_excluded_directories: gtk::ScrolledWindow = builder.object("scrolled_window_excluded_directories").unwrap();
let tree_view_included_directories: gtk::TreeView = TreeView::new();
let tree_view_excluded_directories: gtk::TreeView = TreeView::new();
let evk_tree_view_included_directories: gtk::EventControllerKey = EventControllerKey::new(&tree_view_included_directories);
let evk_tree_view_excluded_directories: gtk::EventControllerKey = EventControllerKey::new(&tree_view_excluded_directories);
let entry_allowed_extensions: gtk::Entry = builder.object("entry_allowed_extensions").unwrap();
let entry_excluded_items: gtk::Entry = builder.object("entry_excluded_items").unwrap();
let check_button_recursive: gtk::CheckButton = builder.object("check_button_recursive").unwrap();
check_button_recursive.set_tooltip_text(Some("If selected, search also for files which are not placed directly under chosen folders"));
let buttons_manual_add_directory: gtk::Button = builder.object("buttons_manual_add_directory").unwrap();
let buttons_add_included_directory: gtk::Button = builder.object("buttons_add_included_directory").unwrap();
let buttons_remove_included_directory: gtk::Button = builder.object("buttons_remove_included_directory").unwrap();
let buttons_manual_add_excluded_directory: gtk::Button = builder.object("buttons_manual_add_excluded_directory").unwrap();
let buttons_add_excluded_directory: gtk::Button = builder.object("buttons_add_excluded_directory").unwrap();
let buttons_remove_excluded_directory: gtk::Button = builder.object("buttons_remove_excluded_directory").unwrap();
buttons_manual_add_directory.set_tooltip_text(Some("Allows to add directory name by hand"));
buttons_add_included_directory.set_tooltip_text(Some("Add new directory to search"));
buttons_remove_included_directory.set_tooltip_text(Some("Delete directory from search"));
buttons_manual_add_excluded_directory.set_tooltip_text(Some("Allows to add directory name by hand"));
buttons_add_excluded_directory.set_tooltip_text(Some("Add directory to be excluded in search"));
buttons_remove_excluded_directory.set_tooltip_text(Some("Delete directory from excluded list"));
Self {
notebook_upper,
scrolled_window_included_directories,
scrolled_window_excluded_directories,
tree_view_included_directories,
tree_view_excluded_directories,
evk_tree_view_included_directories,
evk_tree_view_excluded_directories,
entry_excluded_items,
entry_allowed_extensions,
check_button_recursive,
buttons_manual_add_directory,
buttons_add_included_directory,
buttons_remove_included_directory,
buttons_manual_add_excluded_directory,
buttons_add_excluded_directory,
buttons_remove_excluded_directory,
}
}
}