summaryrefslogtreecommitdiff
path: root/app/src/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main.cpp')
-rw-r--r--app/src/main.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/app/src/main.cpp b/app/src/main.cpp
index 9a371d5..f179cf8 100644
--- a/app/src/main.cpp
+++ b/app/src/main.cpp
@@ -23,6 +23,7 @@
#include <libintl.h>
#include <clocale>
+#include <print>
auto show_about(Glib::RefPtr<Adwaita::Application> app)
{
@@ -40,9 +41,9 @@ auto main(int argc, char * argv[]) -> int
auto app = Adwaita::Application::create("ch.arknet.Turns", Gio::Application::Flags::HANDLES_OPEN);
auto settings = turns::core::get_settings();
-
+
turns::core::register_types();
-
+
app->signal_startup().connect([app] {
turns::ui::register_types();
@@ -64,7 +65,6 @@ auto main(int argc, char * argv[]) -> int
app->signal_activate().connect([app, settings] {
auto window = new turns::ui::Tracker{app, settings};
- app->signal_shutdown().connect([window] { delete window; });
window->present();
});
@@ -85,5 +85,13 @@ auto main(int argc, char * argv[]) -> int
window->load(files[0]);
});
+ app->signal_window_removed().connect([](auto window) {
+ auto tracker = dynamic_cast<turns::ui::Tracker *>(window);
+ if (tracker)
+ {
+ delete tracker;
+ }
+ });
+
return app->run(argc, argv);
} \ No newline at end of file