summaryrefslogtreecommitdiff
path: root/app/src
diff options
context:
space:
mode:
Diffstat (limited to 'app/src')
-rw-r--r--app/src/widgets/turn_order_view.cpp17
-rw-r--r--app/src/windows/tracker.cpp16
2 files changed, 20 insertions, 13 deletions
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<turn_order_view, Gtk::ScrolledWindow>{TEMPLATE}
, m_model{domain::turn_order::create()}
, m_view{get_widget<Gtk::ListBox>("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<unsigned int>
+ auto turn_order_view::property_is_empty() const -> Glib::PropertyProxy_ReadOnly<bool>
{
- return m_n_items;
+ return m_is_empty.get_proxy();
}
auto turn_order_view::handle_create_row(Glib::RefPtr<Glib::Object> 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));