diff options
| -rw-r--r-- | app/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | app/include/turns/app/windows/main.hpp | 6 | ||||
| -rw-r--r-- | app/src/windows/main.cpp | 13 |
3 files changed, 12 insertions, 8 deletions
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" "$<$<CXX_COMPILER_ID:GNU,Clang>:-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 <adwaita.h> +#include <giomm/liststore.h> #include <glibmm/object.h> #include <glibmm/refptr.h> #include <gtkmm/applicationwindow.h> @@ -9,7 +12,6 @@ #include <gtkmm/button.h> #include <gtkmm/listbox.h> #include <gtkmm/menubutton.h> -#include <gtkmm/stringlist.h> #include <gtkmm/widget.h> namespace turns::app::windows @@ -28,7 +30,7 @@ namespace turns::app::windows Gtk::ListBox * m_participant_list; AdwWindowTitle * m_title; - Glib::RefPtr<Gtk::StringList> m_tests; + Glib::RefPtr<Gio::ListStore<domain::participant>> 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<Gtk::MenuButton>("open_main_menu")} , m_participant_list{builder->get_widget<Gtk::ListBox>("participant_list")} , m_title(ADW_WINDOW_TITLE(builder->get_widget<Gtk::Widget>("title")->gobj())) - , m_tests{Gtk::StringList::create()} + , m_participants{Gio::ListStore<domain::participant>::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<Glib::Object> const item) -> Gtk::Widget * { - auto data = std::dynamic_pointer_cast<Gtk::StringObject>(item); + auto participant = std::dynamic_pointer_cast<domain::participant>(item); auto widget = Gtk::make_managed<widgets::participant_list_row>(); - widget->set_title(data->get_string()); - widget->set_subtitle("Details for " + data->get_string()); + widget->set_title(participant->name()); return widget; } |
