79 lines
4.1 KiB
Rust
79 lines
4.1 KiB
Rust
use gtk::prelude::*;
|
|
use gtk::{Builder, WindowPosition};
|
|
|
|
#[derive(Clone)]
|
|
pub struct GuiSettings {
|
|
pub window_settings: gtk::Window,
|
|
|
|
// General
|
|
pub check_button_settings_save_at_exit: gtk::CheckButton,
|
|
pub check_button_settings_load_at_start: gtk::CheckButton,
|
|
pub check_button_settings_confirm_deletion: gtk::CheckButton,
|
|
pub check_button_settings_confirm_group_deletion: gtk::CheckButton,
|
|
pub check_button_settings_show_text_view: gtk::CheckButton,
|
|
pub check_button_settings_use_cache: gtk::CheckButton,
|
|
pub check_button_settings_use_trash: gtk::CheckButton,
|
|
|
|
// Duplicates
|
|
pub check_button_settings_hide_hard_links: gtk::CheckButton,
|
|
pub entry_settings_cache_file_minimal_size: gtk::Entry,
|
|
pub check_button_settings_show_preview_duplicates: gtk::CheckButton,
|
|
|
|
// Similar Images
|
|
pub check_button_settings_show_preview_similar_images: gtk::CheckButton,
|
|
|
|
// Buttons
|
|
pub button_settings_save_configuration: gtk::Button,
|
|
pub button_settings_load_configuration: gtk::Button,
|
|
pub button_settings_reset_configuration: gtk::Button,
|
|
}
|
|
|
|
impl GuiSettings {
|
|
pub fn create_from_builder() -> Self {
|
|
let glade_src = include_str!("../ui/settings.glade").to_string();
|
|
let builder = Builder::from_string(glade_src.as_str());
|
|
|
|
let window_settings: gtk::Window = builder.object("window_settings").unwrap();
|
|
window_settings.set_position(WindowPosition::Center);
|
|
|
|
// General
|
|
let check_button_settings_save_at_exit: gtk::CheckButton = builder.object("check_button_settings_save_at_exit").unwrap();
|
|
let check_button_settings_load_at_start: gtk::CheckButton = builder.object("check_button_settings_load_at_start").unwrap();
|
|
let check_button_settings_confirm_deletion: gtk::CheckButton = builder.object("check_button_settings_confirm_deletion").unwrap();
|
|
let check_button_settings_confirm_group_deletion: gtk::CheckButton = builder.object("check_button_settings_confirm_group_deletion").unwrap();
|
|
let check_button_settings_show_text_view: gtk::CheckButton = builder.object("check_button_settings_show_text_view").unwrap();
|
|
let check_button_settings_use_cache: gtk::CheckButton = builder.object("check_button_settings_use_cache").unwrap();
|
|
let check_button_settings_use_trash: gtk::CheckButton = builder.object("check_button_settings_use_trash").unwrap();
|
|
|
|
// Duplicates
|
|
let check_button_settings_hide_hard_links: gtk::CheckButton = builder.object("check_button_settings_hide_hard_links").unwrap();
|
|
let entry_settings_cache_file_minimal_size: gtk::Entry = builder.object("entry_settings_cache_file_minimal_size").unwrap();
|
|
let check_button_settings_show_preview_duplicates: gtk::CheckButton = builder.object("check_button_settings_show_preview_duplicates").unwrap();
|
|
|
|
// Similar Images
|
|
let check_button_settings_show_preview_similar_images: gtk::CheckButton = builder.object("check_button_settings_show_preview_similar_images").unwrap();
|
|
|
|
// Saving/Loading/Resetting configuration
|
|
let button_settings_save_configuration: gtk::Button = builder.object("button_settings_save_configuration").unwrap();
|
|
let button_settings_load_configuration: gtk::Button = builder.object("button_settings_load_configuration").unwrap();
|
|
let button_settings_reset_configuration: gtk::Button = builder.object("button_settings_reset_configuration").unwrap();
|
|
|
|
Self {
|
|
window_settings,
|
|
check_button_settings_save_at_exit,
|
|
check_button_settings_load_at_start,
|
|
check_button_settings_confirm_deletion,
|
|
check_button_settings_confirm_group_deletion,
|
|
check_button_settings_show_text_view,
|
|
check_button_settings_use_cache,
|
|
check_button_settings_use_trash,
|
|
check_button_settings_hide_hard_links,
|
|
entry_settings_cache_file_minimal_size,
|
|
check_button_settings_show_preview_duplicates,
|
|
check_button_settings_show_preview_similar_images,
|
|
button_settings_save_configuration,
|
|
button_settings_load_configuration,
|
|
button_settings_reset_configuration,
|
|
}
|
|
}
|
|
}
|