summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--adw/include/turns/adw/actionrow.hpp2
-rw-r--r--adw/include/turns/adw/preferencesdialog.hpp7
-rw-r--r--adw/include/turns/adw/preferencespage.hpp6
-rw-r--r--adw/include/turns/adw/preferencesrow.hpp6
-rw-r--r--adw/include/turns/adw/switchrow.hpp6
-rw-r--r--adw/include/turns/adw/toast.hpp6
-rw-r--r--adw/include/turns/adw/toastoverlay.hpp9
-rw-r--r--adw/src/actionrow.cpp4
-rw-r--r--adw/src/breakpoint.cpp4
-rw-r--r--adw/src/preferencesdialog.cpp7
-rw-r--r--adw/src/preferencespage.cpp4
-rw-r--r--adw/src/preferencesrow.cpp4
-rw-r--r--adw/src/switchrow.cpp8
-rw-r--r--adw/src/toast.cpp27
-rw-r--r--adw/src/toastoverlay.cpp14
-rw-r--r--ui/src/windows/tracker.cpp2
16 files changed, 74 insertions, 42 deletions
diff --git a/adw/include/turns/adw/actionrow.hpp b/adw/include/turns/adw/actionrow.hpp
index d098d65..5005f66 100644
--- a/adw/include/turns/adw/actionrow.hpp
+++ b/adw/include/turns/adw/actionrow.hpp
@@ -89,7 +89,7 @@ namespace turns::adw
namespace Glib
{
- auto wrap(AdwActionRow * object, bool copy = false) -> Glib::RefPtr<turns::adw::ActionRow>;
+ auto wrap(AdwActionRow * object, bool copy = false) -> turns::adw::ActionRow *;
} // namespace Glib
#endif \ No newline at end of file
diff --git a/adw/include/turns/adw/preferencesdialog.hpp b/adw/include/turns/adw/preferencesdialog.hpp
index 85735ef..324ab1d 100644
--- a/adw/include/turns/adw/preferencesdialog.hpp
+++ b/adw/include/turns/adw/preferencesdialog.hpp
@@ -5,11 +5,16 @@
#include "helpers/gobj_mixin.hpp"
#include "turns/adw/preferencespage.hpp"
+#include <glibmm/class.h>
+#include <glibmm/object.h>
+#include <glibmm/objectbase.h>
#include <glibmm/refptr.h>
#include <glibmm/ustring.h>
#include <gtkmm/widget.h>
+#include <glib-object.h>
+
using AdwPreferencesDialog = struct _AdwPreferencesDialog;
using AdwPreferencesDialogClass = struct _AdwPreferencesDialogClass;
@@ -61,7 +66,7 @@ namespace turns::adw
namespace Glib
{
- auto wrap(AdwPreferencesDialog * object, bool copy = false) -> Glib::RefPtr<turns::adw::PreferencesDialog>;
+ auto wrap(AdwPreferencesDialog * object, bool copy = false) -> turns::adw::PreferencesDialog *;
} // namespace Glib
#endif \ No newline at end of file
diff --git a/adw/include/turns/adw/preferencespage.hpp b/adw/include/turns/adw/preferencespage.hpp
index b8b4051..dceabf8 100644
--- a/adw/include/turns/adw/preferencespage.hpp
+++ b/adw/include/turns/adw/preferencespage.hpp
@@ -4,11 +4,15 @@
#include "helpers/gobj_mixin.hpp"
#include <glibmm/class.h>
+#include <glibmm/object.h>
+#include <glibmm/objectbase.h>
#include <glibmm/refptr.h>
#include <glibmm/ustring.h>
#include <gtkmm/widget.h>
+#include <glib-object.h>
+
using AdwPreferencesPage = struct _AdwPreferencesPage;
using AdwPreferencesPageClass = struct _AdwPreferencesPageClass;
@@ -56,7 +60,7 @@ namespace turns::adw
namespace Glib
{
- auto wrap(AdwPreferencesPage * object, bool copy = false) -> Glib::RefPtr<turns::adw::PreferencesPage>;
+ auto wrap(AdwPreferencesPage * object, bool copy = false) -> turns::adw::PreferencesPage *;
} // namespace Glib
#endif \ No newline at end of file
diff --git a/adw/include/turns/adw/preferencesrow.hpp b/adw/include/turns/adw/preferencesrow.hpp
index a0f22ed..7490d05 100644
--- a/adw/include/turns/adw/preferencesrow.hpp
+++ b/adw/include/turns/adw/preferencesrow.hpp
@@ -5,11 +5,15 @@
#include "turns/adw/helpers/properties.hpp"
#include <glibmm/class.h>
+#include <glibmm/object.h>
+#include <glibmm/objectbase.h>
#include <glibmm/refptr.h>
#include <glibmm/ustring.h>
#include <gtkmm/listboxrow.h>
+#include <glib-object.h>
+
using AdwPreferencesRow = struct _AdwPreferencesRow;
using AdwPreferencesRowClass = struct _AdwPreferencesRowClass;
@@ -113,7 +117,7 @@ namespace turns::adw
namespace Glib
{
- auto wrap(AdwPreferencesRow * object, bool copy = false) -> Glib::RefPtr<turns::adw::PreferencesRow>;
+ auto wrap(AdwPreferencesRow * object, bool copy = false) -> turns::adw::PreferencesRow *;
} // namespace Glib
#endif \ No newline at end of file
diff --git a/adw/include/turns/adw/switchrow.hpp b/adw/include/turns/adw/switchrow.hpp
index e7e0131..39c21da 100644
--- a/adw/include/turns/adw/switchrow.hpp
+++ b/adw/include/turns/adw/switchrow.hpp
@@ -13,6 +13,8 @@
#include <gtkmm/widget.h>
+#include <glib-object.h>
+
#define _ADWAITA_INSIDE
#include <adw-switch-row.h>
#undef _ADWAITA_INSIDE
@@ -22,7 +24,7 @@ using AdwSwitchRow = struct _AdwSwitchRow;
namespace turns::adw
{
struct SwitchRow final : adw::ActionRow,
- helpers::gobj_mixin<SwitchRow, AdwSwitchRow>
+ helpers::gobj_mixin<SwitchRow, AdwSwitchRow>
{
struct Class : Glib::Class
{
@@ -80,7 +82,7 @@ namespace turns::adw
namespace Glib
{
- auto wrap(AdwSwitchRow * object, bool copy = false) -> Glib::RefPtr<turns::adw::SwitchRow>;
+ auto wrap(AdwSwitchRow * object, bool copy = false) -> turns::adw::SwitchRow *;
} // namespace Glib
#endif \ No newline at end of file
diff --git a/adw/include/turns/adw/toast.hpp b/adw/include/turns/adw/toast.hpp
index 83242c7..80d9b8b 100644
--- a/adw/include/turns/adw/toast.hpp
+++ b/adw/include/turns/adw/toast.hpp
@@ -5,12 +5,15 @@
#include "turns/adw/helpers/properties.hpp"
#include <glibmm/object.h>
+#include <glibmm/objectbase.h>
#include <glibmm/refptr.h>
#include <glibmm/ustring.h>
#include <glibmm/variant.h>
#include <gtkmm/widget.h>
+#include <glib-object.h>
+
#define _ADWAITA_INSIDE
#include <adw-toast.h>
#undef _ADWAITA_INSIDE
@@ -49,13 +52,13 @@ namespace turns::adw
using helpers::gobj_mixin<CppObjectType, BaseObjectType>::gobj;
using helpers::gobj_mixin<CppObjectType, BaseObjectType>::gobj_copy;
- explicit Toast(Glib::ustring const & title);
Toast(Toast const & other) = delete;
Toast(Toast && other) noexcept = default;
auto operator=(Toast const & other) noexcept -> Toast & = delete;
auto operator=(Toast && other) noexcept -> Toast & = default;
+ auto static create(Glib::ustring const & title) -> Glib::RefPtr<Toast>;
auto static get_type() -> GType;
auto static get_base_type() -> GType;
@@ -71,6 +74,7 @@ namespace turns::adw
auto property_use_markup(this auto && self);
protected:
+ explicit Toast(Glib::ustring const & title);
explicit Toast(Glib::ConstructParams const & params);
explicit Toast(BaseObjectType * gobj);
};
diff --git a/adw/include/turns/adw/toastoverlay.hpp b/adw/include/turns/adw/toastoverlay.hpp
index 49f6a59..7560c0d 100644
--- a/adw/include/turns/adw/toastoverlay.hpp
+++ b/adw/include/turns/adw/toastoverlay.hpp
@@ -4,10 +4,15 @@
#include "turns/adw/helpers/gobj_mixin.hpp"
#include "turns/adw/helpers/properties.hpp"
+#include <glibmm/class.h>
+#include <glibmm/object.h>
+#include <glibmm/objectbase.h>
#include <glibmm/refptr.h>
#include <gtkmm/widget.h>
+#include <glib-object.h>
+
#define _ADWAITA_INSIDE
#include <adw-toast-overlay.h>
#undef _ADWAITA_INSIDE
@@ -48,7 +53,7 @@ namespace turns::adw
auto static get_type() -> GType;
auto static get_base_type() -> GType;
- auto add(struct Toast && toast) -> void;
+ auto add(Glib::RefPtr<struct Toast> const & toast) -> void;
auto property_child(this auto && self);
@@ -66,7 +71,7 @@ namespace turns::adw
namespace Glib
{
- auto wrap(AdwToastOverlay * object, bool copy = false) -> Glib::RefPtr<turns::adw::ToastOverlay>;
+ auto wrap(AdwToastOverlay * object, bool copy = false) -> turns::adw::ToastOverlay *;
} // namespace Glib
#endif \ No newline at end of file
diff --git a/adw/src/actionrow.cpp b/adw/src/actionrow.cpp
index e8cfc7d..9f79cee 100644
--- a/adw/src/actionrow.cpp
+++ b/adw/src/actionrow.cpp
@@ -201,8 +201,8 @@ namespace turns::adw
namespace Glib
{
- auto wrap(AdwActionRow * object, bool copy) -> Glib::RefPtr<turns::adw::ActionRow>
+ auto wrap(AdwActionRow * object, bool copy) -> turns::adw::ActionRow *
{
- return Glib::make_refptr_for_instance(dynamic_cast<turns::adw::ActionRow *>(Glib::wrap_auto(G_OBJECT(object), copy)));
+ return dynamic_cast<turns::adw::ActionRow *>(Glib::wrap_auto(G_OBJECT(object), copy));
}
} // namespace Glib \ No newline at end of file
diff --git a/adw/src/breakpoint.cpp b/adw/src/breakpoint.cpp
index dd930a3..ed1c7f0 100644
--- a/adw/src/breakpoint.cpp
+++ b/adw/src/breakpoint.cpp
@@ -10,6 +10,7 @@
#include <glibmm/refptr.h>
#include <glibmm/ustring.h>
#include <glibmm/wrap.h>
+#include <gtkmm/buildable.h>
#include <glib-object.h>
@@ -102,7 +103,8 @@ namespace turns::adw
if (!gtype_)
{
class_init_func_ = &class_init_function;
- gtype_ = adw_breakpoint_get_type();
+ register_derived_type(adw_breakpoint_get_type());
+ Gtk::Buildable::add_interface(get_type());
}
return *this;
}
diff --git a/adw/src/preferencesdialog.cpp b/adw/src/preferencesdialog.cpp
index 10419fe..b949003 100644
--- a/adw/src/preferencesdialog.cpp
+++ b/adw/src/preferencesdialog.cpp
@@ -25,7 +25,7 @@ namespace turns::adw
namespace
{
auto constinit _class = PreferencesDialog::Class{};
- }
+ } // namespace
auto PreferencesDialog::Class::init() -> Glib::Class const &
{
@@ -83,9 +83,8 @@ namespace turns::adw
namespace Glib
{
- auto wrap(AdwPreferencesDialog * object, bool copy) -> Glib::RefPtr<turns::adw::PreferencesDialog>
+ auto wrap(AdwPreferencesDialog * object, bool copy) -> turns::adw::PreferencesDialog *
{
- return Glib::make_refptr_for_instance<turns::adw::PreferencesDialog>(
- dynamic_cast<turns::adw::PreferencesDialog *>(Glib::wrap_auto(G_OBJECT(object), copy)));
+ return dynamic_cast<turns::adw::PreferencesDialog *>(Glib::wrap_auto(G_OBJECT(object), copy));
}
} // namespace Glib \ No newline at end of file
diff --git a/adw/src/preferencespage.cpp b/adw/src/preferencespage.cpp
index 8467e29..64ae62c 100644
--- a/adw/src/preferencespage.cpp
+++ b/adw/src/preferencespage.cpp
@@ -75,8 +75,8 @@ namespace turns::adw
namespace Glib
{
- auto wrap(AdwPreferencesPage * object, bool copy) -> Glib::RefPtr<turns::adw::PreferencesPage>
+ auto wrap(AdwPreferencesPage * object, bool copy) -> turns::adw::PreferencesPage *
{
- return Glib::make_refptr_for_instance(dynamic_cast<turns::adw::PreferencesPage *>(Glib::wrap_auto(G_OBJECT(object), copy)));
+ return dynamic_cast<turns::adw::PreferencesPage *>(Glib::wrap_auto(G_OBJECT(object), copy));
}
} // namespace Glib \ No newline at end of file
diff --git a/adw/src/preferencesrow.cpp b/adw/src/preferencesrow.cpp
index 039da96..a6f5368 100644
--- a/adw/src/preferencesrow.cpp
+++ b/adw/src/preferencesrow.cpp
@@ -99,8 +99,8 @@ namespace turns::adw
namespace Glib
{
- auto wrap(AdwPreferencesRow * object, bool copy) -> Glib::RefPtr<turns::adw::PreferencesRow>
+ auto wrap(AdwPreferencesRow * object, bool copy) -> turns::adw::PreferencesRow *
{
- return Glib::make_refptr_for_instance(dynamic_cast<turns::adw::PreferencesRow *>(Glib::wrap_auto(G_OBJECT(object), copy)));
+ return dynamic_cast<turns::adw::PreferencesRow *>(Glib::wrap_auto(G_OBJECT(object), copy));
}
} // namespace Glib \ No newline at end of file
diff --git a/adw/src/switchrow.cpp b/adw/src/switchrow.cpp
index 3bd4a89..d7dd9dd 100644
--- a/adw/src/switchrow.cpp
+++ b/adw/src/switchrow.cpp
@@ -7,6 +7,7 @@
#include <glibmm/objectbase.h>
#include <glibmm/refptr.h>
#include <glibmm/wrap.h>
+
#include <gtkmm/object.h>
#include <adwaita.h>
@@ -25,7 +26,7 @@ namespace turns::adw
if (!gtype_)
{
class_init_func_ = &class_init_function;
- gtype_ = adw_switch_row_get_type();
+ register_derived_type(adw_switch_row_get_type());
}
return *this;
}
@@ -71,9 +72,8 @@ namespace turns::adw
namespace Glib
{
- auto wrap(AdwSwitchRow * object, bool copy) -> Glib::RefPtr<turns::adw::SwitchRow>
+ auto wrap(AdwSwitchRow * object, bool copy) -> turns::adw::SwitchRow *
{
- return Glib::make_refptr_for_instance<turns::adw::SwitchRow>(
- dynamic_cast<turns::adw::SwitchRow *>(Glib::wrap_auto(G_OBJECT(object), copy)));
+ return dynamic_cast<turns::adw::SwitchRow *>(Glib::wrap_auto(G_OBJECT(object), copy));
}
} // namespace Glib \ No newline at end of file
diff --git a/adw/src/toast.cpp b/adw/src/toast.cpp
index c830496..1267221 100644
--- a/adw/src/toast.cpp
+++ b/adw/src/toast.cpp
@@ -31,7 +31,7 @@ namespace turns::adw
if (!gtype_)
{
class_init_func_ = &class_init_function;
- gtype_ = adw_toast_get_type();
+ register_derived_type(adw_toast_get_type());
}
return *this;
}
@@ -53,29 +53,34 @@ namespace turns::adw
{
}
- auto Toast::get_type() -> GType
+ Toast::Toast(Glib::ConstructParams const & params)
+ : Glib::Object{params}
{
- return _class.init().get_type();
}
- auto Toast::get_base_type() -> GType
+ Toast::Toast(BaseObjectType * gobj)
+ : Glib::Object((GObject *)gobj)
{
- return adw_toast_get_type();
}
- auto Toast::dismiss() -> void
+ auto Toast::create(Glib::ustring const & title) -> Glib::RefPtr<Toast>
{
- return adw_toast_dismiss(gobj());
+ return Glib::make_refptr_for_instance(new Toast{title});
}
- Toast::Toast(Glib::ConstructParams const & params)
- : Glib::Object{params}
+ auto Toast::get_type() -> GType
{
+ return _class.init().get_type();
}
- Toast::Toast(BaseObjectType * gobj)
- : Glib::Object((GObject *)gobj)
+ auto Toast::get_base_type() -> GType
{
+ return adw_toast_get_type();
+ }
+
+ auto Toast::dismiss() -> void
+ {
+ return adw_toast_dismiss(gobj());
}
} // namespace turns::adw
diff --git a/adw/src/toastoverlay.cpp b/adw/src/toastoverlay.cpp
index d785e60..c50c62d 100644
--- a/adw/src/toastoverlay.cpp
+++ b/adw/src/toastoverlay.cpp
@@ -10,7 +10,9 @@
#include <glibmm/ustring.h>
#include <glibmm/utility.h>
#include <glibmm/variant.h>
+#include <glibmm/wrap.h>
+#include <gtkmm/object.h>
#include <gtkmm/private/widget_p.h>
#include <gtkmm/widget.h>
@@ -30,7 +32,7 @@ namespace turns::adw
if (!gtype_)
{
class_init_func_ = &class_init_function;
- gtype_ = adw_toast_overlay_get_type();
+ register_derived_type(adw_toast_overlay_get_type());
}
return *this;
}
@@ -56,9 +58,10 @@ namespace turns::adw
return adw_toast_overlay_get_type();
}
- auto ToastOverlay::add(Toast && toast) -> void
+ auto ToastOverlay::add(Glib::RefPtr<struct Toast> const & toast) -> void
{
- adw_toast_overlay_add_toast(gobj(), toast.gobj_copy());
+ // Take a copy since the overlay will take ownership of the toast.
+ adw_toast_overlay_add_toast(Glib::unwrap(this), Glib::unwrap_copy(toast));
}
ToastOverlay::ToastOverlay(Glib::ConstructParams const & params)
@@ -81,9 +84,8 @@ namespace turns::adw
namespace Glib
{
- auto wrap(AdwToastOverlay * object, bool copy) -> Glib::RefPtr<turns::adw::ToastOverlay>
+ auto wrap(AdwToastOverlay * object, bool copy) -> turns::adw::ToastOverlay *
{
- return Glib::make_refptr_for_instance<turns::adw::ToastOverlay>(
- dynamic_cast<turns::adw::ToastOverlay *>(Glib::wrap_auto(G_OBJECT(object), copy)));
+ return dynamic_cast<turns::adw::ToastOverlay *>(Glib::wrap_auto(G_OBJECT(object), copy));
}
} // namespace Glib \ No newline at end of file
diff --git a/ui/src/windows/tracker.cpp b/ui/src/windows/tracker.cpp
index 760833b..9adbb07 100644
--- a/ui/src/windows/tracker.cpp
+++ b/ui/src/windows/tracker.cpp
@@ -196,7 +196,7 @@ namespace turns::ui::windows
auto tracker::show_toast(std::string const & message) -> void
{
- m_overlay->add(adw::Toast{message});
+ m_overlay->add(adw::Toast::create(message));
}
auto tracker::update_colors() -> void