diff options
Diffstat (limited to 'app/src/windows/main.cpp')
| -rw-r--r-- | app/src/windows/main.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/app/src/windows/main.cpp b/app/src/windows/main.cpp index d6e5c1a..a8f8739 100644 --- a/app/src/windows/main.cpp +++ b/app/src/windows/main.cpp @@ -33,7 +33,12 @@ namespace turns::app::windows , m_turn_order{builder->get_widget<Gtk::ScrolledWindow>("turn_order")} , m_participant_list_data{domain::turn_order::create()} , m_subtitle{Glib::wrap(GTK_WIDGET(m_title)), "subtitle"} + , m_clear_action{add_action("clear", sigc::mem_fun(*this, &main::handle_clear))} { + m_clear_action_enabled = Glib::Binding::bind_property(m_participant_list_data->property_n_items(), + m_clear_action->property_enabled(), + Glib::Binding::Flags::SYNC_CREATE); + m_visible_child_widget = Glib::Binding::bind_property(m_participant_list_data->property_n_items(), m_stack->property_visible_child(), Glib::Binding::Flags::SYNC_CREATE, @@ -47,7 +52,6 @@ namespace turns::app::windows m_participant_list->bind_model(m_participant_list_data, sigc::mem_fun(*this, &main::handle_create_list_row)); add_action("add_participant", sigc::mem_fun(*this, &main::handle_add_participant)); - add_action("clear", sigc::mem_fun(*this, &main::handle_clear)); add_action_with_parameter("delete", Glib::VARIANT_TYPE_INT32, [this](auto param) { auto index = Glib::VariantBase::cast_dynamic<Glib::Variant<int>>(param); m_participant_list_data->remove(index.get()); |
