[nautilus/gtk4-preparation-trunk: 107/120] files-view: Prepare for non-GtkBin scrolled window




commit fb21177f7e6116d26b75f6350f155a92a0962ace
Author: António Fernandes <antoniof gnome org>
Date:   Wed Dec 22 22:16:05 2021 +0000

    files-view: Prepare for non-GtkBin scrolled window
    
    In GTK 4, GtkScrolledWindow no longer inherits from GtkBin.
    
    While a mechanical replacement of GtkBin with AdwBin is going to work
    elsewhere, it's going to break here.
    
    In order to prevent that introduce a wraper with ths same signature as
    the GTK 4 GtkScrolledWindow:child getter.

 src/nautilus-files-view.c   | 2 +-
 src/nautilus-gtk4-helpers.c | 8 ++++++++
 src/nautilus-gtk4-helpers.h | 2 +-
 3 files changed, 10 insertions(+), 2 deletions(-)
---
diff --git a/src/nautilus-files-view.c b/src/nautilus-files-view.c
index 41c929a9f..abb04786c 100644
--- a/src/nautilus-files-view.c
+++ b/src/nautilus-files-view.c
@@ -3113,7 +3113,7 @@ nautilus_files_view_grab_focus (GtkWidget *widget)
 
     view = NAUTILUS_FILES_VIEW (widget);
     priv = nautilus_files_view_get_instance_private (view);
-    child = gtk_bin_get_child (GTK_BIN (priv->scrolled_window));
+    child = gtk_scrolled_window_get_child (GTK_SCROLLED_WINDOW (priv->scrolled_window));
 
     GTK_WIDGET_CLASS (nautilus_files_view_parent_class)->grab_focus (widget);
 
diff --git a/src/nautilus-gtk4-helpers.c b/src/nautilus-gtk4-helpers.c
index 8d4ae4c2a..0ddcce4f7 100644
--- a/src/nautilus-gtk4-helpers.c
+++ b/src/nautilus-gtk4-helpers.c
@@ -133,6 +133,14 @@ gtk_widget_get_first_child (GtkWidget *widget)
     return NULL;
 }
 
+GtkWidget *
+gtk_scrolled_window_get_child (GtkScrolledWindow *scrolled)
+{
+    g_assert (GTK_IS_SCROLLED_WINDOW (scrolled));
+
+    return gtk_bin_get_child (GTK_BIN (scrolled));
+}
+
 GdkDisplay *
 gtk_root_get_display (GtkRoot *root)
 {
diff --git a/src/nautilus-gtk4-helpers.h b/src/nautilus-gtk4-helpers.h
index f712758f0..0e1ef4f57 100644
--- a/src/nautilus-gtk4-helpers.h
+++ b/src/nautilus-gtk4-helpers.h
@@ -37,7 +37,7 @@ void gtk_check_button_set_active   (GtkCheckButton    *button,
 
 gboolean gtk_check_button_get_active (GtkCheckButton  *button);
 GtkWidget *gtk_widget_get_first_child (GtkWidget *widget);
-
+GtkWidget *gtk_scrolled_window_get_child (GtkScrolledWindow *scrolled);
 
 void gtk_style_context_add_provider_for_display    (GdkDisplay       *display,
                                                     GtkStyleProvider *provider,


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