[gtkmm] Add API from gtk 4.7.1



commit 403d5b31a7a004ff7d4b57f3dcbebc9055dc1603
Author: Kjell Ahlstedt <kjellahlstedt gmail com>
Date:   Sun Jul 24 10:21:27 2022 +0200

    Add API from gtk 4.7.1
    
    * configure.ac:
    * meson.build: Require gtk >= 4.7.1
    * gdk/src/enums.hg: enum ScrollUnit
    * gdk/src/event.hg: get_scroll_unit()
    * gtk/src/checkbutton.[ccg,hg]: set/unset/get/property_child()
    * gtk/src/enums.hg: enum ContentFit (commented out)
    * gtk/src/eventcontrollerscroll.hg: get_unit()
    * gtk/src/picture.hg: Add set/get/property_content_fit() (commented out).
    Deprecate set/get/property_keep_aspect_ratio().
    * gtk/src/searchentry.hg: set/get/property_search_delay()
    * gtk/src/signallistitemfactory.hg: Add a comment on the signals in
    gtk now taking GObject* instead of a GtkListItem*.
    * gtk/src/directorylist.hg:
    * gtk/src/filterlistmodel.hg:
    * gtk/src/flattenlistmodel.hg:
    * gtk/src/multifilter.hg:
    * gtk/src/multiselection.hg:
    * gtk/src/multisorter.hg:
    * gtk/src/noselection.hg:
    * gtk/src/selectionfiltermodel.hg:
    * gtk/src/shortcutcontroller.hg:
    * gtk/src/singleselection.hg:
    * gtk/src/slicelistmodel.hg:
    * gtk/src/sortlistmodel.hg:
    * gtk/src/treelistmodel.hg: property_item_type(), property_n_items()
    * tools/extra_defs_gen/generate_defs_gtk.cc: Add GTK_TYPE_MULTI_FILTER
    and GTK_TYPE_MULTI_SORTER.
    * tools/m4/convert_gdk.m4: Add conversions for enum Gdk::ScrollUnit.
    * tools/m4/convert_gtk.m4: Add conversions for enum Gtk::ContentFit.

 configure.ac                              |  2 +-
 gdk/src/enums.hg                          |  1 +
 gdk/src/event.hg                          |  1 +
 gtk/src/checkbutton.ccg                   |  5 +++++
 gtk/src/checkbutton.hg                    |  6 ++++++
 gtk/src/directorylist.hg                  |  2 ++
 gtk/src/enums.hg                          |  1 +
 gtk/src/eventcontrollerscroll.hg          |  1 +
 gtk/src/filterlistmodel.hg                |  2 ++
 gtk/src/flattenlistmodel.hg               |  2 ++
 gtk/src/multifilter.hg                    |  3 +++
 gtk/src/multiselection.hg                 |  2 ++
 gtk/src/multisorter.hg                    |  3 +++
 gtk/src/noselection.hg                    |  2 ++
 gtk/src/picture.hg                        | 12 +++++++++---
 gtk/src/searchentry.hg                    |  4 ++++
 gtk/src/selectionfiltermodel.hg           |  2 ++
 gtk/src/shortcutcontroller.hg             |  2 ++
 gtk/src/signallistitemfactory.hg          |  4 ++++
 gtk/src/singleselection.hg                |  2 ++
 gtk/src/slicelistmodel.hg                 |  2 ++
 gtk/src/sortlistmodel.hg                  |  2 ++
 gtk/src/treelistmodel.hg                  |  2 ++
 meson.build                               |  2 +-
 tools/extra_defs_gen/generate_defs_gtk.cc |  2 ++
 tools/m4/convert_gdk.m4                   |  1 +
 tools/m4/convert_gtk.m4                   |  1 +
 27 files changed, 66 insertions(+), 5 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index a4a3032e..d720b34f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -95,7 +95,7 @@ AS_IF([test "x$enable_static" = xyes],
 # gdkmm really does need GTK, because part of Gdk::DragContext is in GTK.
 # The extra gdk-pixbuf-2.0 check is because gdkmm requires a newer gdk-pixbuf than gtk4 requires.
 # TODO: Remove the mention of cairomm once pangomm needs to depend on such a new version.
-AC_SUBST([GDKMM_MODULES], ['giomm-2.68 >= 2.68.0 pangomm-2.48 >= 2.50.0 cairomm-1.16 >= 1.15.4 gtk4 >= 4.6.0 
gdk-pixbuf-2.0 >= 2.35.5'])
+AC_SUBST([GDKMM_MODULES], ['giomm-2.68 >= 2.68.0 pangomm-2.48 >= 2.50.0 cairomm-1.16 >= 1.15.4 gtk4 >= 4.7.1 
gdk-pixbuf-2.0 >= 2.35.5'])
 
 AS_IF([test "x$gtkmm_host_windows" = xyes],
       [GTKMM_MODULES=$GDKMM_MODULES],
diff --git a/gdk/src/enums.hg b/gdk/src/enums.hg
index c3136321..94eb32db 100644
--- a/gdk/src/enums.hg
+++ b/gdk/src/enums.hg
@@ -32,5 +32,6 @@ _WRAP_ENUM(ModifierType, GdkModifierType, decl_prefix GDKMM_API)
 _WRAP_ENUM(NotifyType, GdkNotifyType, decl_prefix GDKMM_API)
 _WRAP_ENUM(ScrollDirection, GdkScrollDirection, decl_prefix GDKMM_API)
 _WRAP_ENUM(TouchpadGesturePhase, GdkTouchpadGesturePhase, decl_prefix GDKMM_API)
+_WRAP_ENUM(ScrollUnit, GdkScrollUnit, decl_prefix GDKMM_API)
 
 } //namespace Gdk
diff --git a/gdk/src/event.hg b/gdk/src/event.hg
index dc05f99d..48faef7f 100644
--- a/gdk/src/event.hg
+++ b/gdk/src/event.hg
@@ -107,6 +107,7 @@ public:
   _WRAP_METHOD(guint get_button() const, gdk_button_event_get_button)
   _WRAP_METHOD(ScrollDirection get_direction() const, gdk_scroll_event_get_direction)
   _WRAP_METHOD(void get_deltas(double& delta_x, double& delta_y) const, gdk_scroll_event_get_deltas)
+  _WRAP_METHOD(ScrollUnit get_scroll_unit() const, gdk_scroll_event_get_unit)
   _WRAP_METHOD(bool is_scroll_stop() const, gdk_scroll_event_is_stop)
   _WRAP_METHOD(guint get_keyval() const, gdk_key_event_get_keyval)
   _WRAP_METHOD(guint get_keycode() const, gdk_key_event_get_keycode)
diff --git a/gtk/src/checkbutton.ccg b/gtk/src/checkbutton.ccg
index b9cf3c23..0de2c23e 100644
--- a/gtk/src/checkbutton.ccg
+++ b/gtk/src/checkbutton.ccg
@@ -26,6 +26,11 @@ CheckButton::CheckButton(const Glib::ustring& label, bool mnemonic)
   _CONSTRUCT("label", label.c_str(), "use_underline", gboolean(mnemonic))
 {}
 
+void CheckButton::unset_child()
+{
+  gtk_check_button_set_child(gobj(), nullptr);
+}
+
 void CheckButton::unset_group()
 {
   gtk_check_button_set_group(gobj(), nullptr);
diff --git a/gtk/src/checkbutton.hg b/gtk/src/checkbutton.hg
index 0e1ed0e0..11d8de2b 100644
--- a/gtk/src/checkbutton.hg
+++ b/gtk/src/checkbutton.hg
@@ -62,6 +62,11 @@ public:
   _WRAP_METHOD(void set_use_underline(bool setting = true), gtk_check_button_set_use_underline)
   _WRAP_METHOD(bool get_use_underline() const, gtk_check_button_get_use_underline)
 
+  _WRAP_METHOD(void set_child(Widget& child), gtk_check_button_set_child)
+  void unset_child();
+  _WRAP_METHOD(Widget* get_child(), gtk_check_button_get_child)
+  _WRAP_METHOD(const Widget* get_child() const, gtk_check_button_get_child, constversion)
+
   _WRAP_METHOD(void set_group(CheckButton& group), gtk_check_button_set_group)
   void unset_group();
 
@@ -73,6 +78,7 @@ public:
   _WRAP_PROPERTY("label", Glib::ustring)
   _WRAP_PROPERTY("inconsistent", bool)
   _WRAP_PROPERTY("use-underline", bool)
+  _WRAP_PROPERTY("child", Widget*)
 };
 
 } //namespace Gtk
diff --git a/gtk/src/directorylist.hg b/gtk/src/directorylist.hg
index c375207d..9933a3a9 100644
--- a/gtk/src/directorylist.hg
+++ b/gtk/src/directorylist.hg
@@ -85,8 +85,10 @@ public:
   _WRAP_PROPERTY("error", Glib::Error)
   _WRAP_PROPERTY("file", Glib::RefPtr<Gio::File>)
   _WRAP_PROPERTY("io-priority", int)
+  _WRAP_PROPERTY("item-type", GType)
   _WRAP_PROPERTY("loading", bool)
   _WRAP_PROPERTY("monitored", bool)
+  _WRAP_PROPERTY("n-items", unsigned int)
 };
 
 } // namespace Gtk
diff --git a/gtk/src/enums.hg b/gtk/src/enums.hg
index 3852f3b5..831c32b7 100644
--- a/gtk/src/enums.hg
+++ b/gtk/src/enums.hg
@@ -60,6 +60,7 @@ _WRAP_ENUM(InputPurpose, GtkInputPurpose, decl_prefix GTKMM_API)
 _WRAP_ENUM(InputHints, GtkInputHints, decl_prefix GTKMM_API)
 _WRAP_ENUM(BaselinePosition, GtkBaselinePosition, decl_prefix GTKMM_API)
 _WRAP_ENUM(ShortcutScope, GtkShortcutScope, decl_prefix GTKMM_API)
+//_WRAP_ENUM(ContentFit, GtkContentFit, decl_prefix GTKMM_API)
 
 #ifndef DOXYGEN_SHOULD_SKIP_THIS
 //We need this because we can't just use floats for enum value.
diff --git a/gtk/src/eventcontrollerscroll.hg b/gtk/src/eventcontrollerscroll.hg
index eab2df2a..6a46051d 100644
--- a/gtk/src/eventcontrollerscroll.hg
+++ b/gtk/src/eventcontrollerscroll.hg
@@ -72,6 +72,7 @@ public:
 
   _WRAP_METHOD(void set_flags(Flags flags), gtk_event_controller_scroll_set_flags)
   _WRAP_METHOD(Flags get_flags() const, gtk_event_controller_scroll_get_flags)
+  _WRAP_METHOD(Gdk::ScrollUnit get_unit() const, gtk_event_controller_scroll_get_unit)
 
   _WRAP_PROPERTY("flags", Flags)
 
diff --git a/gtk/src/filterlistmodel.hg b/gtk/src/filterlistmodel.hg
index 6c967ea0..744e23bd 100644
--- a/gtk/src/filterlistmodel.hg
+++ b/gtk/src/filterlistmodel.hg
@@ -68,7 +68,9 @@ public:
 
   _WRAP_PROPERTY("filter", Glib::RefPtr<Filter>)
   _WRAP_PROPERTY("incremental", bool)
+  _WRAP_PROPERTY("item-type", GType)
   _WRAP_PROPERTY("model", Glib::RefPtr<Gio::ListModel>)
+  _WRAP_PROPERTY("n-items", unsigned int)
   _WRAP_PROPERTY("pending", guint)
 };
 
diff --git a/gtk/src/flattenlistmodel.hg b/gtk/src/flattenlistmodel.hg
index 5ec81f9d..05eaaa81 100644
--- a/gtk/src/flattenlistmodel.hg
+++ b/gtk/src/flattenlistmodel.hg
@@ -56,7 +56,9 @@ public:
 
   _WRAP_METHOD(Glib::RefPtr<Gio::ListModel> get_model_for_item(guint position), 
gtk_flatten_list_model_get_model_for_item, refreturn)
 
+  _WRAP_PROPERTY("item-type", GType)
   _WRAP_PROPERTY("model", Glib::RefPtr<Gio::ListModel>)
+  _WRAP_PROPERTY("n-items", unsigned int)
 };
 
 } // namespace Gtk
diff --git a/gtk/src/multifilter.hg b/gtk/src/multifilter.hg
index 8768fc1a..2eb33a51 100644
--- a/gtk/src/multifilter.hg
+++ b/gtk/src/multifilter.hg
@@ -46,6 +46,9 @@ public:
 #m4 _CONVERSION(`const Glib::RefPtr<Filter>&', `GtkFilter*', `Glib::unwrap_copy($3)')
   _WRAP_METHOD(void append(const Glib::RefPtr<Filter>& filter), gtk_multi_filter_append)
   _WRAP_METHOD(void remove(guint position), gtk_multi_filter_remove)
+
+  _WRAP_PROPERTY("item-type", GType)
+  _WRAP_PROPERTY("n-items", unsigned int)
 };
 
 /** Matches when at least one filter matches.
diff --git a/gtk/src/multiselection.hg b/gtk/src/multiselection.hg
index 12eb28e3..d6eeb0f2 100644
--- a/gtk/src/multiselection.hg
+++ b/gtk/src/multiselection.hg
@@ -54,7 +54,9 @@ public:
   _WRAP_METHOD(Glib::RefPtr<const Gio::ListModel> get_model() const, gtk_multi_selection_get_model, 
refreturn, constversion)
   _WRAP_METHOD(void set_model(const Glib::RefPtr<Gio::ListModel>& model), gtk_multi_selection_set_model)
 
+  _WRAP_PROPERTY("item-type", GType)
   _WRAP_PROPERTY("model", Glib::RefPtr<Gio::ListModel>)
+  _WRAP_PROPERTY("n-items", unsigned int)
 
   // There are no signals or vfuncs.
 };
diff --git a/gtk/src/multisorter.hg b/gtk/src/multisorter.hg
index b6d88149..e1405301 100644
--- a/gtk/src/multisorter.hg
+++ b/gtk/src/multisorter.hg
@@ -50,6 +50,9 @@ public:
 #m4 _CONVERSION(`const Glib::RefPtr<Sorter>&', `GtkSorter*', `Glib::unwrap_copy($3)')
   _WRAP_METHOD(void append(const Glib::RefPtr<Sorter>& sorter), gtk_multi_sorter_append)
   _WRAP_METHOD(void remove(guint position), gtk_multi_sorter_remove)
+
+  _WRAP_PROPERTY("item-type", GType)
+  _WRAP_PROPERTY("n-items", unsigned int)
 };
 
 } // namespace Gtk
diff --git a/gtk/src/noselection.hg b/gtk/src/noselection.hg
index 2bab539a..b64db379 100644
--- a/gtk/src/noselection.hg
+++ b/gtk/src/noselection.hg
@@ -57,7 +57,9 @@ public:
   _WRAP_METHOD(Glib::RefPtr<const Gio::ListModel> get_model() const, gtk_no_selection_get_model, refreturn, 
constversion)
   _WRAP_METHOD(void set_model(const Glib::RefPtr<Gio::ListModel>& model), gtk_no_selection_set_model)
 
+  _WRAP_PROPERTY("item-type", GType)
   _WRAP_PROPERTY("model", Glib::RefPtr<Gio::ListModel>)
+  _WRAP_PROPERTY("n-items", unsigned int)
 
   // There are no signals or vfuncs.
 };
diff --git a/gtk/src/picture.hg b/gtk/src/picture.hg
index c9ac3b40..a4bcbee1 100644
--- a/gtk/src/picture.hg
+++ b/gtk/src/picture.hg
@@ -120,20 +120,26 @@ public:
   _WRAP_METHOD(void set_resource(const std::string& resource_path), gtk_picture_set_resource)
   _WRAP_METHOD(void set_pixbuf(const Glib::RefPtr<Gdk::Pixbuf>& pixbuf), gtk_picture_set_pixbuf)
 
-  _WRAP_METHOD(void set_keep_aspect_ratio(bool keep_aspect_ratio = true), gtk_picture_set_keep_aspect_ratio)
-  _WRAP_METHOD(bool get_keep_aspect_ratio() const, gtk_picture_get_keep_aspect_ratio)
+  _WRAP_METHOD(void set_keep_aspect_ratio(bool keep_aspect_ratio = true), gtk_picture_set_keep_aspect_ratio,
+    deprecated "Use set_content_fit() instead.")
+  _WRAP_METHOD(bool get_keep_aspect_ratio() const, gtk_picture_get_keep_aspect_ratio,
+    deprecated "Use get_content_fit() instead.")
 
   _WRAP_METHOD(void set_can_shrink(bool can_shrink = true), gtk_picture_set_can_shrink)
   _WRAP_METHOD(bool get_can_shrink() const, gtk_picture_get_can_shrink)
 
+  //_WRAP_METHOD(void set_content_fit(ContentFit content_fit), gtk_picture_set_content_fit, newin "4,8")
+  //_WRAP_METHOD(ContentFit get_content_fit() const, gtk_picture_get_content_fit, newin "4,8")
+
   _WRAP_METHOD(void set_alternative_text(const Glib::ustring& alternative_text{NULL}), 
gtk_picture_set_alternative_text)
   _WRAP_METHOD(Glib::ustring get_alternative_text() const, gtk_picture_get_alternative_text)
 
   _WRAP_PROPERTY("paintable", Glib::RefPtr<Gdk::Paintable>)
   _WRAP_PROPERTY("file", Glib::RefPtr<Gio::File>)
   _WRAP_PROPERTY("alternative-text", Glib::ustring)
-  _WRAP_PROPERTY("keep-aspect-ratio", bool)
+  _WRAP_PROPERTY("keep-aspect-ratio", bool, deprecated "Use property_content_fit() instead.")
   _WRAP_PROPERTY("can-shrink", bool)
+  //_WRAP_PROPERTY("content-fit", ContentFit, newin "4,8")
 };
 
 } //namespace Gtk
diff --git a/gtk/src/searchentry.hg b/gtk/src/searchentry.hg
index 8212f05b..b6150698 100644
--- a/gtk/src/searchentry.hg
+++ b/gtk/src/searchentry.hg
@@ -66,6 +66,9 @@ public:
   _WRAP_METHOD(const Widget* get_key_capture_widget() const, gtk_search_entry_get_key_capture_widget, 
constversion)
   void unset_key_capture_widget();
 
+  _WRAP_METHOD(void set_search_delay(unsigned int delay), gtk_search_entry_set_search_delay)
+  _WRAP_METHOD(unsigned int get_search_delay() const, gtk_search_entry_get_search_delay)
+
   // no_default_handler because GtkSearchEntryClass is private.
   _IGNORE_SIGNAL("activate")dnl// Action signal
   _WRAP_SIGNAL(void search_changed(), "search-changed", no_default_handler)
@@ -78,6 +81,7 @@ public:
 
   _WRAP_PROPERTY("placeholder-text", Glib::ustring)
   _WRAP_PROPERTY("activates-default", bool)
+  _WRAP_PROPERTY("search-delay", unsigned int)
 };
 
 } /* namespace Gtk */
diff --git a/gtk/src/selectionfiltermodel.hg b/gtk/src/selectionfiltermodel.hg
index 88fbdbd7..c2032cf8 100644
--- a/gtk/src/selectionfiltermodel.hg
+++ b/gtk/src/selectionfiltermodel.hg
@@ -51,7 +51,9 @@ public:
   _WRAP_METHOD(Glib::RefPtr<SelectionModel> get_model(), gtk_selection_filter_model_get_model, refreturn)
   _WRAP_METHOD(Glib::RefPtr<const SelectionModel> get_model() const, gtk_selection_filter_model_get_model, 
refreturn, constversion)
 
+  _WRAP_PROPERTY("item-type", GType)
   _WRAP_PROPERTY("model", Glib::RefPtr<SelectionModel>)
+  _WRAP_PROPERTY("n-items", unsigned int)
 };
 
 } // namespace Gtk
diff --git a/gtk/src/shortcutcontroller.hg b/gtk/src/shortcutcontroller.hg
index 811de2a2..10f42523 100644
--- a/gtk/src/shortcutcontroller.hg
+++ b/gtk/src/shortcutcontroller.hg
@@ -110,7 +110,9 @@ public:
   _WRAP_METHOD(void remove_shortcut(const Glib::RefPtr<const Shortcut>& shortcut),
     gtk_shortcut_controller_remove_shortcut)
 
+  _WRAP_PROPERTY("item-type", GType)
   _WRAP_PROPERTY("mnemonic-modifiers", Gdk::ModifierType)
+  _WRAP_PROPERTY("n-items", unsigned int)
   _WRAP_PROPERTY("scope", ShortcutScope)
   // The "model" property is write-pnly, construct-only. Can't be wrapped.
 };
diff --git a/gtk/src/signallistitemfactory.hg b/gtk/src/signallistitemfactory.hg
index 643d17b4..5730421a 100644
--- a/gtk/src/signallistitemfactory.hg
+++ b/gtk/src/signallistitemfactory.hg
@@ -79,6 +79,10 @@ public:
   _WRAP_CREATE()
 
   // no_default_handler because GtkSignalListItemFactoryClass is private.
+  // Gtk now declares these signals as taking a GObject*. We can't make such a
+  // change in gtkmm. It would break API, and perhaps ABI.
+  // Fixed by gtk/src/gtk_signals.defs.patch
+  // https://gitlab.gnome.org/GNOME/gtk/-/issues/5056
 #m4 _CONVERSION(`GtkListItem*',`const Glib::RefPtr<ListItem>&',`Glib::wrap($3, true)')
   _WRAP_SIGNAL(void setup(const Glib::RefPtr<ListItem>& list_item), "setup", no_default_handler)
   _WRAP_SIGNAL(void bind(const Glib::RefPtr<ListItem>& list_item), "bind", no_default_handler)
diff --git a/gtk/src/singleselection.hg b/gtk/src/singleselection.hg
index 168ee378..9ce671d8 100644
--- a/gtk/src/singleselection.hg
+++ b/gtk/src/singleselection.hg
@@ -78,7 +78,9 @@ public:
   _WRAP_PROPERTY("can-unselect", bool)
   _WRAP_PROPERTY("selected", guint)
   _WRAP_PROPERTY("selected-item", Glib::RefPtr<Glib::ObjectBase>)
+  _WRAP_PROPERTY("item-type", GType)
   _WRAP_PROPERTY("model", Glib::RefPtr<Gio::ListModel>)
+  _WRAP_PROPERTY("n-items", unsigned int)
 
   // There are no signals or vfuncs.
 };
diff --git a/gtk/src/slicelistmodel.hg b/gtk/src/slicelistmodel.hg
index 83efff5b..8bba1183 100644
--- a/gtk/src/slicelistmodel.hg
+++ b/gtk/src/slicelistmodel.hg
@@ -59,7 +59,9 @@ public:
   _WRAP_METHOD(void set_size(guint size), gtk_slice_list_model_set_size)
   _WRAP_METHOD(guint get_size() const, gtk_slice_list_model_get_size)
 
+  _WRAP_PROPERTY("item-type", GType)
   _WRAP_PROPERTY("model", Glib::RefPtr<Gio::ListModel>)
+  _WRAP_PROPERTY("n-items", unsigned int)
   _WRAP_PROPERTY("offset", guint)
   _WRAP_PROPERTY("size", guint)
 };
diff --git a/gtk/src/sortlistmodel.hg b/gtk/src/sortlistmodel.hg
index 4959e296..8c8e57a3 100644
--- a/gtk/src/sortlistmodel.hg
+++ b/gtk/src/sortlistmodel.hg
@@ -72,7 +72,9 @@ public:
   _WRAP_METHOD(guint get_pending() const, gtk_sort_list_model_get_pending)
 
   _WRAP_PROPERTY("incremental", bool)
+  _WRAP_PROPERTY("item-type", GType)
   _WRAP_PROPERTY("model", Glib::RefPtr<Gio::ListModel>)
+  _WRAP_PROPERTY("n-items", unsigned int)
   _WRAP_PROPERTY("pending", guint)
   _WRAP_PROPERTY("sorter", Glib::RefPtr<Sorter>)
 };
diff --git a/gtk/src/treelistmodel.hg b/gtk/src/treelistmodel.hg
index 237f4c64..c57ba5b4 100644
--- a/gtk/src/treelistmodel.hg
+++ b/gtk/src/treelistmodel.hg
@@ -93,7 +93,9 @@ public:
   _WRAP_METHOD(Glib::RefPtr<const TreeListRow> get_row(guint position) const, gtk_tree_list_model_get_row, 
constversion)
 
   _WRAP_PROPERTY("autoexpand", bool)
+  _WRAP_PROPERTY("item-type", GType)
   _WRAP_PROPERTY("model", Glib::RefPtr<Gio::ListModel>)
+  _WRAP_PROPERTY("n-items", unsigned int)
   _WRAP_PROPERTY("passthrough", bool)
 };
 
diff --git a/meson.build b/meson.build
index 14b28a08..3a82368e 100644
--- a/meson.build
+++ b/meson.build
@@ -106,7 +106,7 @@ install_pkgconfigdir = install_libdir / 'pkgconfig'
 glibmm_req = '>= 2.68.0'
 
 # Gtk supported pkg-config files on MSVC files for a good while, so just use that
-gtk_req = '>= 4.6.0'
+gtk_req = '>= 4.7.1'
 gtk_dep = dependency('gtk4', version: gtk_req)
 
 cairomm_req = '>= 1.15.4'
diff --git a/tools/extra_defs_gen/generate_defs_gtk.cc b/tools/extra_defs_gen/generate_defs_gtk.cc
index 4204fc65..1d510e47 100644
--- a/tools/extra_defs_gen/generate_defs_gtk.cc
+++ b/tools/extra_defs_gen/generate_defs_gtk.cc
@@ -165,7 +165,9 @@ int main(int /* argc */, char** /* argv */)
             << get_defs( GTK_TYPE_MENU_BUTTON )
             << get_defs( GTK_TYPE_MESSAGE_DIALOG )
             << get_defs( GTK_TYPE_MNEMONIC_TRIGGER )
+            << get_defs( GTK_TYPE_MULTI_FILTER )
             << get_defs( GTK_TYPE_MULTI_SELECTION )
+            << get_defs( GTK_TYPE_MULTI_SORTER )
             << get_defs( GTK_TYPE_NAMED_ACTION )
             << get_defs( GTK_TYPE_NATIVE_DIALOG )
             << get_defs( GTK_TYPE_NO_SELECTION )
diff --git a/tools/m4/convert_gdk.m4 b/tools/m4/convert_gdk.m4
index 993f8eba..99efe683 100644
--- a/tools/m4/convert_gdk.m4
+++ b/tools/m4/convert_gdk.m4
@@ -62,6 +62,7 @@ _CONV_ENUM(Gdk,OwnerChange)
 _CONV_INCLASS_ENUM(Gdk,Paintable,Flags)
 _CONV_ENUM(Gdk,PropertyState)
 _CONV_ENUM(Gdk,ScrollDirection)
+_CONV_ENUM(Gdk,ScrollUnit)
 _CONV_INCLASS_ENUM(Gdk,Seat,Capabilities)
 _CONV_ENUM(Gdk,SettingAction)
 _CONV_ENUM(Gdk,Status)
diff --git a/tools/m4/convert_gtk.m4 b/tools/m4/convert_gtk.m4
index 6ce3b9ea..6d5b8c0a 100644
--- a/tools/m4/convert_gtk.m4
+++ b/tools/m4/convert_gtk.m4
@@ -44,6 +44,7 @@ _CONV_ENUM(Gtk,CellRendererState)
 _CONV_INCLASS_ENUM(Gtk,Constraint,Attribute)
 _CONV_INCLASS_ENUM(Gtk,Constraint,Relation)
 _CONV_INCLASS_ENUM(Gtk,Constraint,Strength)
+_CONV_ENUM(Gtk,ContentFit)
 _CONV_ENUM(Gtk,CornerType)
 _CONV_ENUM(Gtk,CssParserError)
 _CONV_ENUM(Gtk,CssParserWarning)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]