summaryrefslogtreecommitdiff
path: root/app/src/windows/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/windows/main.cpp')
-rw-r--r--app/src/windows/main.cpp14
1 files changed, 14 insertions, 0 deletions
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<Glib::Variant<int>>(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<Glib::Object> 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<Glib::Variant<int>>(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<windows::participant_editor>(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