summaryrefslogtreecommitdiff
path: root/app/src
diff options
context:
space:
mode:
Diffstat (limited to 'app/src')
-rw-r--r--app/src/widgets/participant_row.cpp43
-rw-r--r--app/src/windows/tracker.cpp49
2 files changed, 48 insertions, 44 deletions
diff --git a/app/src/widgets/participant_row.cpp b/app/src/widgets/participant_row.cpp
index 4f55898..269aa15 100644
--- a/app/src/widgets/participant_row.cpp
+++ b/app/src/widgets/participant_row.cpp
@@ -41,37 +41,36 @@ namespace turns::app::widgets
, m_subtitle{get_widget<Gtk::Label>("subtitle")}
, m_title{get_widget<Gtk::Label>("title")}
, m_toggle_defeated{get_widget<Gtk::ToggleButton>("toggle_defeated")}
- , m_subtitle_visibility{}
{
m_delete->signal_clicked().connect(sigc::mem_fun(*this, &participant_row::handle_delete));
m_edit->signal_clicked().connect(sigc::mem_fun(*this, &participant_row::handle_edit));
- m_subtitle_visibility = Glib::Binding::bind_property(m_subtitle->property_label(),
- m_subtitle->property_visible(),
- Glib::Binding::Flags::DEFAULT,
- sigc::mem_fun(&Glib::ustring::size));
- m_title_visibility = Glib::Binding::bind_property(m_title->property_label(),
- m_title->property_visible(),
- Glib::Binding::Flags::INVERT_BOOLEAN,
- sigc::mem_fun(&Glib::ustring::size));
- m_toggle_defeated_icon = Glib::Binding::bind_property(m_toggle_defeated->property_active(),
- m_toggle_defeated->property_icon_name(),
- Glib::Binding::Flags::SYNC_CREATE,
- [](auto active) { return active ? "face-sick-symbolic" : "face-smile-symbolic"; });
+ Glib::Binding::bind_property(m_subtitle->property_label(),
+ m_subtitle->property_visible(),
+ Glib::Binding::Flags::DEFAULT,
+ sigc::mem_fun(&Glib::ustring::size));
+ Glib::Binding::bind_property(m_title->property_label(),
+ m_title->property_visible(),
+ Glib::Binding::Flags::INVERT_BOOLEAN,
+ sigc::mem_fun(&Glib::ustring::size));
+ Glib::Binding::bind_property(m_toggle_defeated->property_active(),
+ m_toggle_defeated->property_icon_name(),
+ Glib::Binding::Flags::SYNC_CREATE,
+ [](auto active) { return active ? "face-sick-symbolic" : "face-smile-symbolic"; });
if (participant)
{
- m_title_label = Glib::Binding::bind_property(participant->property_name(), m_title->property_label(), Glib::Binding::Flags::SYNC_CREATE);
+ Glib::Binding::bind_property(participant->property_name(), m_title->property_label(), Glib::Binding::Flags::SYNC_CREATE);
- m_subtitle_label = Glib::Binding::bind_property(participant->property_priority(),
- m_subtitle->property_label(),
- Glib::Binding::Flags::SYNC_CREATE,
- [](auto n) { return std::vformat(_(lang::priority_number), std::make_format_args(n)); });
+ Glib::Binding::bind_property(participant->property_priority(),
+ m_subtitle->property_label(),
+ Glib::Binding::Flags::SYNC_CREATE,
+ [](auto n) { return std::vformat(_(lang::priority_number), std::make_format_args(n)); });
- m_toggle_defeated_css_classes = Glib::Binding::bind_property(participant->property_disposition(),
- m_toggle_defeated->property_css_classes(),
- Glib::Binding::Flags::SYNC_CREATE,
- [this](auto value) {
+ Glib::Binding::bind_property(participant->property_disposition(),
+ m_toggle_defeated->property_css_classes(),
+ Glib::Binding::Flags::SYNC_CREATE,
+ [this](auto value) {
auto classes = m_toggle_defeated->get_css_classes();
auto removed = std::ranges::remove_if(classes, [](auto cls) {
return (cls == "disposition-friendly") | (cls == "disposition-hostile") || (cls == "disposition-secret");
diff --git a/app/src/windows/tracker.cpp b/app/src/windows/tracker.cpp
index 21dd21f..60d9f23 100644
--- a/app/src/windows/tracker.cpp
+++ b/app/src/windows/tracker.cpp
@@ -32,36 +32,35 @@ namespace turns::app::windows
, m_title(ADW_WINDOW_TITLE(builder->get_widget<Gtk::Widget>("title")->gobj()))
, m_turn_order{Gtk::make_managed<widgets::turn_order_view>()}
, m_subtitle{Glib::wrap(GTK_WIDGET(m_title)), "subtitle"}
- , m_clear_action{add_action("clear", sigc::mem_fun(*m_turn_order, &widgets::turn_order_view::clear))}
{
m_stack->add(*m_turn_order);
- // clang-format off
- 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::INVERT_BOOLEAN);
+ auto clear_action = add_action("clear", sigc::mem_fun(*m_turn_order, &widgets::turn_order_view::clear));
+ 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));
- 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::INVERT_BOOLEAN);
+ Glib::Binding::bind_property(m_turn_order->property_is_empty(),
+ clear_action->property_enabled(),
+ Glib::Binding::Flags::SYNC_CREATE | Glib::Binding::Flags::INVERT_BOOLEAN);
- 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 empty) { return empty ? m_empty : m_turn_order; });
+ Glib::Binding::bind_property(m_turn_order->property_is_empty(),
+ m_controls->property_reveal_child(),
+ Glib::Binding::Flags::SYNC_CREATE | Glib::Binding::Flags::INVERT_BOOLEAN);
- m_subtitle_text = Glib::Binding::bind_property(m_turn_order->property_is_empty(),
- m_subtitle,
- Glib::Binding::Flags::SYNC_CREATE,
- [](auto empty) { return empty ? _(lang::no_active_turn_order) : ""; });
- // clang-format on
+ Glib::Binding::bind_property(m_turn_order->property_is_empty(),
+ m_stack->property_visible_child(),
+ Glib::Binding::Flags::SYNC_CREATE,
+ [this](auto empty) { return empty ? m_empty : m_turn_order; });
- add_action("add_participant", sigc::mem_fun(*this, &tracker::handle_add_participant));
- add_action_with_parameter("delete", Glib::VARIANT_TYPE_INT32, [this](auto param) {
- auto index = Glib::VariantBase::cast_dynamic<Glib::Variant<int>>(param);
- m_turn_order->remove(index.get());
+ // clang-format off
+ Glib::Binding::bind_property(m_turn_order->property_is_empty(),
+ m_subtitle,
+ Glib::Binding::Flags::SYNC_CREATE,
+ [](auto empty) {
+ return empty ? _(lang::no_active_turn_order) : "";
});
- add_action_with_parameter("edit", Glib::VARIANT_TYPE_INT32, sigc::mem_fun(*this, &tracker::handle_edit_participant));
+ // clang-format on
}
auto tracker::handle_add_participant() -> void
@@ -71,6 +70,12 @@ namespace turns::app::windows
dialog->signal_finished().connect(sigc::mem_fun(*m_turn_order, &widgets::turn_order_view::append));
}
+ 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());
+ }
+
auto tracker::handle_edit_participant(Glib::VariantBase param) -> void
{
static_cast<void>(param);