activate history buttons

This commit is contained in:
yggverse 2024-09-30 17:53:08 +03:00
parent c35c2e9e2f
commit 3f5b4f9dfa
2 changed files with 49 additions and 12 deletions

View File

@ -1,19 +1,38 @@
use gtk::{gio::SimpleAction, Button};
use gtk::{
gio::SimpleAction,
prelude::{ActionExt, ButtonExt},
Button,
};
use std::sync::Arc;
pub struct Back {
action_tab_page_navigation_history_back: Arc<SimpleAction>,
widget: Button,
}
impl Back {
// Construct
pub fn new(action_tab_page_navigation_history_back: Arc<SimpleAction>) -> Self {
// Init widget
let widget = Button::builder()
.icon_name("go-previous-symbolic")
.tooltip_text("Back")
.sensitive(false)
.build();
// Init events
widget.connect_clicked({
let action_tab_page_navigation_history_back =
action_tab_page_navigation_history_back.clone();
move |_| {
action_tab_page_navigation_history_back.activate(None);
}
});
// Return activated struct
Self {
widget: Button::builder()
.icon_name("go-previous-symbolic")
.tooltip_text("Back")
.sensitive(false)
.build(),
action_tab_page_navigation_history_back,
widget,
}
}

View File

@ -1,19 +1,37 @@
use gtk::{gio::SimpleAction, Button};
use gtk::{
prelude::{ActionExt, ButtonExt},
{gio::SimpleAction, Button},
};
use std::sync::Arc;
pub struct Forward {
action_tab_page_navigation_history_forward: Arc<SimpleAction>,
widget: Button,
}
impl Forward {
// Construct
pub fn new(action_tab_page_navigation_history_forward: Arc<SimpleAction>) -> Self {
// Init widget
let widget = Button::builder()
.icon_name("go-next-symbolic")
.tooltip_text("Forward")
.sensitive(false)
.build();
// Init events
widget.connect_clicked({
let action_tab_page_navigation_history_forward =
action_tab_page_navigation_history_forward.clone();
move |_| {
action_tab_page_navigation_history_forward.activate(None);
}
});
// Return activated struct
Self {
widget: Button::builder()
.icon_name("go-next-symbolic")
.tooltip_text("Forward")
.sensitive(false)
.build(),
action_tab_page_navigation_history_forward,
widget,
}
}