blob: eadc41e791f32b9b8f417ebfeb71e9eb20dc27d1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
#include "turns/app/windows/create_participant.hpp"
#include <print>
#include <gtkmm/listboxrow.h>
#include <gtkmm/editable.h>
namespace turns::app::windows
{
create_participant::create_participant(BaseObjectType * base, Glib::RefPtr<Gtk::Builder> const builder)
: Gtk::Widget{base}
, m_adw{ADW_DIALOG(gobj())}
, m_finish{builder->get_widget<Gtk::Button>("finish")}
{
m_disposition = ADW_COMBO_ROW(builder->get_widget<Gtk::ListBoxRow>("disposition")->gobj());
m_name = ADW_ENTRY_ROW(builder->get_widget<Gtk::ListBoxRow>("name")->gobj());
m_order = ADW_SPIN_ROW(builder->get_widget<Gtk::ListBoxRow>("order")->gobj());
m_finish->signal_clicked().connect(sigc::mem_fun(*this, &create_participant::handle_finish_clicked));
}
auto create_participant::present(Gtk::Widget * parent) -> void
{
adw_dialog_present(m_adw, parent->gobj());
}
auto create_participant::signal_finished() -> signal_finished_type
{
return m_signal_finished;
}
auto create_participant::handle_finish_clicked() -> void
{
auto name = gtk_editable_get_text(GTK_EDITABLE(m_name));
auto order = adw_spin_row_get_value(m_order);
m_signal_finished.emit(name, order);
adw_dialog_close(m_adw);
}
} // namespace turns::app::windows
|