diff options
Diffstat (limited to 'adw/src/application.cpp')
| -rw-r--r-- | adw/src/application.cpp | 30 |
1 files changed, 10 insertions, 20 deletions
diff --git a/adw/src/application.cpp b/adw/src/application.cpp index e8f6253..1fe47c3 100644 --- a/adw/src/application.cpp +++ b/adw/src/application.cpp @@ -7,7 +7,7 @@ #include <glibmm/objectbase.h> #include <glibmm/refptr.h> #include <glibmm/ustring.h> -#include <glibmm/utility.h> +#include <glibmm/wrap.h> #include <giomm/application.h> @@ -21,39 +21,35 @@ namespace turns::adw { - struct Application_Class : Glib::Class + namespace { - auto init() -> Glib::Class const &; - auto static class_init_function(void * gclass, void * data) -> void; - auto static wrap_new(GObject * object) -> Glib::ObjectBase *; - }; + auto constinit _class = Application::Class{}; + } // namespace - auto Application_Class::init() -> Glib::Class const & + auto Application::Class::init() -> Glib::Class const & { if (!gtype_) { - class_init_func_ = &Application_Class::class_init_function; + class_init_func_ = &Application::Class::class_init_function; register_derived_type(adw_application_get_type()); } return *this; } - auto Application_Class::class_init_function(void * gclass, void * data) -> void + auto Application::Class::class_init_function(void * gclass, void * data) -> void { auto const klass = static_cast<AdwApplicationClass *>(gclass); Gtk::Application_Class::class_init_function(klass, data); } - auto Application_Class::wrap_new(GObject * object) -> Glib::ObjectBase * + auto Application::Class::wrap_new(GObject * object) -> Glib::ObjectBase * { return new Application(ADW_APPLICATION(object)); } - Application_Class Application::s_class{}; - auto Application::get_type() -> GType { - return s_class.init().get_type(); + return _class.init().get_type(); } auto Application::get_base_type() -> GType @@ -61,12 +57,6 @@ namespace turns::adw return adw_application_get_type(); } - auto Application::gobj_copy() -> AdwApplication * - { - reference(); - return gobj(); - } - auto Application::create(Glib::ustring const & id, Gio::Application::Flags flags) -> Glib::RefPtr<Application> { auto static did_init = false; @@ -94,7 +84,7 @@ namespace turns::adw Application::Application(Glib::ustring const & id, Gio::Application::Flags flags) : Glib::ObjectBase{nullptr} - , Gtk::Application{Glib::ConstructParams{s_class.init(), "application_id", Glib::c_str_or_nullptr(id), "flags", static_cast<GApplicationFlags>(flags), nullptr}} + , Gtk::Application{Glib::ConstructParams{_class.init(), "application_id", Glib::c_str_or_nullptr(id), "flags", static_cast<GApplicationFlags>(flags), nullptr}} { } |
