From 826b7916c2dfb00116777ca42858624edf6a7f92 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Sat, 13 Jul 2024 15:17:36 +0200 Subject: app/main: port to participant domain object --- app/CMakeLists.txt | 1 + app/include/turns/app/windows/main.hpp | 6 ++++-- app/src/windows/main.cpp | 13 +++++++------ 3 files changed, 12 insertions(+), 8 deletions(-) (limited to 'app') diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt index aa65a86..4746fee 100644 --- a/app/CMakeLists.txt +++ b/app/CMakeLists.txt @@ -28,6 +28,7 @@ target_link_libraries("app" PUBLIC "PkgConfig::adwaita" "PkgConfig::gtkmm" + "turns::domain" "turns::lang" "$<$:-Wl,--whole-archive>" diff --git a/app/include/turns/app/windows/main.hpp b/app/include/turns/app/windows/main.hpp index fd55e72..c047867 100644 --- a/app/include/turns/app/windows/main.hpp +++ b/app/include/turns/app/windows/main.hpp @@ -1,7 +1,10 @@ #ifndef TURNS_APP_WINDOWS_MAIN_WINDOW_HPP #define TURNS_APP_WINDOWS_MAIN_WINDOW_HPP +#include "turns/domain/participant.hpp" + #include +#include #include #include #include @@ -9,7 +12,6 @@ #include #include #include -#include #include namespace turns::app::windows @@ -28,7 +30,7 @@ namespace turns::app::windows Gtk::ListBox * m_participant_list; AdwWindowTitle * m_title; - Glib::RefPtr m_tests; + Glib::RefPtr> m_participants; }; } // namespace turns::app::windows diff --git a/app/src/windows/main.cpp b/app/src/windows/main.cpp index 20d0649..f25b220 100644 --- a/app/src/windows/main.cpp +++ b/app/src/windows/main.cpp @@ -22,7 +22,7 @@ namespace turns::app::windows , m_open_main_menu{builder->get_widget("open_main_menu")} , m_participant_list{builder->get_widget("participant_list")} , m_title(ADW_WINDOW_TITLE(builder->get_widget("title")->gobj())) - , m_tests{Gtk::StringList::create()} + , m_participants{Gio::ListStore::create()} { m_add_participant->set_tooltip_text(_(tooltips::add_a_participant)); m_open_main_menu->set_tooltip_text(_(tooltips::main_menu)); @@ -30,18 +30,19 @@ namespace turns::app::windows for (auto n : std::views::iota(0, 32)) { - m_tests->append(std::format("Participant #{}", n)); + auto name = std::format("Participant #{}", n); + auto participant = domain::participant::create(name, n); + m_participants->append(participant); } - m_participant_list->bind_model(m_tests, sigc::mem_fun(*this, &main::handle_create_list_row)); + m_participant_list->bind_model(m_participants, sigc::mem_fun(*this, &main::handle_create_list_row)); } auto main::handle_create_list_row(Glib::RefPtr const item) -> Gtk::Widget * { - auto data = std::dynamic_pointer_cast(item); + auto participant = std::dynamic_pointer_cast(item); auto widget = Gtk::make_managed(); - widget->set_title(data->get_string()); - widget->set_subtitle("Details for " + data->get_string()); + widget->set_title(participant->name()); return widget; } -- cgit v1.2.3