2021-01-11 08:12:08 +13:00
|
|
|
use gtk::prelude::*;
|
2021-11-29 23:38:38 +13:00
|
|
|
use gtk::{EventControllerKey, TreeView};
|
2021-01-11 08:12:08 +13:00
|
|
|
|
|
|
|
#[derive(Clone)]
|
2021-03-28 01:14:02 +13:00
|
|
|
pub struct GuiUpperNotebook {
|
2021-01-11 08:12:08 +13:00
|
|
|
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,
|
|
|
|
|
2021-11-29 23:38:38 +13:00
|
|
|
pub evk_tree_view_included_directories: gtk::EventControllerKey,
|
|
|
|
pub evk_tree_view_excluded_directories: gtk::EventControllerKey,
|
|
|
|
|
2021-01-11 08:12:08 +13:00
|
|
|
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,
|
|
|
|
}
|
|
|
|
|
2021-03-28 01:14:02 +13:00
|
|
|
impl GuiUpperNotebook {
|
2021-01-11 08:12:08 +13:00
|
|
|
pub fn create_from_builder(builder: >k::Builder) -> Self {
|
2021-06-26 04:07:13 +12:00
|
|
|
let notebook_upper: gtk::Notebook = builder.object("notebook_upper").unwrap();
|
2021-01-11 08:12:08 +13:00
|
|
|
|
2021-06-26 04:07:13 +12:00
|
|
|
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();
|
2021-01-11 08:12:08 +13:00
|
|
|
|
|
|
|
let tree_view_included_directories: gtk::TreeView = TreeView::new();
|
|
|
|
let tree_view_excluded_directories: gtk::TreeView = TreeView::new();
|
|
|
|
|
2021-11-29 23:38:38 +13:00
|
|
|
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);
|
|
|
|
|
2021-06-26 04:07:13 +12:00
|
|
|
let entry_allowed_extensions: gtk::Entry = builder.object("entry_allowed_extensions").unwrap();
|
|
|
|
let entry_excluded_items: gtk::Entry = builder.object("entry_excluded_items").unwrap();
|
2021-01-11 08:12:08 +13:00
|
|
|
|
2021-06-26 04:07:13 +12:00
|
|
|
let check_button_recursive: gtk::CheckButton = builder.object("check_button_recursive").unwrap();
|
2021-12-01 00:45:09 +13:00
|
|
|
check_button_recursive.set_tooltip_text(Some("If selected, search also for files which are not placed directly under chosen folders"));
|
2021-01-11 08:12:08 +13:00
|
|
|
|
2021-06-26 04:07:13 +12:00
|
|
|
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();
|
2021-01-11 08:12:08 +13:00
|
|
|
|
2021-12-01 00:45:09 +13:00
|
|
|
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"));
|
|
|
|
|
2021-01-11 08:12:08 +13:00
|
|
|
Self {
|
|
|
|
notebook_upper,
|
|
|
|
scrolled_window_included_directories,
|
|
|
|
scrolled_window_excluded_directories,
|
|
|
|
tree_view_included_directories,
|
|
|
|
tree_view_excluded_directories,
|
2021-11-29 23:38:38 +13:00
|
|
|
evk_tree_view_included_directories,
|
|
|
|
evk_tree_view_excluded_directories,
|
2021-01-11 08:12:08 +13:00
|
|
|
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,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|