diff options
Diffstat (limited to 'app/src/main.cpp')
| -rw-r--r-- | app/src/main.cpp | 38 |
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 |
