diff options
Diffstat (limited to 'app')
| -rw-r--r-- | app/src/main.cpp | 15 |
1 files changed, 9 insertions, 6 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 { |
