summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/include/turns/core/turn_order.hpp3
-rw-r--r--core/src/turn_order.cpp5
-rw-r--r--ui/src/windows/tracker.cpp2
3 files changed, 10 insertions, 0 deletions
diff --git a/core/include/turns/core/turn_order.hpp b/core/include/turns/core/turn_order.hpp
index 52a7268..5e38d0c 100644
--- a/core/include/turns/core/turn_order.hpp
+++ b/core/include/turns/core/turn_order.hpp
@@ -36,6 +36,7 @@ namespace turns::core
using is_running_type = bool;
using progress_type = double;
using round_number_type = unsigned int;
+ using skip_defeated_type = bool;
auto static constexpr invalid_participant_index = std::numeric_limits<active_participant_type>::max();
auto static constexpr invalid_round_number = std::numeric_limits<round_number_type>::max();
@@ -53,6 +54,7 @@ namespace turns::core
auto is_running() const -> Glib::PropertyProxy_ReadOnly<is_running_type>;
auto progress() const -> Glib::PropertyProxy_ReadOnly<progress_type>;
auto round_number() const -> Glib::PropertyProxy_ReadOnly<round_number_type>;
+ auto skip_defeated() -> Glib::PropertyProxy<skip_defeated_type>;
/** Element Modifications */
auto add(Glib::ustring const & name, float priority, disposition disposition) -> void;
@@ -92,6 +94,7 @@ namespace turns::core
Glib::Property<is_running_type> m_is_running{*this, "is-running", false};
Glib::Property<progress_type> m_progress{*this, "progress", 0.0};
Glib::Property<round_number_type> m_round_number{*this, "round-number", invalid_round_number};
+ Glib::Property<skip_defeated_type> m_skip_defeated{*this, "skip-defeated", false};
};
} // namespace turns::core
diff --git a/core/src/turn_order.cpp b/core/src/turn_order.cpp
index 31b6830..a2c4ce5 100644
--- a/core/src/turn_order.cpp
+++ b/core/src/turn_order.cpp
@@ -93,6 +93,11 @@ namespace turns::core
return m_round_number.get_proxy();
}
+ auto turn_order::skip_defeated() -> Glib::PropertyProxy<skip_defeated_type>
+ {
+ return m_skip_defeated.get_proxy();
+ }
+
/** Modifiers */
auto turn_order::add(Glib::ustring const & name, float priority, disposition disposition) -> void
diff --git a/ui/src/windows/tracker.cpp b/ui/src/windows/tracker.cpp
index b9a55c0..e087eb0 100644
--- a/ui/src/windows/tracker.cpp
+++ b/ui/src/windows/tracker.cpp
@@ -78,6 +78,8 @@ namespace turns::ui::windows
m_controls->property_reveal_child(),
Glib::Binding::Flags::SYNC_CREATE);
// clang-format on
+
+ m_settings->bind("skip-defeated", m_turn_order->skip_defeated());
}
auto tracker::setup_actions() -> void