2022-05-22 20:59:09 +12:00
|
|
|
use gtk4::prelude::*;
|
|
|
|
use gtk4::Builder;
|
2021-01-11 08:12:08 +13:00
|
|
|
|
2022-01-20 10:35:07 +13:00
|
|
|
use crate::flg;
|
2021-12-20 02:45:10 +13:00
|
|
|
|
2021-01-11 08:12:08 +13:00
|
|
|
#[derive(Clone)]
|
2021-03-28 01:14:02 +13:00
|
|
|
pub struct GuiPopovers {
|
2022-05-22 20:59:09 +12:00
|
|
|
pub buttons_popover_select_all: gtk4::Button,
|
|
|
|
pub buttons_popover_unselect_all: gtk4::Button,
|
|
|
|
pub buttons_popover_reverse: gtk4::Button,
|
|
|
|
pub buttons_popover_select_all_except_oldest: gtk4::Button,
|
|
|
|
pub buttons_popover_select_all_except_newest: gtk4::Button,
|
|
|
|
pub buttons_popover_select_one_oldest: gtk4::Button,
|
|
|
|
pub buttons_popover_select_one_newest: gtk4::Button,
|
|
|
|
pub buttons_popover_select_custom: gtk4::Button,
|
|
|
|
pub buttons_popover_unselect_custom: gtk4::Button,
|
|
|
|
pub buttons_popover_select_all_images_except_biggest: gtk4::Button,
|
|
|
|
pub buttons_popover_select_all_images_except_smallest: gtk4::Button,
|
|
|
|
|
|
|
|
pub separator_select_image_size: gtk4::Separator,
|
|
|
|
pub separator_select_reverse: gtk4::Separator,
|
|
|
|
pub separator_select_date: gtk4::Separator,
|
|
|
|
pub separator_select_custom: gtk4::Separator,
|
|
|
|
|
|
|
|
pub buttons_popover_right_click_open_file: gtk4::Button,
|
|
|
|
pub buttons_popover_right_click_open_folder: gtk4::Button,
|
|
|
|
|
|
|
|
pub popover_select: gtk4::Popover,
|
|
|
|
pub popover_right_click: gtk4::Popover,
|
2021-01-11 08:12:08 +13:00
|
|
|
}
|
|
|
|
|
2021-03-28 01:14:02 +13:00
|
|
|
impl GuiPopovers {
|
2021-07-08 07:13:36 +12:00
|
|
|
pub fn create_from_builder() -> Self {
|
2022-02-26 06:47:25 +13:00
|
|
|
let glade_src = include_str!("../../ui/popover_select.ui").to_string();
|
2021-07-08 07:13:36 +12:00
|
|
|
let builder = Builder::from_string(glade_src.as_str());
|
|
|
|
|
2022-05-22 20:59:09 +12:00
|
|
|
let buttons_popover_select_all: gtk4::Button = builder.object("buttons_popover_select_all").unwrap();
|
|
|
|
let buttons_popover_unselect_all: gtk4::Button = builder.object("buttons_popover_unselect_all").unwrap();
|
|
|
|
let buttons_popover_reverse: gtk4::Button = builder.object("buttons_popover_reverse").unwrap();
|
|
|
|
let buttons_popover_select_all_except_oldest: gtk4::Button = builder.object("buttons_popover_select_all_except_oldest").unwrap();
|
|
|
|
let buttons_popover_select_all_except_newest: gtk4::Button = builder.object("buttons_popover_select_all_except_newest").unwrap();
|
|
|
|
let buttons_popover_select_one_oldest: gtk4::Button = builder.object("buttons_popover_select_one_oldest").unwrap();
|
|
|
|
let buttons_popover_select_one_newest: gtk4::Button = builder.object("buttons_popover_select_one_newest").unwrap();
|
|
|
|
let buttons_popover_select_custom: gtk4::Button = builder.object("buttons_popover_select_custom").unwrap();
|
|
|
|
let buttons_popover_unselect_custom: gtk4::Button = builder.object("buttons_popover_unselect_custom").unwrap();
|
|
|
|
let buttons_popover_select_all_images_except_biggest: gtk4::Button = builder.object("buttons_popover_select_all_images_except_biggest").unwrap();
|
|
|
|
let buttons_popover_select_all_images_except_smallest: gtk4::Button = builder.object("buttons_popover_select_all_images_except_smallest").unwrap();
|
|
|
|
|
|
|
|
let separator_select_image_size: gtk4::Separator = builder.object("separator_select_image_size").unwrap();
|
|
|
|
let separator_select_reverse: gtk4::Separator = builder.object("separator_select_reverse").unwrap();
|
|
|
|
let separator_select_date: gtk4::Separator = builder.object("separator_select_date").unwrap();
|
|
|
|
let separator_select_custom: gtk4::Separator = builder.object("separator_select_custom").unwrap();
|
|
|
|
|
|
|
|
let popover_select: gtk4::Popover = builder.object("popover_select").unwrap();
|
2021-07-08 07:13:36 +12:00
|
|
|
|
2021-12-01 00:45:09 +13:00
|
|
|
// Popover right click(not implemented for now)
|
2022-02-26 06:47:25 +13:00
|
|
|
let glade_src = include_str!("../../ui/popover_right_click.ui").to_string();
|
2021-07-08 07:13:36 +12:00
|
|
|
let builder = Builder::from_string(glade_src.as_str());
|
|
|
|
|
2022-05-22 20:59:09 +12:00
|
|
|
let buttons_popover_right_click_open_file: gtk4::Button = builder.object("buttons_popover_right_click_open_file").unwrap();
|
|
|
|
let buttons_popover_right_click_open_folder: gtk4::Button = builder.object("buttons_popover_right_click_open_folder").unwrap();
|
2021-01-11 08:12:08 +13:00
|
|
|
|
2022-05-22 20:59:09 +12:00
|
|
|
let popover_right_click: gtk4::Popover = builder.object("popover_right_click").unwrap();
|
2021-01-11 08:12:08 +13:00
|
|
|
|
|
|
|
Self {
|
|
|
|
buttons_popover_select_all,
|
|
|
|
buttons_popover_unselect_all,
|
|
|
|
buttons_popover_reverse,
|
|
|
|
buttons_popover_select_all_except_oldest,
|
|
|
|
buttons_popover_select_all_except_newest,
|
|
|
|
buttons_popover_select_one_oldest,
|
|
|
|
buttons_popover_select_one_newest,
|
|
|
|
buttons_popover_select_custom,
|
|
|
|
buttons_popover_unselect_custom,
|
|
|
|
buttons_popover_select_all_images_except_biggest,
|
|
|
|
buttons_popover_select_all_images_except_smallest,
|
|
|
|
separator_select_image_size,
|
|
|
|
separator_select_reverse,
|
|
|
|
separator_select_date,
|
|
|
|
separator_select_custom,
|
|
|
|
buttons_popover_right_click_open_file,
|
|
|
|
buttons_popover_right_click_open_folder,
|
|
|
|
popover_select,
|
|
|
|
popover_right_click,
|
|
|
|
}
|
|
|
|
}
|
2021-12-12 04:16:14 +13:00
|
|
|
pub fn update_language(&self) {
|
2022-01-20 10:35:07 +13:00
|
|
|
self.buttons_popover_select_all.set_label(&flg!("popover_select_all"));
|
|
|
|
self.buttons_popover_unselect_all.set_label(&flg!("popover_unselect_all"));
|
|
|
|
self.buttons_popover_reverse.set_label(&flg!("popover_reverse"));
|
|
|
|
self.buttons_popover_select_all_except_oldest.set_label(&flg!("popover_select_all_except_oldest"));
|
|
|
|
self.buttons_popover_select_all_except_newest.set_label(&flg!("popover_select_all_except_newest"));
|
|
|
|
self.buttons_popover_select_one_oldest.set_label(&flg!("popover_select_one_oldest"));
|
|
|
|
self.buttons_popover_select_one_newest.set_label(&flg!("popover_select_one_newest"));
|
|
|
|
self.buttons_popover_select_custom.set_label(&flg!("popover_select_custom"));
|
|
|
|
self.buttons_popover_unselect_custom.set_label(&flg!("popover_unselect_custom"));
|
2021-12-22 06:44:20 +13:00
|
|
|
self.buttons_popover_select_all_images_except_biggest
|
2022-01-20 10:35:07 +13:00
|
|
|
.set_label(&flg!("popover_select_all_images_except_biggest"));
|
2021-12-22 06:44:20 +13:00
|
|
|
self.buttons_popover_select_all_images_except_smallest
|
2022-01-20 10:35:07 +13:00
|
|
|
.set_label(&flg!("popover_select_all_images_except_smallest"));
|
2021-12-12 04:16:14 +13:00
|
|
|
}
|
2021-01-11 08:12:08 +13:00
|
|
|
}
|