summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/src/main.cpp15
-rw-r--r--ui/include/turns/ui/windows/tracker.hpp3
-rw-r--r--ui/src/windows/tracker.cpp6
-rw-r--r--ui/tests/windows/tracker.cpp3
4 files changed, 15 insertions, 12 deletions
diff --git a/app/src/main.cpp b/app/src/main.cpp
index f21dc20..88d3b6b 100644
--- a/app/src/main.cpp
+++ b/app/src/main.cpp
@@ -1,5 +1,6 @@
#include "turns/adw/application.hpp"
#include "turns/core/init.hpp"
+#include "turns/core/settings.hpp"
#include "turns/ui/init.hpp"
#include "turns/ui/windows/tracker.hpp"
@@ -8,6 +9,7 @@
#include <glibmm/refptr.h>
#include <giomm/application.h>
+#include <giomm/settings.h>
#include <gtkmm/builder.h>
@@ -17,9 +19,9 @@
#include <clocale>
#include <print>
-auto add_new_window(Glib::RefPtr<Gtk::Application> app, Glib::RefPtr<Gtk::Builder> builder)
+auto add_new_window(Glib::RefPtr<Gtk::Application> app, Glib::RefPtr<Gtk::Builder> builder, Glib::RefPtr<Gio::Settings> settings)
{
- auto window = Gtk::Builder::get_widget_derived<turns::ui::windows::tracker>(builder, "tracker");
+ auto window = Gtk::Builder::get_widget_derived<turns::ui::windows::tracker>(builder, "tracker", settings);
app->add_window(*window);
app->signal_shutdown().connect([window] {
window->close();
@@ -37,6 +39,7 @@ auto main(int argc, char * argv[]) -> int
auto app = turns::adw::Application::create("ch.arknet.Turns", Gio::Application::Flags::HANDLES_OPEN);
auto builder = Gtk::Builder::create_from_resource("/windows/tracker.ui");
+ auto settings = turns::core::get_settings();
app->signal_startup().connect([app] {
turns::core::register_types();
@@ -57,18 +60,18 @@ auto main(int argc, char * argv[]) -> int
app->set_accel_for_action("win.save-as", "<Primary><Shift>s");
});
- app->signal_activate().connect([app, builder] {
- auto window = add_new_window(app, builder);
+ app->signal_activate().connect([app, builder, settings] {
+ auto window = add_new_window(app, builder, settings);
window->present();
});
- app->signal_open().connect([app, builder](auto files, auto) {
+ app->signal_open().connect([app, builder, settings](auto files, auto) {
auto windows = app->get_windows();
auto window = static_cast<turns::ui::windows::tracker *>(nullptr);
if (windows.empty())
{
- window = add_new_window(app, builder);
+ window = add_new_window(app, builder, settings);
}
else
{
diff --git a/ui/include/turns/ui/windows/tracker.hpp b/ui/include/turns/ui/windows/tracker.hpp
index c6cbccb..8f44d08 100644
--- a/ui/include/turns/ui/windows/tracker.hpp
+++ b/ui/include/turns/ui/windows/tracker.hpp
@@ -3,7 +3,6 @@
#include "turns/adw/toastoverlay.hpp"
#include "turns/core/turn_order.hpp"
-#include "turns/ui/widgets/preferences.hpp"
#include "turns/ui/widgets/turn_order_view.hpp"
#include <glibmm/propertyproxy.h>
@@ -34,7 +33,7 @@ namespace turns::ui::windows
struct tracker : Gtk::ApplicationWindow
{
- tracker(BaseObjectType * base, Glib::RefPtr<Gtk::Builder> const builder);
+ tracker(BaseObjectType * base, Glib::RefPtr<Gtk::Builder> const builder, Glib::RefPtr<Gio::Settings> settings);
auto load(Glib::RefPtr<Gio::File> file) -> void;
diff --git a/ui/src/windows/tracker.cpp b/ui/src/windows/tracker.cpp
index b38b9da..cd32bee 100644
--- a/ui/src/windows/tracker.cpp
+++ b/ui/src/windows/tracker.cpp
@@ -2,7 +2,6 @@
#include "turns/adw/toast.hpp"
#include "turns/adw/toastoverlay.hpp"
-#include "turns/core/settings.hpp"
#include "turns/core/turn_order.hpp"
#include "turns/lang/messages.hpp"
#include "turns/ui/widgets/turn_order_view.hpp"
@@ -42,11 +41,12 @@
#include <format>
#include <print>
#include <string>
+#include <utility>
namespace turns::ui::windows
{
- tracker::tracker(BaseObjectType * base, Glib::RefPtr<Gtk::Builder> const builder)
+ tracker::tracker(BaseObjectType * base, Glib::RefPtr<Gtk::Builder> const builder, Glib::RefPtr<Gio::Settings> settings)
: Gtk::ApplicationWindow{base}
, m_controls{builder->get_widget<Gtk::Revealer>("controls")}
, m_empty{builder->get_widget<Gtk::Widget>("empty")}
@@ -56,7 +56,7 @@ namespace turns::ui::windows
, m_title{builder->get_widget<Gtk::Widget>("title")}
, m_turn_order{core::turn_order::create()}
, m_turn_order_view{Gtk::make_managed<widgets::turn_order_view>(m_turn_order)}
- , m_settings{turns::core::get_settings()}
+ , m_settings{std::move(settings)}
, m_subtitle{m_title, "subtitle"}
, m_css{Gtk::CssProvider::create()}
{
diff --git a/ui/tests/windows/tracker.cpp b/ui/tests/windows/tracker.cpp
index 236dad0..4af1dcd 100644
--- a/ui/tests/windows/tracker.cpp
+++ b/ui/tests/windows/tracker.cpp
@@ -1,5 +1,6 @@
#include "turns/ui/windows/tracker.hpp"
+#include "turns/core/settings.hpp"
#include "turns/lang/messages.hpp"
#include <catch2/catch_test_macros.hpp>
@@ -27,7 +28,7 @@ namespace turns::ui::windows::tests
setlocale(LC_ALL, locale);
auto builder = Gtk::Builder::create_from_resource("/windows/tracker.ui");
- auto instance = Gtk::Builder::get_widget_derived<tracker>(builder, "tracker");
+ auto instance = Gtk::Builder::get_widget_derived<tracker>(builder, "tracker", core::get_settings());
SECTION("was successfully constructed")
{