2021-01-11 08:12:08 +13:00
|
|
|
use gtk::prelude::*;
|
2021-12-12 04:16:14 +13:00
|
|
|
use gtk::{Bin, Widget};
|
2021-01-11 08:12:08 +13:00
|
|
|
|
2022-04-04 02:03:01 +12:00
|
|
|
use crate::help_functions::{get_custom_label_from_button_with_image, set_icon_of_button, set_icon_of_menubutton, BottomButtonsEnum};
|
|
|
|
use crate::{
|
|
|
|
flg, CZK_ICON_COMPARE, CZK_ICON_HARDLINK, CZK_ICON_HIDE_DOWN, CZK_ICON_HIDE_UP, CZK_ICON_MOVE, CZK_ICON_SAVE, CZK_ICON_SEARCH, CZK_ICON_SELECT, CZK_ICON_SYMLINK,
|
|
|
|
CZK_ICON_TRASH,
|
|
|
|
};
|
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 GuiBottomButtons {
|
2021-01-11 08:12:08 +13:00
|
|
|
pub buttons_search: gtk::Button,
|
2021-12-01 23:09:47 +13:00
|
|
|
pub buttons_select: gtk::MenuButton,
|
2021-01-11 08:12:08 +13:00
|
|
|
pub buttons_delete: gtk::Button,
|
|
|
|
pub buttons_save: gtk::Button,
|
|
|
|
pub buttons_symlink: gtk::Button,
|
2021-02-25 01:53:46 +13:00
|
|
|
pub buttons_hardlink: gtk::Button,
|
2021-11-20 20:32:28 +13:00
|
|
|
pub buttons_move: gtk::Button,
|
2022-01-11 00:19:28 +13:00
|
|
|
pub buttons_compare: gtk::Button,
|
2021-01-11 08:12:08 +13:00
|
|
|
pub buttons_show_errors: gtk::Button,
|
2021-12-07 02:30:29 +13:00
|
|
|
pub buttons_show_upper_notebook: gtk::Button,
|
2022-01-14 18:34:43 +13:00
|
|
|
pub buttons_names: [BottomButtonsEnum; 8],
|
2022-01-11 00:19:28 +13:00
|
|
|
pub buttons_array: [Widget; 8],
|
2021-01-11 08:12:08 +13:00
|
|
|
}
|
|
|
|
|
2021-03-28 01:14:02 +13:00
|
|
|
impl GuiBottomButtons {
|
2021-12-01 23:09:47 +13:00
|
|
|
pub fn create_from_builder(builder: >k::Builder, popover_select: >k::Popover) -> Self {
|
2021-06-26 04:07:13 +12:00
|
|
|
let buttons_search: gtk::Button = builder.object("buttons_search").unwrap();
|
2021-12-01 23:09:47 +13:00
|
|
|
let buttons_select: gtk::MenuButton = builder.object("buttons_select").unwrap();
|
2021-06-26 04:07:13 +12:00
|
|
|
let buttons_delete: gtk::Button = builder.object("buttons_delete").unwrap();
|
|
|
|
let buttons_save: gtk::Button = builder.object("buttons_save").unwrap();
|
|
|
|
let buttons_symlink: gtk::Button = builder.object("buttons_symlink").unwrap();
|
|
|
|
let buttons_hardlink: gtk::Button = builder.object("buttons_hardlink").unwrap();
|
2021-11-20 20:32:28 +13:00
|
|
|
let buttons_move: gtk::Button = builder.object("buttons_move").unwrap();
|
2022-01-11 00:19:28 +13:00
|
|
|
let buttons_compare: gtk::Button = builder.object("buttons_compare").unwrap();
|
2021-01-11 08:12:08 +13:00
|
|
|
|
2021-06-26 04:07:13 +12:00
|
|
|
let buttons_show_errors: gtk::Button = builder.object("buttons_show_errors").unwrap();
|
2021-12-07 02:30:29 +13:00
|
|
|
let buttons_show_upper_notebook: gtk::Button = builder.object("buttons_show_upper_notebook").unwrap();
|
2021-01-11 08:12:08 +13:00
|
|
|
|
2022-04-04 02:03:01 +12:00
|
|
|
set_icon_of_button(&buttons_search, CZK_ICON_SEARCH);
|
|
|
|
set_icon_of_menubutton(&buttons_select, CZK_ICON_SELECT);
|
|
|
|
set_icon_of_button(&buttons_delete, CZK_ICON_TRASH);
|
|
|
|
set_icon_of_button(&buttons_save, CZK_ICON_SAVE);
|
|
|
|
set_icon_of_button(&buttons_symlink, CZK_ICON_SYMLINK);
|
|
|
|
set_icon_of_button(&buttons_hardlink, CZK_ICON_HARDLINK);
|
|
|
|
set_icon_of_button(&buttons_move, CZK_ICON_MOVE);
|
|
|
|
set_icon_of_button(&buttons_compare, CZK_ICON_COMPARE);
|
|
|
|
set_icon_of_button(&buttons_show_errors, CZK_ICON_HIDE_DOWN);
|
|
|
|
set_icon_of_button(&buttons_show_upper_notebook, CZK_ICON_HIDE_UP);
|
|
|
|
|
2021-11-20 20:32:28 +13:00
|
|
|
let buttons_names = [
|
2022-01-14 18:34:43 +13:00
|
|
|
BottomButtonsEnum::Search,
|
|
|
|
BottomButtonsEnum::Select,
|
|
|
|
BottomButtonsEnum::Delete,
|
|
|
|
BottomButtonsEnum::Save,
|
|
|
|
BottomButtonsEnum::Symlink,
|
|
|
|
BottomButtonsEnum::Hardlink,
|
|
|
|
BottomButtonsEnum::Move,
|
|
|
|
BottomButtonsEnum::Compare,
|
2021-11-20 20:32:28 +13:00
|
|
|
];
|
2022-01-11 00:19:28 +13:00
|
|
|
let buttons_array = [
|
2021-12-01 23:09:47 +13:00
|
|
|
buttons_search.clone().upcast::<Widget>(),
|
|
|
|
buttons_select.clone().upcast::<Widget>(),
|
|
|
|
buttons_delete.clone().upcast::<Widget>(),
|
|
|
|
buttons_save.clone().upcast::<Widget>(),
|
|
|
|
buttons_symlink.clone().upcast::<Widget>(),
|
|
|
|
buttons_hardlink.clone().upcast::<Widget>(),
|
|
|
|
buttons_move.clone().upcast::<Widget>(),
|
2022-01-11 00:19:28 +13:00
|
|
|
buttons_compare.clone().upcast::<Widget>(),
|
2021-11-20 20:32:28 +13:00
|
|
|
];
|
2021-12-01 23:09:47 +13:00
|
|
|
|
|
|
|
buttons_select.set_popover(Some(popover_select));
|
|
|
|
|
2021-01-11 08:12:08 +13:00
|
|
|
Self {
|
|
|
|
buttons_search,
|
|
|
|
buttons_select,
|
|
|
|
buttons_delete,
|
|
|
|
buttons_save,
|
|
|
|
buttons_symlink,
|
2021-02-25 01:53:46 +13:00
|
|
|
buttons_hardlink,
|
2021-11-20 20:32:28 +13:00
|
|
|
buttons_move,
|
2022-01-11 00:19:28 +13:00
|
|
|
buttons_compare,
|
2021-01-11 08:12:08 +13:00
|
|
|
buttons_show_errors,
|
2021-12-07 02:30:29 +13:00
|
|
|
buttons_show_upper_notebook,
|
2021-01-11 08:12:08 +13:00
|
|
|
buttons_names,
|
|
|
|
buttons_array,
|
|
|
|
}
|
|
|
|
}
|
2021-12-12 04:16:14 +13:00
|
|
|
pub fn update_language(&self) {
|
2022-01-20 10:35:07 +13:00
|
|
|
get_custom_label_from_button_with_image(&self.buttons_search.clone().upcast::<Bin>()).set_text(&flg!("bottom_search_button"));
|
|
|
|
get_custom_label_from_button_with_image(&self.buttons_select.clone().upcast::<Bin>()).set_text(&flg!("bottom_select_button"));
|
|
|
|
get_custom_label_from_button_with_image(&self.buttons_delete.clone().upcast::<Bin>()).set_text(&flg!("bottom_delete_button"));
|
|
|
|
get_custom_label_from_button_with_image(&self.buttons_save.clone().upcast::<Bin>()).set_text(&flg!("bottom_save_button"));
|
|
|
|
get_custom_label_from_button_with_image(&self.buttons_symlink.clone().upcast::<Bin>()).set_text(&flg!("bottom_symlink_button"));
|
|
|
|
get_custom_label_from_button_with_image(&self.buttons_hardlink.clone().upcast::<Bin>()).set_text(&flg!("bottom_hardlink_button"));
|
|
|
|
get_custom_label_from_button_with_image(&self.buttons_move.clone().upcast::<Bin>()).set_text(&flg!("bottom_move_button"));
|
2021-12-12 04:16:14 +13:00
|
|
|
|
2022-01-20 10:35:07 +13:00
|
|
|
// get_custom_label_from_button_with_image(&self.buttons_search.clone()).set_text(&flg!("bottom_search_button"));
|
|
|
|
// get_custom_label_from_button_with_image(&self.buttons_select.clone()).set_text(&flg!("bottom_select_button"));
|
|
|
|
// get_custom_label_from_button_with_image(&self.buttons_delete.clone()).set_text(&flg!("bottom_delete_button"));
|
|
|
|
// get_custom_label_from_button_with_image(&self.buttons_save.clone()).set_text(&flg!("bottom_save_button"));
|
|
|
|
// get_custom_label_from_button_with_image(&self.buttons_symlink.clone()).set_text(&flg!("bottom_symlink_button"));
|
|
|
|
// get_custom_label_from_button_with_image(&self.buttons_hardlink.clone()).set_text(&flg!("bottom_hardlink_button"));
|
|
|
|
// get_custom_label_from_button_with_image(&self.buttons_move.clone()).set_text(&flg!("bottom_move_button"));
|
2021-12-18 07:44:29 +13:00
|
|
|
|
2022-01-20 10:35:07 +13:00
|
|
|
self.buttons_search.set_tooltip_text(Some(&flg!("bottom_search_button_tooltip")));
|
|
|
|
self.buttons_select.set_tooltip_text(Some(&flg!("bottom_select_button_tooltip")));
|
|
|
|
self.buttons_delete.set_tooltip_text(Some(&flg!("bottom_delete_button_tooltip")));
|
|
|
|
self.buttons_save.set_tooltip_text(Some(&flg!("bottom_save_button_tooltip")));
|
|
|
|
self.buttons_symlink.set_tooltip_text(Some(&flg!("bottom_symlink_button_tooltip")));
|
|
|
|
self.buttons_hardlink.set_tooltip_text(Some(&flg!("bottom_hardlink_button_tooltip")));
|
|
|
|
self.buttons_move.set_tooltip_text(Some(&flg!("bottom_move_button_tooltip")));
|
2021-12-12 04:16:14 +13:00
|
|
|
|
2022-01-20 10:35:07 +13:00
|
|
|
self.buttons_show_errors.set_tooltip_text(Some(&flg!("bottom_show_errors_tooltip")));
|
|
|
|
self.buttons_show_upper_notebook.set_tooltip_text(Some(&flg!("bottom_show_upper_notebook_tooltip")));
|
2021-12-12 04:16:14 +13:00
|
|
|
}
|
2021-01-11 08:12:08 +13:00
|
|
|
}
|