From 85e1761f3a1107b0b5988de3225d69b586a1c71b Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Mon, 15 Jul 2024 00:22:07 +0200 Subject: app/ui: enable participant editing --- app/src/windows/main.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'app/src/windows/main.cpp') diff --git a/app/src/windows/main.cpp b/app/src/windows/main.cpp index d217e9f..d654a3b 100644 --- a/app/src/windows/main.cpp +++ b/app/src/windows/main.cpp @@ -44,6 +44,7 @@ namespace turns::app::windows auto index = Glib::VariantBase::cast_dynamic>(param); m_participants->remove(index.get()); }); + add_action_with_parameter("edit", Glib::VARIANT_TYPE_INT32, sigc::mem_fun(*this, &main::handle_edit_participant)); } auto main::handle_create_list_row(Glib::RefPtr const item) -> Gtk::Widget * @@ -65,4 +66,17 @@ namespace turns::app::windows dialog->signal_finished().connect([this](auto name, auto priority) { m_participants->append(name, priority); }); } + auto main::handle_edit_participant(Glib::VariantBase param) -> void + { + auto index = Glib::VariantBase::cast_dynamic>(param); + auto participant = m_participants->get_item(index.get()); + + auto builder = Gtk::Builder::create_from_resource("/ch/arknet/Turns/windows/participant_editor.ui"); + auto dialog = Gtk::Builder::get_widget_derived(builder, "participant_editor", participant); + + dialog->set_title(_("Add participant")); + dialog->present(this); + dialog->signal_finished().connect([this](auto name, auto priority) { m_participants->append(name, priority); }); + } + } // namespace turns::app::windows -- cgit v1.2.3