diff options
| author | Felix Morgner <felix.morgner@gmail.com> | 2024-07-14 01:41:14 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@gmail.com> | 2024-07-14 01:41:14 +0200 |
| commit | ec3fa197624cea242b05303461e6fece78d78009 (patch) | |
| tree | 11e0c48443f160d252cabd9adcba20c78675b9e2 /app/src | |
| parent | 695ece2c35491a509c70ef710bd0419d67b8fd0f (diff) | |
| download | turns-ec3fa197624cea242b05303461e6fece78d78009.tar.xz turns-ec3fa197624cea242b05303461e6fece78d78009.zip | |
app/ui: layout basic participant creation dialog
Diffstat (limited to 'app/src')
| -rw-r--r-- | app/src/windows/create_participant.cpp | 31 | ||||
| -rw-r--r-- | app/src/windows/main.cpp | 10 |
2 files changed, 41 insertions, 0 deletions
diff --git a/app/src/windows/create_participant.cpp b/app/src/windows/create_participant.cpp new file mode 100644 index 0000000..b6d674f --- /dev/null +++ b/app/src/windows/create_participant.cpp @@ -0,0 +1,31 @@ +#include "turns/app/windows/create_participant.hpp" + +#include <print> + +#include <gtkmm/listboxrow.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::handle_finish_clicked() -> void + { + adw_dialog_close(m_adw); + } +} // namespace turns::app::windows
\ No newline at end of file diff --git a/app/src/windows/main.cpp b/app/src/windows/main.cpp index f25b220..d4c3015 100644 --- a/app/src/windows/main.cpp +++ b/app/src/windows/main.cpp @@ -1,6 +1,7 @@ #include "turns/app/windows/main.hpp" #include "turns/app/widgets/participant_list_row.hpp" +#include "turns/app/windows/create_participant.hpp" #include "turns/lang/messages.hpp" #include <format> @@ -28,6 +29,8 @@ namespace turns::app::windows m_open_main_menu->set_tooltip_text(_(tooltips::main_menu)); adw_window_title_set_subtitle(m_title, _(labels::no_active_turn_order)); + m_add_participant->signal_clicked().connect(sigc::mem_fun(*this, &main::handle_create_participant)); + for (auto n : std::views::iota(0, 32)) { auto name = std::format("Participant #{}", n); @@ -46,4 +49,11 @@ namespace turns::app::windows return widget; } + auto main::handle_create_participant() -> void + { + auto builder = Gtk::Builder::create_from_resource("/ch/arknet/Turns/windows/create_participant.ui"); + auto dialog = Gtk::Builder::get_widget_derived<windows::create_participant>(builder, "create_participant_dialog"); + dialog->present(this); + } + } // namespace turns::app::windows |
