diff options
Diffstat (limited to 'app/src/application.cpp')
| -rw-r--r-- | app/src/application.cpp | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/app/src/application.cpp b/app/src/application.cpp index 9408335..a5e8a3c 100644 --- a/app/src/application.cpp +++ b/app/src/application.cpp @@ -2,7 +2,7 @@ #include "turns/app/windows/main.hpp" -#include <glibmm.h> +#include <glibmm/wrap.h> #include <gtkmm/builder.h> #include <gtkmm/init.h> #include <gtkmm/window.h> @@ -15,23 +15,22 @@ namespace turns::app auto application::create() -> std::shared_ptr<application> { Gtk::init_gtkmm_internals(); + adw_init(); return std::shared_ptr<application>{new application{}}; } auto application::run(int argc, char * argv[]) -> int { - return g_application_run(G_APPLICATION(m_self), argc, argv); + return g_application_run(G_APPLICATION(m_adw), argc, argv); } application::application() { - m_self = adw_application_new("ch.arknet.Turns", G_APPLICATION_DEFAULT_FLAGS); - m_application = Glib::wrap(GTK_APPLICATION(m_self)); + m_adw = adw_application_new("ch.arknet.Turns", G_APPLICATION_DEFAULT_FLAGS); + m_application = Glib::wrap(GTK_APPLICATION(m_adw)); auto builder = Gtk::Builder::create_from_resource("/ch/arknet/Turns/windows/main.ui"); - auto main_window = Gtk::Builder::get_widget_derived<windows::main>(builder, "main"); - - m_main_window = ADW_APPLICATION_WINDOW(main_window->gobj()); + m_main = Gtk::Builder::get_widget_derived<windows::main>(builder, "main"); m_application->signal_activate().connect(sigc::mem_fun(*this, &application::on_activate)); m_application->signal_shutdown().connect(sigc::mem_fun(*this, &application::on_shutdown)); @@ -40,19 +39,19 @@ namespace turns::app auto application::handle_action_quit() -> void { - gtk_window_close(GTK_WINDOW(m_main_window)); + m_main->close(); } auto application::on_activate() -> void { - gtk_application_add_window(m_application->gobj(), GTK_WINDOW(m_main_window)); - gtk_window_present(GTK_WINDOW(m_main_window)); + m_application->add_window(*m_main); + m_main->present(); } auto application::on_shutdown() -> void { - gtk_window_close(GTK_WINDOW(m_main_window)); - delete Glib::wrap(GTK_WINDOW(m_main_window)); + m_main->close(); + delete m_main; } auto application::on_startup() -> void |
