roundabout,
created on Monday, 10 March 2025, 18:16:57 (1741630617),
received on Monday, 10 March 2025, 18:17:00 (1741630620)
Author identity: vlad <vlad.muntoiu@gmail.com>
c26aa090a119bdc3e391dae30e4b70aecb10c648
gpanthera.cc
@@ -272,7 +272,7 @@ namespace gPanthera {
remove_handler.disconnect(); } DockButton::DockButton(DockablePane *pane) : Gtk::Button(), pane(pane) {DockButton::DockButton(DockablePane *pane) : Gtk::ToggleButton(), pane(pane) {if(pane->get_icon()) { this->set_child(*copy_image(pane->get_icon())); }
@@ -349,9 +349,11 @@ namespace gPanthera {
if(this->pane->get_stack()->get_visible_child_name() == this->pane->get_identifier()) { this->add_css_class("checked"); this->add_css_class("gpanthera-dock-button-active"); this->set_active(true);} else { this->remove_css_class("checked"); this->remove_css_class("gpanthera-dock-button-active"); this->set_active(false);} }
@@ -365,9 +367,15 @@ namespace gPanthera {
for(auto *button : old_buttons) { remove(*button); } DockButton* first_child = nullptr;for(auto *widget = stack->get_first_child(); widget; widget = widget->get_next_sibling()) { if(auto pane = dynamic_cast<DockablePane*>(widget)) { auto *button = Gtk::make_managed<DockButton>(pane); if(!first_child) { first_child = button; } else { button->set_group(*first_child); }if(pane->get_identifier() != Glib::ustring("")) { append(*button); }
@@ -387,7 +395,6 @@ namespace gPanthera {
this->stacks.erase(std::ranges::remove(this->stacks, stack).begin(), this->stacks.end()); } void BaseStack::add(Gtk::Widget &child, const Glib::ustring &name) { Gtk::Stack::add(child, name); signal_child_added.emit(&child);
gpanthera.hh
@@ -80,7 +80,7 @@ namespace gPanthera {
void add_pane(DockablePane &child); }; class DockButton : public Gtk::Button {class DockButton : public Gtk::ToggleButton {private: sigc::connection active_style_handler; std::shared_ptr<Gtk::DragSource> drag_source;