[gtk/overlay-scrolling-setting: 391/391] scrolled window: respect overlay-scrolling setting



commit 97e15b87184dd0bd2a6a96c273b7260b3ee39ce0
Author: Matthias Clasen <mclasen redhat com>
Date:   Wed May 22 19:34:46 2019 +0000

    scrolled window: respect overlay-scrolling setting
    
    If the gtk-overlay-scrolling setting is FALSE,
    don't use overlay scrollbars.

 gtk/gtkscrolledwindow.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)
---
diff --git a/gtk/gtkscrolledwindow.c b/gtk/gtkscrolledwindow.c
index bc656e1613..7e33a3a7c5 100644
--- a/gtk/gtkscrolledwindow.c
+++ b/gtk/gtkscrolledwindow.c
@@ -635,6 +635,9 @@ gtk_scrolled_window_class_init (GtkScrolledWindowClass *class)
    * scrollbars are only added as traditional widgets when a mouse
    * is present. Otherwise, they are overlayed on top of the content,
    * as narrow indicators.
+   *
+   * Note that overlay scrolling can also be globally disabled, with
+   * the #GtkSettings::gtk-overlay-scrolling setting.
    */
   properties[PROP_OVERLAY_SCROLLING] =
       g_param_spec_boolean ("overlay-scrolling",
@@ -3606,6 +3609,7 @@ gtk_scrolled_window_map (GtkWidget *widget)
   GTK_WIDGET_CLASS (gtk_scrolled_window_parent_class)->map (widget);
 
   gtk_scrolled_window_update_animating (scrolled_window);
+  gtk_scrolled_window_update_use_indicators (scrolled_window);
 }
 
 static void
@@ -3833,8 +3837,12 @@ gtk_scrolled_window_update_use_indicators (GtkScrolledWindow *scrolled_window)
 {
   GtkScrolledWindowPrivate *priv = gtk_scrolled_window_get_instance_private (scrolled_window);
   gboolean use_indicators;
+  GtkSettings *settings = gtk_widget_get_settings (GTK_WIDGET (scrolled_window));
+  gboolean overlay_scrolling;
+
+  g_object_get (settings, "gtk-overlay-scrolling", &overlay_scrolling, NULL);
 
-  use_indicators = priv->overlay_scrolling;
+  use_indicators = overlay_scrolling && priv->overlay_scrolling;
 
   if (priv->use_indicators != use_indicators)
     {


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