From c87ebdbfacdc2e1b5ae50286a5437e7b9eceafa7 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Tue, 16 Jul 2024 16:37:49 +0200 Subject: app: replace n_items with is_empty property --- app/src/widgets/turn_order_view.cpp | 17 ++++++++++++----- app/src/windows/tracker.cpp | 16 ++++++++-------- 2 files changed, 20 insertions(+), 13 deletions(-) (limited to 'app/src') diff --git a/app/src/widgets/turn_order_view.cpp b/app/src/widgets/turn_order_view.cpp index 9d49ad8..c66212a 100644 --- a/app/src/widgets/turn_order_view.cpp +++ b/app/src/widgets/turn_order_view.cpp @@ -21,9 +21,16 @@ namespace turns::app::widgets , template_widget{TEMPLATE} , m_model{domain::turn_order::create()} , m_view{get_widget("view")} - , m_n_items{m_model.get(), "n_items"} + , m_is_empty{*this, "is_empty", true} { m_view->bind_model(m_model, sigc::mem_fun(*this, &turn_order_view::handle_create_row)); + + // clang-format off + Glib::Binding::bind_property(m_model->property_n_items(), + m_is_empty.get_proxy(), + Glib::Binding::Flags::DEFAULT, + [](auto n) { return n == 0; }); + // clang-format on } auto turn_order_view::append(Glib::ustring name, float priority, domain::disposition disposition) -> void @@ -47,14 +54,14 @@ namespace turns::app::widgets m_model->remove(index); } - auto turn_order_view::get_n_items() const noexcept -> unsigned int + auto turn_order_view::get_is_empty() const noexcept -> bool { - return m_n_items; + return m_is_empty; } - auto turn_order_view::property_n_items() const -> Glib::PropertyProxy_ReadOnly + auto turn_order_view::property_is_empty() const -> Glib::PropertyProxy_ReadOnly { - return m_n_items; + return m_is_empty.get_proxy(); } auto turn_order_view::handle_create_row(Glib::RefPtr const item) -> Gtk::Widget * diff --git a/app/src/windows/tracker.cpp b/app/src/windows/tracker.cpp index f57e9eb..21dd21f 100644 --- a/app/src/windows/tracker.cpp +++ b/app/src/windows/tracker.cpp @@ -37,23 +37,23 @@ namespace turns::app::windows m_stack->add(*m_turn_order); // clang-format off - m_clear_action_enabled = Glib::Binding::bind_property(m_turn_order->property_n_items(), + m_clear_action_enabled = Glib::Binding::bind_property(m_turn_order->property_is_empty(), m_clear_action->property_enabled(), - Glib::Binding::Flags::SYNC_CREATE); + Glib::Binding::Flags::SYNC_CREATE | Glib::Binding::Flags::INVERT_BOOLEAN); - m_controls_revealed = Glib::Binding::bind_property(m_turn_order->property_n_items(), + m_controls_revealed = Glib::Binding::bind_property(m_turn_order->property_is_empty(), m_controls->property_reveal_child(), - Glib::Binding::Flags::SYNC_CREATE); + Glib::Binding::Flags::SYNC_CREATE | Glib::Binding::Flags::INVERT_BOOLEAN); - m_visible_child_widget = Glib::Binding::bind_property(m_turn_order->property_n_items(), + m_visible_child_widget = Glib::Binding::bind_property(m_turn_order->property_is_empty(), m_stack->property_visible_child(), Glib::Binding::Flags::SYNC_CREATE, - [this](auto count) { return count ? m_turn_order : m_empty; }); + [this](auto empty) { return empty ? m_empty : m_turn_order; }); - m_subtitle_text = Glib::Binding::bind_property(m_turn_order->property_n_items(), + m_subtitle_text = Glib::Binding::bind_property(m_turn_order->property_is_empty(), m_subtitle, Glib::Binding::Flags::SYNC_CREATE, - [](auto count) { return count ? "" : _(lang::no_active_turn_order); }); + [](auto empty) { return empty ? _(lang::no_active_turn_order) : ""; }); // clang-format on add_action("add_participant", sigc::mem_fun(*this, &tracker::handle_add_participant)); -- cgit v1.2.3