aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@gmail.com>2025-04-29 09:48:15 +0200
committerFelix Morgner <felix.morgner@gmail.com>2025-04-29 09:48:15 +0200
commit26cf7386786fff381a81af21027712512dfe7f82 (patch)
tree1edb3485022661f0b9d309e6753dec2a8625f34c
parent6cde8749c3cde48661fc390794d5d488812ed305 (diff)
downloadlibadwaitamm-26cf7386786fff381a81af21027712512dfe7f82.tar.xz
libadwaitamm-26cf7386786fff381a81af21027712512dfe7f82.zip
app: add missing API
-rw-r--r--include/adwaitamm/application.hpp12
-rw-r--r--src/application.cpp30
2 files changed, 30 insertions, 12 deletions
diff --git a/include/adwaitamm/application.hpp b/include/adwaitamm/application.hpp
index 0da9427..780c114 100644
--- a/include/adwaitamm/application.hpp
+++ b/include/adwaitamm/application.hpp
@@ -8,8 +8,10 @@
#define LIBADWAITAMM_APPLICATION_HPP
#include "adwaitamm/helpers/gobj_mixin.hpp"
+#include "adwaitamm/stylemanager.hpp"
#include <glibmm/object.h>
+#include <glibmm/propertyproxy.h>
#include <glibmm/refptr.h>
#include <glibmm/ustring.h>
@@ -42,18 +44,22 @@ namespace Adwaita
auto operator=(Application const & other) noexcept -> Application & = delete;
auto operator=(Application && other) noexcept -> Application & = default;
+ auto static get_type() -> GType;
+ auto static get_base_type() -> GType;
+
auto static create(Glib::ustring const & id = {}, Gio::Application::Flags flags = Gio::Application::Flags::NONE)
-> Glib::RefPtr<Application>;
- auto static get_type() -> GType;
- auto static get_base_type() -> GType;
+ auto get_style_manager() const -> StyleManager *;
+
+ auto property_style_manager() const -> Glib::PropertyProxy_ReadOnly<StyleManager *>;
protected:
friend Application_Class;
explicit Application(Glib::ConstructParams const & params);
explicit Application(BaseObjectType * gobj);
- explicit Application(Glib::ustring const & id = {}, Gio::Application::Flags flags = Gio::Application::Flags::NONE);
+ explicit Application(Glib::ustring const & id, Gio::Application::Flags flags);
private:
Glib::Class const & custom_class_init();
diff --git a/src/application.cpp b/src/application.cpp
index a50d133..ad43017 100644
--- a/src/application.cpp
+++ b/src/application.cpp
@@ -7,11 +7,13 @@
#include "adwaitamm/application.hpp"
#include "adwaitamm/private/application_p.hpp"
+#include "adwaitamm/stylemanager.hpp"
#include "adwaitamm/wrap_init.hpp"
#include <glibmm/class.h>
#include <glibmm/object.h>
#include <glibmm/objectbase.h>
+#include <glibmm/propertyproxy.h>
#include <glibmm/refptr.h>
#include <glibmm/ustring.h>
#include <glibmm/utility.h>
@@ -48,17 +50,14 @@ namespace Adwaita
return Glib::RefPtr<Application>(new Application(id, flags));
}
- Glib::Class const & Application::custom_class_init()
+ auto Application::get_style_manager() const -> StyleManager *
{
+ return Glib::wrap(adw_application_get_style_manager(const_cast<BaseObjectType *>(unwrap(this))));
+ }
- auto static did_init{false};
- if (!did_init)
- {
- Gtk::init_gtkmm_internals();
- wrap_init();
- }
-
- return _class.init();
+ auto Application::property_style_manager() const -> Glib::PropertyProxy_ReadOnly<StyleManager *>
+ {
+ return {this, "style-manager"};
}
Application::Application(Glib::ConstructParams const & params)
@@ -78,6 +77,19 @@ namespace Adwaita
adw_init();
}
+ Glib::Class const & Application::custom_class_init()
+ {
+
+ auto static did_init{false};
+ if (!did_init)
+ {
+ Gtk::init_gtkmm_internals();
+ wrap_init();
+ }
+
+ return _class.init();
+ }
+
} // namespace Adwaita
namespace Glib