roundabout,
created on Wednesday, 9 July 2025, 13:45:51 (1752068751),
received on Wednesday, 9 July 2025, 13:45:54 (1752068754)
Author identity: vlad <vlad.muntoiu@gmail.com>
7c64cdf1aaa69699e1abe9bb804404ea2668e8c3
gpanthera.cc
@@ -769,6 +769,15 @@ namespace gPanthera {
child->insert_after(*box, *paned);
paned->unparent();
g_object_unref(child->gobj());
} else if(auto window = dynamic_cast<Gtk::Window*>(paned->get_parent())) {
window->set_child(*child);
g_object_unref(child->gobj());
}
// Focus the visible page of the former pane's other child
if(auto stack = dynamic_cast<ContentStack*>(child->get_last_child())) {
if(auto page = dynamic_cast<ContentPage*>(stack->get_visible_child())) {
content_manager->set_last_operated_page(page);
}
}
}
}
@@ -1012,7 +1021,11 @@ namespace gPanthera {
content_manager->signal_page_closing.emit(this);
if(this->stack) {
this->stack->remove(*this);
if(dynamic_cast<ContentNotebook*>(this->stack->get_parent()) && !this->stack->get_first_child()) {
/*
The stack may be removed, for example, if the application closes its window if
it was the sole stack inside. Thus, it must be re-checked.
*/
if(this->stack && dynamic_cast<ContentNotebook*>(this->stack->get_parent()) && !this->stack->get_first_child()) {
this->stack->remove_with_paned();
}
}