update window on tab page switch

This commit is contained in:
yggverse 2024-09-28 15:53:13 +03:00
parent 4f4e25381f
commit 18d9d3b4c5

View File

@ -7,7 +7,7 @@ use page::Page;
use gtk::{
gio::SimpleAction,
glib::{uuid_string_random, GString},
prelude::WidgetExt,
prelude::{ActionExt, WidgetExt},
GestureClick, Notebook,
};
@ -48,13 +48,17 @@ impl Tab {
// Actions
pub fn activate(&self, tab: Arc<Self>) {
self.widget.connect_page_removed({
move |_, widget, _| {
// Cleanup HashMap index
let id = &widget.widget_name();
tab.labels.borrow_mut().remove(id);
tab.pages.borrow_mut().remove(id);
}
self.widget.connect_page_removed(move |_, widget, _| {
// Cleanup HashMap index
let id = &widget.widget_name();
tab.labels.borrow_mut().remove(id);
tab.pages.borrow_mut().remove(id);
});
self.widget.connect_switch_page({
let action_update = self.action_update.clone();
// Update window header with current page title
move |_, _, _| action_update.activate(None)
});
}