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/participant_editor.cpp | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'app/src/windows/participant_editor.cpp') diff --git a/app/src/windows/participant_editor.cpp b/app/src/windows/participant_editor.cpp index f89fc20..bab7731 100644 --- a/app/src/windows/participant_editor.cpp +++ b/app/src/windows/participant_editor.cpp @@ -8,15 +8,22 @@ namespace turns::app::windows { - participant_editor::participant_editor(BaseObjectType * base, Glib::RefPtr const builder) + participant_editor::participant_editor(BaseObjectType * base, Glib::RefPtr const builder, Glib::RefPtr obj) : Gtk::Widget{base} , m_adw{ADW_DIALOG(gobj())} , m_finish{builder->get_widget("finish")} + , m_participant{obj} { m_disposition = ADW_COMBO_ROW(builder->get_widget("disposition")->gobj()); m_name = ADW_ENTRY_ROW(builder->get_widget("name")->gobj()); m_priority = ADW_SPIN_ROW(builder->get_widget("priority")->gobj()); + if (obj) + { + gtk_editable_set_text(GTK_EDITABLE(m_name), m_participant->property_name().get_value().c_str()); + adw_spin_row_set_value(m_priority, m_participant->property_priority().get_value()); + } + m_finish->signal_clicked().connect(sigc::mem_fun(*this, &participant_editor::handle_finish_clicked)); } @@ -39,7 +46,15 @@ namespace turns::app::windows { auto name = gtk_editable_get_text(GTK_EDITABLE(m_name)); auto priority = adw_spin_row_get_value(m_priority); - m_signal_finished.emit(name, priority); + if (m_participant) + { + m_participant->property_name().set_value(name); + m_participant->property_priority().set_value(priority); + } + else + { + m_signal_finished.emit(name, priority); + } adw_dialog_close(m_adw); } } // namespace turns::app::windows \ No newline at end of file -- cgit v1.2.3