summaryrefslogtreecommitdiff
path: root/app/src/main.cpp
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@gmail.com>2024-07-25 13:05:02 +0200
committerFelix Morgner <felix.morgner@gmail.com>2024-07-25 13:14:45 +0200
commitc61998283c8436dd4360e35ce10c309e7d3ee723 (patch)
tree849e3c2ba5df9cf27b76c6c18fa1263091063815 /app/src/main.cpp
parent02a030a95b27034eedc151488a014950595510de (diff)
downloadturns-c61998283c8436dd4360e35ce10c309e7d3ee723.tar.xz
turns-c61998283c8436dd4360e35ce10c309e7d3ee723.zip
adw: add bare bones wrapper for AdwApplication
Diffstat (limited to 'app/src/main.cpp')
-rw-r--r--app/src/main.cpp38
1 files changed, 36 insertions, 2 deletions
diff --git a/app/src/main.cpp b/app/src/main.cpp
index 9ec90d2..119022f 100644
--- a/app/src/main.cpp
+++ b/app/src/main.cpp
@@ -1,7 +1,13 @@
-#include "turns/app/application.hpp"
+#include "turns/adw/application.hpp"
+#include "turns/adw/wrap_init.hpp"
+#include "turns/core/init.hpp"
+#include "turns/ui/init.hpp"
+#include "turns/ui/windows/tracker.hpp"
#include <glibmm/i18n.h>
+#include <gtkmm/builder.h>
+
auto main(int argc, char * argv[]) -> int
{
setlocale(LC_ALL, "");
@@ -9,6 +15,34 @@ auto main(int argc, char * argv[]) -> int
bind_textdomain_codeset("turns", "UTF-8");
textdomain("turns");
- auto app = turns::app::application::create();
+ auto app = turns::adw::Application::create("ch.arknet.Turns");
+ auto builder = Gtk::Builder::create_from_resource("/windows/tracker.ui");
+ auto window = Gtk::Builder::get_widget_derived<turns::ui::windows::tracker>(builder, "tracker");
+
+ app->signal_startup().connect([app] {
+ turns::core::register_types();
+ turns::ui::register_types();
+
+ auto style_manager = adw_style_manager_get_default();
+ adw_style_manager_set_color_scheme(style_manager, ADW_COLOR_SCHEME_PREFER_LIGHT);
+
+ app->add_action("quit", sigc::mem_fun(*app, &turns::adw::Application::quit));
+ app->set_accel_for_action("app.quit", "<Primary>q");
+ app->set_accel_for_action("win.clear", "<Primary>x");
+ app->set_accel_for_action("win.next", "<Primary>space");
+ app->set_accel_for_action("win.previous", "<Primary>BackSpace");
+ app->set_accel_for_action("win.add_participant", "<Primary>a");
+ });
+
+ app->signal_shutdown().connect([window] {
+ window->close();
+ delete window;
+ });
+
+ app->signal_activate().connect([app, window] {
+ app->add_window(*window);
+ window->present();
+ });
+
return app->run(argc, argv);
} \ No newline at end of file