summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/CMakeLists.txt1
-rw-r--r--app/include/turns/app/windows/main.hpp6
-rw-r--r--app/src/windows/main.cpp13
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;
}