summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/include/turns/app/windows/main.hpp1
-rw-r--r--app/src/windows/main.cpp6
2 files changed, 7 insertions, 0 deletions
diff --git a/app/include/turns/app/windows/main.hpp b/app/include/turns/app/windows/main.hpp
index ca8237c..1ba1df5 100644
--- a/app/include/turns/app/windows/main.hpp
+++ b/app/include/turns/app/windows/main.hpp
@@ -26,6 +26,7 @@ namespace turns::app::windows
private:
auto handle_create_list_row(Glib::RefPtr<Glib::Object> const item) -> Gtk::Widget *;
auto handle_add_participant() -> void;
+ auto handle_clear() -> void;
auto handle_edit_participant(Glib::VariantBase param) -> void;
AdwApplicationWindow * m_adw;
diff --git a/app/src/windows/main.cpp b/app/src/windows/main.cpp
index 4f0f8c0..d6e5c1a 100644
--- a/app/src/windows/main.cpp
+++ b/app/src/windows/main.cpp
@@ -47,6 +47,7 @@ namespace turns::app::windows
m_participant_list->bind_model(m_participant_list_data, sigc::mem_fun(*this, &main::handle_create_list_row));
add_action("add_participant", sigc::mem_fun(*this, &main::handle_add_participant));
+ add_action("clear", sigc::mem_fun(*this, &main::handle_clear));
add_action_with_parameter("delete", Glib::VARIANT_TYPE_INT32, [this](auto param) {
auto index = Glib::VariantBase::cast_dynamic<Glib::Variant<int>>(param);
m_participant_list_data->remove(index.get());
@@ -67,6 +68,11 @@ namespace turns::app::windows
dialog->signal_finished().connect([this](auto name, auto priority) { m_participant_list_data->append(name, priority); });
}
+ auto main::handle_clear() -> void
+ {
+ m_participant_list_data->remove_all();
+ }
+
auto main::handle_edit_participant(Glib::VariantBase param) -> void
{
auto index = Glib::VariantBase::cast_dynamic<Glib::Variant<int>>(param);