summaryrefslogtreecommitdiff
path: root/app/src/windows/tracker.cpp
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@gmail.com>2024-07-16 17:31:57 +0200
committerFelix Morgner <felix.morgner@gmail.com>2024-07-16 20:10:59 +0200
commit474f1302eaf868e2b311d6561a69cae8f736a7c1 (patch)
tree175a359a653c9ed96835e41e055f5ac011c7ce33 /app/src/windows/tracker.cpp
parent2fd48d4ee446cb84f38605371eb9a05c70dde590 (diff)
downloadturns-474f1302eaf868e2b311d6561a69cae8f736a7c1.tar.xz
turns-474f1302eaf868e2b311d6561a69cae8f736a7c1.zip
app: move turn order management logic to turn_order
Diffstat (limited to 'app/src/windows/tracker.cpp')
-rw-r--r--app/src/windows/tracker.cpp20
1 files changed, 10 insertions, 10 deletions
diff --git a/app/src/windows/tracker.cpp b/app/src/windows/tracker.cpp
index 3c39a2f..639cf8a 100644
--- a/app/src/windows/tracker.cpp
+++ b/app/src/windows/tracker.cpp
@@ -36,31 +36,31 @@ namespace turns::app::windows
{
m_stack->add(*m_turn_order);
- auto clear_action = add_action("clear", sigc::mem_fun(*m_turn_order, &widgets::turn_order_view::clear));
+ auto clear_action = add_action("clear", sigc::mem_fun(*m_turn_order->get_model(), &domain::turn_order::remove_all));
add_action("add_participant", sigc::mem_fun(*this, &tracker::handle_add_participant));
add_action_with_parameter("delete", Glib::VARIANT_TYPE_INT32, sigc::mem_fun(*this, &tracker::handle_delete_participant));
add_action_with_parameter("edit", Glib::VARIANT_TYPE_INT32, sigc::mem_fun(*this, &tracker::handle_edit_participant));
- auto start_action = add_action("start", sigc::mem_fun(*m_turn_order, &widgets::turn_order_view::start));
+ auto start_action = add_action("start", sigc::mem_fun(*m_turn_order->get_model(), &domain::turn_order::start));
- Glib::Binding::bind_property(m_turn_order->property_is_empty(),
+ Glib::Binding::bind_property(m_turn_order->get_model()->property_empty(),
clear_action->property_enabled(),
Glib::Binding::Flags::SYNC_CREATE | Glib::Binding::Flags::INVERT_BOOLEAN);
- Glib::Binding::bind_property(m_turn_order->property_is_empty(),
+ Glib::Binding::bind_property(m_turn_order->get_model()->property_empty(),
m_controls->property_reveal_child(),
Glib::Binding::Flags::SYNC_CREATE | Glib::Binding::Flags::INVERT_BOOLEAN);
- Glib::Binding::bind_property(m_turn_order->property_is_empty(),
+ Glib::Binding::bind_property(m_turn_order->get_model()->property_empty(),
m_stack->property_visible_child(),
Glib::Binding::Flags::SYNC_CREATE,
[this](auto empty) { return empty ? m_empty : m_turn_order; });
- Glib::Binding::bind_property(m_turn_order->property_is_empty(),
+ Glib::Binding::bind_property(m_turn_order->get_model()->property_empty(),
start_action->property_enabled(),
Glib::Binding::Flags::SYNC_CREATE | Glib::Binding::Flags::INVERT_BOOLEAN);
// clang-format off
- Glib::Binding::bind_property(m_turn_order->property_is_empty(),
+ Glib::Binding::bind_property(m_turn_order->get_model()->property_empty(),
m_subtitle,
Glib::Binding::Flags::SYNC_CREATE,
[](auto empty) {
@@ -73,20 +73,20 @@ namespace turns::app::windows
{
auto [lifeline, dialog] = editor_for(nullptr);
dialog->present(this);
- dialog->signal_finished().connect(sigc::mem_fun(*m_turn_order, &widgets::turn_order_view::append));
+ dialog->signal_finished().connect([this](auto n, auto p, auto d) { m_turn_order->get_model()->append(n, p, d); });
}
auto tracker::handle_delete_participant(Glib::VariantBase param) -> void
{
auto index = Glib::VariantBase::cast_dynamic<Glib::Variant<int>>(param);
- m_turn_order->remove(index.get());
+ m_turn_order->get_model()->remove(index.get());
}
auto tracker::handle_edit_participant(Glib::VariantBase param) -> void
{
static_cast<void>(param);
auto index = Glib::VariantBase::cast_dynamic<Glib::Variant<int>>(param);
- auto participant = m_turn_order->get(index.get());
+ auto participant = m_turn_order->get_model()->get_participant(index.get());
auto [lifeline, dialog] = editor_for(participant);
dialog->present(this);
}