[gtk/focus-adjustment: 84/88] inspector: Use the new scroll-to-focus



commit b339bde6a530305f1ce18f3b47ff2f0a65af2cac
Author: Matthias Clasen <mclasen redhat com>
Date:   Thu Apr 16 22:47:37 2020 -0400

    inspector: Use the new scroll-to-focus

 gtk/inspector/general.c |   22 -
 gtk/inspector/visual.c  |   23 -
 gtk/inspector/visual.ui | 1071 ++++++++++++++++++++++++-----------------------
 3 files changed, 538 insertions(+), 578 deletions(-)
---
diff --git a/gtk/inspector/general.c b/gtk/inspector/general.c
index 1f50020bfc..d278a2656b 100644
--- a/gtk/inspector/general.c
+++ b/gtk/inspector/general.c
@@ -90,7 +90,6 @@ struct _GtkInspectorGeneralPrivate
   GtkWidget *display_rgba;
   GtkWidget *display_composited;
   GtkSizeGroup *labels;
-  GtkAdjustment *focus_adjustment;
 
   GdkDisplay *display;
 };
@@ -816,7 +815,6 @@ static gboolean
 keynav_failed (GtkWidget *widget, GtkDirectionType direction, GtkInspectorGeneral *gen)
 {
   GtkWidget *next;
-  gdouble value, lower, upper, page;
 
   if (direction == GTK_DIR_DOWN && widget == gen->priv->version_box)
     next = gen->priv->env_box;
@@ -847,22 +845,6 @@ keynav_failed (GtkWidget *widget, GtkDirectionType direction, GtkInspectorGenera
       return TRUE;
     }
 
-  value = gtk_adjustment_get_value (gen->priv->focus_adjustment);
-  lower = gtk_adjustment_get_lower (gen->priv->focus_adjustment);
-  upper = gtk_adjustment_get_upper (gen->priv->focus_adjustment);
-  page  = gtk_adjustment_get_page_size (gen->priv->focus_adjustment);
-
-  if (direction == GTK_DIR_UP && value > lower)
-    {
-      gtk_adjustment_set_value (gen->priv->focus_adjustment, lower);
-      return TRUE;
-    }
-  else if (direction == GTK_DIR_DOWN && value < upper - page)
-    {
-      gtk_adjustment_set_value (gen->priv->focus_adjustment, upper - page);
-      return TRUE;
-    }
-
   return FALSE;
 }
 
@@ -873,10 +855,6 @@ gtk_inspector_general_constructed (GObject *object)
 
   G_OBJECT_CLASS (gtk_inspector_general_parent_class)->constructed (object);
 
-  gen->priv->focus_adjustment = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (gen->priv->swin));
-  gtk_container_set_focus_vadjustment (GTK_CONTAINER (gen->priv->box),
-                                       gen->priv->focus_adjustment);
-
    g_signal_connect (gen->priv->version_box, "keynav-failed", G_CALLBACK (keynav_failed), gen);
    g_signal_connect (gen->priv->env_box, "keynav-failed", G_CALLBACK (keynav_failed), gen);
    g_signal_connect (gen->priv->display_box, "keynav-failed", G_CALLBACK (keynav_failed), gen);
diff --git a/gtk/inspector/visual.c b/gtk/inspector/visual.c
index 46349bd595..5e2bb76ad5 100644
--- a/gtk/inspector/visual.c
+++ b/gtk/inspector/visual.c
@@ -90,8 +90,6 @@ struct _GtkInspectorVisualPrivate
   GtkWidget *touchscreen_switch;
   GtkWidget *software_gl_switch;
 
-  GtkAdjustment *focus_adjustment;
-
   GtkInspectorOverlay *fps_overlay;
   GtkInspectorOverlay *updates_overlay;
   GtkInspectorOverlay *layout_overlay;
@@ -912,7 +910,6 @@ static gboolean
 keynav_failed (GtkWidget *widget, GtkDirectionType direction, GtkInspectorVisual *vis)
 {
   GtkWidget *next;
-  gdouble value, lower, upper, page;
 
   if (direction == GTK_DIR_DOWN &&
       widget == vis->priv->visual_box)
@@ -935,22 +932,6 @@ keynav_failed (GtkWidget *widget, GtkDirectionType direction, GtkInspectorVisual
       return TRUE;
     }
 
-  value = gtk_adjustment_get_value (vis->priv->focus_adjustment);
-  lower = gtk_adjustment_get_lower (vis->priv->focus_adjustment);
-  upper = gtk_adjustment_get_upper (vis->priv->focus_adjustment);
-  page  = gtk_adjustment_get_page_size (vis->priv->focus_adjustment);
-
-  if (direction == GTK_DIR_UP && value > lower)
-    {
-      gtk_adjustment_set_value (vis->priv->focus_adjustment, lower);
-      return TRUE;
-    }
-  else if (direction == GTK_DIR_DOWN && value < upper - page)
-    {
-      gtk_adjustment_set_value (vis->priv->focus_adjustment, upper - page);
-      return TRUE;
-    }
-
   return FALSE;
 }
 
@@ -1070,10 +1051,6 @@ gtk_inspector_visual_constructed (GObject *object)
 
   G_OBJECT_CLASS (gtk_inspector_visual_parent_class)->constructed (object);
 
-  vis->priv->focus_adjustment = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (vis->priv->swin));
-  gtk_container_set_focus_vadjustment (GTK_CONTAINER (vis->priv->box),
-                                       vis->priv->focus_adjustment);
-
    g_signal_connect (vis->priv->visual_box, "keynav-failed", G_CALLBACK (keynav_failed), vis);
    g_signal_connect (vis->priv->debug_box, "keynav-failed", G_CALLBACK (keynav_failed), vis);
    g_signal_connect (vis->priv->misc_box, "keynav-failed", G_CALLBACK (keynav_failed), vis);
diff --git a/gtk/inspector/visual.ui b/gtk/inspector/visual.ui
index bbac09de1d..6fcbc2a728 100644
--- a/gtk/inspector/visual.ui
+++ b/gtk/inspector/visual.ui
@@ -29,368 +29,373 @@
       <object class="GtkScrolledWindow" id="swin">
         <property name="hscrollbar-policy">never</property>
         <child>
-          <object class="GtkBox" id="box">
-            <property name="orientation">vertical</property>
-            <property name="margin-start">60</property>
-            <property name="margin-end">60</property>
-            <property name="margin-top">60</property>
-            <property name="margin-bottom">60</property>
-            <property name="spacing">10</property>
+          <object class="GtkViewport">
+            <property name="scroll-to-focus">1</property>
             <child>
-              <object class="GtkFrame" id="visual_frame">
-                <property name="halign">center</property>
+              <object class="GtkBox" id="box">
+                <property name="orientation">vertical</property>
+                <property name="margin-start">60</property>
+                <property name="margin-end">60</property>
+                <property name="margin-top">60</property>
+                <property name="margin-bottom">60</property>
+                <property name="spacing">10</property>
                 <child>
-                  <object class="GtkListBox" id="visual_box">
-                    <property name="selection-mode">none</property>
-                    <style>
-                      <class name="view"/>
-                    </style>
+                  <object class="GtkFrame" id="visual_frame">
+                    <property name="halign">center</property>
                     <child>
-                      <object class="GtkListBoxRow">
-                        <property name="activatable">0</property>
+                      <object class="GtkListBox" id="visual_box">
+                        <property name="selection-mode">none</property>
+                        <style>
+                          <class name="view"/>
+                        </style>
                         <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="theme_label">
-                                <property name="label" translatable="yes">GTK Theme</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkComboBoxText" id="theme_combo">
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="hexpand">1</property>
+                          <object class="GtkListBoxRow">
+                            <property name="activatable">0</property>
+                            <child>
+                              <object class="GtkBox">
+                                <property name="margin-start">10</property>
+                                <property name="margin-end">10</property>
+                                <property name="margin-top">10</property>
+                                <property name="margin-bottom">10</property>
+                                <property name="spacing">40</property>
+                                <child>
+                                  <object class="GtkLabel" id="theme_label">
+                                    <property name="label" translatable="yes">GTK Theme</property>
+                                    <property name="halign">start</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="xalign">0.0</property>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkComboBoxText" id="theme_combo">
+                                    <property name="halign">end</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="hexpand">1</property>
+                                  </object>
+                                </child>
                               </object>
                             </child>
                           </object>
                         </child>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkListBoxRow">
                         <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="dark_label">
-                                <property name="label" translatable="yes">Dark Variant</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkSwitch" id="dark_switch">
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="hexpand">1</property>
+                          <object class="GtkListBoxRow">
+                            <child>
+                              <object class="GtkBox">
+                                <property name="margin-start">10</property>
+                                <property name="margin-end">10</property>
+                                <property name="margin-top">10</property>
+                                <property name="margin-bottom">10</property>
+                                <property name="spacing">40</property>
+                                <child>
+                                  <object class="GtkLabel" id="dark_label">
+                                    <property name="label" translatable="yes">Dark Variant</property>
+                                    <property name="halign">start</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="xalign">0.0</property>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkSwitch" id="dark_switch">
+                                    <property name="halign">end</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="hexpand">1</property>
+                                  </object>
+                                </child>
                               </object>
                             </child>
                           </object>
                         </child>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkListBoxRow">
-                        <property name="activatable">0</property>
                         <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="cursor_label">
-                                <property name="label" translatable="yes">Cursor Theme</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkComboBoxText" id="cursor_combo">
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="hexpand">1</property>
+                          <object class="GtkListBoxRow">
+                            <property name="activatable">0</property>
+                            <child>
+                              <object class="GtkBox">
+                                <property name="margin-start">10</property>
+                                <property name="margin-end">10</property>
+                                <property name="margin-top">10</property>
+                                <property name="margin-bottom">10</property>
+                                <property name="spacing">40</property>
+                                <child>
+                                  <object class="GtkLabel" id="cursor_label">
+                                    <property name="label" translatable="yes">Cursor Theme</property>
+                                    <property name="halign">start</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="xalign">0.0</property>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkComboBoxText" id="cursor_combo">
+                                    <property name="halign">end</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="hexpand">1</property>
+                                  </object>
+                                </child>
                               </object>
                             </child>
                           </object>
                         </child>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkListBoxRow">
-                        <property name="activatable">0</property>
                         <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="cursor_size_label">
-                                <property name="label" translatable="yes">Cursor Size</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkSpinButton" id="cursor_size_spin">
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="max-width-chars">2</property>
-                                <property name="width-chars">2</property>
-                                <property name="adjustment">cursor_size_adjustment</property>
-                                <property name="snap-to-ticks">1</property>
-                                <property name="hexpand">1</property>
+                          <object class="GtkListBoxRow">
+                            <property name="activatable">0</property>
+                            <child>
+                              <object class="GtkBox">
+                                <property name="margin-start">10</property>
+                                <property name="margin-end">10</property>
+                                <property name="margin-top">10</property>
+                                <property name="margin-bottom">10</property>
+                                <property name="spacing">40</property>
+                                <child>
+                                  <object class="GtkLabel" id="cursor_size_label">
+                                    <property name="label" translatable="yes">Cursor Size</property>
+                                    <property name="halign">start</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="xalign">0.0</property>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkSpinButton" id="cursor_size_spin">
+                                    <property name="halign">end</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="max-width-chars">2</property>
+                                    <property name="width-chars">2</property>
+                                    <property name="adjustment">cursor_size_adjustment</property>
+                                    <property name="snap-to-ticks">1</property>
+                                    <property name="hexpand">1</property>
+                                  </object>
+                                </child>
                               </object>
                             </child>
                           </object>
                         </child>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkListBoxRow">
-                        <property name="activatable">0</property>
                         <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="icon_label">
-                                <property name="label" translatable="yes">Icon Theme</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkComboBoxText" id="icon_combo">
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="hexpand">1</property>
+                          <object class="GtkListBoxRow">
+                            <property name="activatable">0</property>
+                            <child>
+                              <object class="GtkBox">
+                                <property name="margin-start">10</property>
+                                <property name="margin-end">10</property>
+                                <property name="margin-top">10</property>
+                                <property name="margin-bottom">10</property>
+                                <property name="spacing">40</property>
+                                <child>
+                                  <object class="GtkLabel" id="icon_label">
+                                    <property name="label" translatable="yes">Icon Theme</property>
+                                    <property name="halign">start</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="xalign">0.0</property>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkComboBoxText" id="icon_combo">
+                                    <property name="halign">end</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="hexpand">1</property>
+                                  </object>
+                                </child>
                               </object>
                             </child>
                           </object>
                         </child>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkListBoxRow">
-                        <property name="activatable">0</property>
                         <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="font_label">
-                                <property name="label" translatable="yes">Font</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkFontButton" id="font_button">
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="hexpand">1</property>
+                          <object class="GtkListBoxRow">
+                            <property name="activatable">0</property>
+                            <child>
+                              <object class="GtkBox">
+                                <property name="margin-start">10</property>
+                                <property name="margin-end">10</property>
+                                <property name="margin-top">10</property>
+                                <property name="margin-bottom">10</property>
+                                <property name="spacing">40</property>
+                                <child>
+                                  <object class="GtkLabel" id="font_label">
+                                    <property name="label" translatable="yes">Font</property>
+                                    <property name="halign">start</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="xalign">0.0</property>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkFontButton" id="font_button">
+                                    <property name="halign">end</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="hexpand">1</property>
+                                  </object>
+                                </child>
                               </object>
                             </child>
                           </object>
                         </child>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkListBoxRow">
-                        <property name="activatable">0</property>
                         <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">20</property>
-                            <child>
-                              <object class="GtkLabel" id="font_scale_label">
-                                <property name="label" translatable="yes">Font Scale</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkScale" id="font_scale_scale">
-                                <property name="valign">baseline</property>
-                                <property name="adjustment">font_scale_adjustment</property>
-                                <property name="draw-value">0</property>
-                                <property name="hexpand">1</property>
-                                <marks>
-                                  <mark value="1.0" position="top"></mark>
-                                </marks>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkEntry" id="font_scale_entry">
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="width-chars">4</property>
-                                <property name="input-purpose">number</property>
+                          <object class="GtkListBoxRow">
+                            <property name="activatable">0</property>
+                            <child>
+                              <object class="GtkBox">
+                                <property name="margin-start">10</property>
+                                <property name="margin-end">10</property>
+                                <property name="margin-top">10</property>
+                                <property name="margin-bottom">10</property>
+                                <property name="spacing">20</property>
+                                <child>
+                                  <object class="GtkLabel" id="font_scale_label">
+                                    <property name="label" translatable="yes">Font Scale</property>
+                                    <property name="halign">start</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="xalign">0.0</property>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkScale" id="font_scale_scale">
+                                    <property name="valign">baseline</property>
+                                    <property name="adjustment">font_scale_adjustment</property>
+                                    <property name="draw-value">0</property>
+                                    <property name="hexpand">1</property>
+                                    <marks>
+                                      <mark value="1.0" position="top"></mark>
+                                    </marks>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkEntry" id="font_scale_entry">
+                                    <property name="halign">end</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="width-chars">4</property>
+                                    <property name="input-purpose">number</property>
+                                  </object>
+                                </child>
                               </object>
                             </child>
                           </object>
                         </child>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkListBoxRow">
-                        <property name="activatable">0</property>
                         <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="direction_label">
-                                <property name="label" translatable="yes">Text Direction</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkComboBoxText" id="direction_combo">
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="hexpand">1</property>
-                                <signal name="changed" handler="direction_changed"/>
-                                <items>
-                                  <item translatable="yes" id="ltr">Left-to-Right</item>
-                                  <item translatable="yes" id="rtl">Right-to-Left</item>
-                                </items>
+                          <object class="GtkListBoxRow">
+                            <property name="activatable">0</property>
+                            <child>
+                              <object class="GtkBox">
+                                <property name="margin-start">10</property>
+                                <property name="margin-end">10</property>
+                                <property name="margin-top">10</property>
+                                <property name="margin-bottom">10</property>
+                                <property name="spacing">40</property>
+                                <child>
+                                  <object class="GtkLabel" id="direction_label">
+                                    <property name="label" translatable="yes">Text Direction</property>
+                                    <property name="halign">start</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="xalign">0.0</property>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkComboBoxText" id="direction_combo">
+                                    <property name="halign">end</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="hexpand">1</property>
+                                    <signal name="changed" handler="direction_changed"/>
+                                    <items>
+                                      <item translatable="yes" id="ltr">Left-to-Right</item>
+                                      <item translatable="yes" id="rtl">Right-to-Left</item>
+                                    </items>
+                                  </object>
+                                </child>
                               </object>
                             </child>
                           </object>
                         </child>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkListBoxRow">
-                        <property name="activatable">0</property>
                         <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="hidpi_label">
-                                <property name="label" translatable="yes">Window Scaling</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkSpinButton" id="hidpi_spin">
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="adjustment">scale_adjustment</property>
-                                <property name="snap-to-ticks">1</property>
-                                <property name="hexpand">1</property>
+                          <object class="GtkListBoxRow">
+                            <property name="activatable">0</property>
+                            <child>
+                              <object class="GtkBox">
+                                <property name="margin-start">10</property>
+                                <property name="margin-end">10</property>
+                                <property name="margin-top">10</property>
+                                <property name="margin-bottom">10</property>
+                                <property name="spacing">40</property>
+                                <child>
+                                  <object class="GtkLabel" id="hidpi_label">
+                                    <property name="label" translatable="yes">Window Scaling</property>
+                                    <property name="halign">start</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="xalign">0.0</property>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkSpinButton" id="hidpi_spin">
+                                    <property name="halign">end</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="adjustment">scale_adjustment</property>
+                                    <property name="snap-to-ticks">1</property>
+                                    <property name="hexpand">1</property>
+                                  </object>
+                                </child>
                               </object>
                             </child>
                           </object>
                         </child>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkListBoxRow">
                         <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="animation_label">
-                                <property name="label" translatable="yes">Animations</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkSwitch" id="animation_switch">
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="hexpand">1</property>
+                          <object class="GtkListBoxRow">
+                            <child>
+                              <object class="GtkBox">
+                                <property name="margin-start">10</property>
+                                <property name="margin-end">10</property>
+                                <property name="margin-top">10</property>
+                                <property name="margin-bottom">10</property>
+                                <property name="spacing">40</property>
+                                <child>
+                                  <object class="GtkLabel" id="animation_label">
+                                    <property name="label" translatable="yes">Animations</property>
+                                    <property name="halign">start</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="xalign">0.0</property>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkSwitch" id="animation_switch">
+                                    <property name="halign">end</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="hexpand">1</property>
+                                  </object>
+                                </child>
                               </object>
                             </child>
                           </object>
                         </child>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkListBoxRow">
-                        <property name="activatable">0</property>
                         <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">20</property>
-                            <child>
-                              <object class="GtkLabel" id="slowdown_label">
-                                <property name="label" translatable="yes">Slowdown</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkScale" id="slowdown_scale">
-                                <property name="adjustment">slowdown_adjustment</property>
-                                <property name="valign">baseline</property>
-                                <property name="draw-value">0</property>
-                                <property name="hexpand">1</property>
-                                <marks>
-                                  <mark value="0.0" position="top"></mark>
-                                </marks>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkEntry" id="slowdown_entry">
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="width-chars">4</property>
-                                <property name="input-purpose">number</property>
+                          <object class="GtkListBoxRow">
+                            <property name="activatable">0</property>
+                            <child>
+                              <object class="GtkBox">
+                                <property name="margin-start">10</property>
+                                <property name="margin-end">10</property>
+                                <property name="margin-top">10</property>
+                                <property name="margin-bottom">10</property>
+                                <property name="spacing">20</property>
+                                <child>
+                                  <object class="GtkLabel" id="slowdown_label">
+                                    <property name="label" translatable="yes">Slowdown</property>
+                                    <property name="halign">start</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="xalign">0.0</property>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkScale" id="slowdown_scale">
+                                    <property name="adjustment">slowdown_adjustment</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="draw-value">0</property>
+                                    <property name="hexpand">1</property>
+                                    <marks>
+                                      <mark value="0.0" position="top"></mark>
+                                    </marks>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkEntry" id="slowdown_entry">
+                                    <property name="halign">end</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="width-chars">4</property>
+                                    <property name="input-purpose">number</property>
+                                  </object>
+                                </child>
                               </object>
                             </child>
                           </object>
@@ -399,212 +404,212 @@
                     </child>
                   </object>
                 </child>
-              </object>
-            </child>
-            <child>
-              <object class="GtkFrame" id="debug_frame">
-                <property name="halign">center</property>
                 <child>
-                  <object class="GtkListBox" id="debug_box">
-                    <property name="selection-mode">none</property>
-                    <property name="show-separators">1</property>
+                  <object class="GtkFrame" id="debug_frame">
+                    <property name="halign">center</property>
                     <child>
-                      <object class="GtkListBoxRow">
+                      <object class="GtkListBox" id="debug_box">
+                        <property name="selection-mode">none</property>
+                        <property name="show-separators">1</property>
                         <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="fps_label">
-                                <property name="label" translatable="yes">Show fps overlay</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkSwitch" id="fps_switch">
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="hexpand">1</property>
-                                <signal name="notify::active" handler="fps_activate"/>
+                          <object class="GtkListBoxRow">
+                            <child>
+                              <object class="GtkBox">
+                                <property name="margin-start">10</property>
+                                <property name="margin-end">10</property>
+                                <property name="margin-top">10</property>
+                                <property name="margin-bottom">10</property>
+                                <property name="spacing">40</property>
+                                <child>
+                                  <object class="GtkLabel" id="fps_label">
+                                    <property name="label" translatable="yes">Show fps overlay</property>
+                                    <property name="halign">start</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="xalign">0.0</property>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkSwitch" id="fps_switch">
+                                    <property name="halign">end</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="hexpand">1</property>
+                                    <signal name="notify::active" handler="fps_activate"/>
+                                  </object>
+                                </child>
                               </object>
                             </child>
                           </object>
                         </child>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkListBoxRow">
                         <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="updates_label">
-                                <property name="label" translatable="yes">Show Graphic Updates</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkSwitch" id="updates_switch">
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="hexpand">1</property>
-                                <signal name="notify::active" handler="updates_activate"/>
+                          <object class="GtkListBoxRow">
+                            <child>
+                              <object class="GtkBox">
+                                <property name="margin-start">10</property>
+                                <property name="margin-end">10</property>
+                                <property name="margin-top">10</property>
+                                <property name="margin-bottom">10</property>
+                                <property name="spacing">40</property>
+                                <child>
+                                  <object class="GtkLabel" id="updates_label">
+                                    <property name="label" translatable="yes">Show Graphic Updates</property>
+                                    <property name="halign">start</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="xalign">0.0</property>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkSwitch" id="updates_switch">
+                                    <property name="halign">end</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="hexpand">1</property>
+                                    <signal name="notify::active" handler="updates_activate"/>
+                                  </object>
+                                </child>
                               </object>
                             </child>
                           </object>
                         </child>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkListBoxRow">
                         <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="fallback_label">
-                                <property name="label" translatable="yes">Show Fallback Rendering</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkSwitch" id="fallback_switch">
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="hexpand">1</property>
-                                <signal name="notify::active" handler="fallback_activate"/>
+                          <object class="GtkListBoxRow">
+                            <child>
+                              <object class="GtkBox">
+                                <property name="margin-start">10</property>
+                                <property name="margin-end">10</property>
+                                <property name="margin-top">10</property>
+                                <property name="margin-bottom">10</property>
+                                <property name="spacing">40</property>
+                                <child>
+                                  <object class="GtkLabel" id="fallback_label">
+                                    <property name="label" translatable="yes">Show Fallback 
Rendering</property>
+                                    <property name="halign">start</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="xalign">0.0</property>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkSwitch" id="fallback_switch">
+                                    <property name="halign">end</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="hexpand">1</property>
+                                    <signal name="notify::active" handler="fallback_activate"/>
+                                  </object>
+                                </child>
                               </object>
                             </child>
                           </object>
                         </child>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkListBoxRow">
                         <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="baselines_label">
-                                <property name="label" translatable="yes">Show Baselines</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkSwitch" id="baselines_switch">
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="hexpand">1</property>
-                                <signal name="notify::active" handler="baselines_activate"/>
+                          <object class="GtkListBoxRow">
+                            <child>
+                              <object class="GtkBox">
+                                <property name="margin-start">10</property>
+                                <property name="margin-end">10</property>
+                                <property name="margin-top">10</property>
+                                <property name="margin-bottom">10</property>
+                                <property name="spacing">40</property>
+                                <child>
+                                  <object class="GtkLabel" id="baselines_label">
+                                    <property name="label" translatable="yes">Show Baselines</property>
+                                    <property name="halign">start</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="xalign">0.0</property>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkSwitch" id="baselines_switch">
+                                    <property name="halign">end</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="hexpand">1</property>
+                                    <signal name="notify::active" handler="baselines_activate"/>
+                                  </object>
+                                </child>
                               </object>
                             </child>
                           </object>
                         </child>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkListBoxRow">
                         <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="layout_label">
-                                <property name="label" translatable="yes">Show Layout Borders</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkSwitch" id="layout_switch">
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="hexpand">1</property>
-                                <signal name="notify::active" handler="layout_activate"/>
+                          <object class="GtkListBoxRow">
+                            <child>
+                              <object class="GtkBox">
+                                <property name="margin-start">10</property>
+                                <property name="margin-end">10</property>
+                                <property name="margin-top">10</property>
+                                <property name="margin-bottom">10</property>
+                                <property name="spacing">40</property>
+                                <child>
+                                  <object class="GtkLabel" id="layout_label">
+                                    <property name="label" translatable="yes">Show Layout Borders</property>
+                                    <property name="halign">start</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="xalign">0.0</property>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkSwitch" id="layout_switch">
+                                    <property name="halign">end</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="hexpand">1</property>
+                                    <signal name="notify::active" handler="layout_activate"/>
+                                  </object>
+                                </child>
                               </object>
                             </child>
                           </object>
                         </child>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkListBoxRow">
                         <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="resize_label">
-                                <property name="label" translatable="yes">Show Widget Resizes</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkSwitch" id="resize_switch">
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="hexpand">1</property>
-                                <signal name="notify::active" handler="widget_resize_activate"/>
+                          <object class="GtkListBoxRow">
+                            <child>
+                              <object class="GtkBox">
+                                <property name="margin-start">10</property>
+                                <property name="margin-end">10</property>
+                                <property name="margin-top">10</property>
+                                <property name="margin-bottom">10</property>
+                                <property name="spacing">40</property>
+                                <child>
+                                  <object class="GtkLabel" id="resize_label">
+                                    <property name="label" translatable="yes">Show Widget Resizes</property>
+                                    <property name="halign">start</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="xalign">0.0</property>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkSwitch" id="resize_switch">
+                                    <property name="halign">end</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="hexpand">1</property>
+                                    <signal name="notify::active" handler="widget_resize_activate"/>
+                                  </object>
+                                </child>
                               </object>
                             </child>
                           </object>
                         </child>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkListBoxRow">
                         <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="focus_label">
-                                <property name="label" translatable="yes">Show Focus</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkSwitch" id="focus_switch">
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="hexpand">1</property>
-                                <signal name="notify::active" handler="focus_activate"/>
+                          <object class="GtkListBoxRow">
+                            <child>
+                              <object class="GtkBox">
+                                <property name="margin-start">10</property>
+                                <property name="margin-end">10</property>
+                                <property name="margin-top">10</property>
+                                <property name="margin-bottom">10</property>
+                                <property name="spacing">40</property>
+                                <child>
+                                  <object class="GtkLabel" id="focus_label">
+                                    <property name="label" translatable="yes">Show Focus</property>
+                                    <property name="halign">start</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="xalign">0.0</property>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkSwitch" id="focus_switch">
+                                    <property name="halign">end</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="hexpand">1</property>
+                                    <signal name="notify::active" handler="focus_activate"/>
+                                  </object>
+                                </child>
                               </object>
                             </child>
                           </object>
@@ -613,66 +618,66 @@
                     </child>
                   </object>
                 </child>
-              </object>
-            </child>
-            <child>
-              <object class="GtkFrame" id="misc_frame">
-                <property name="halign">center</property>
                 <child>
-                  <object class="GtkListBox" id="misc_box">
-                    <property name="selection-mode">none</property>
-                    <property name="show-separators">1</property>
+                  <object class="GtkFrame" id="misc_frame">
+                    <property name="halign">center</property>
                     <child>
-                      <object class="GtkListBoxRow">
+                      <object class="GtkListBox" id="misc_box">
+                        <property name="selection-mode">none</property>
+                        <property name="show-separators">1</property>
                         <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="touchscreen_label">
-                                <property name="label" translatable="yes">Simulate Touchscreen</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkSwitch" id="touchscreen_switch">
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="hexpand">1</property>
+                          <object class="GtkListBoxRow">
+                            <child>
+                              <object class="GtkBox">
+                                <property name="margin-start">10</property>
+                                <property name="margin-end">10</property>
+                                <property name="margin-top">10</property>
+                                <property name="margin-bottom">10</property>
+                                <property name="spacing">40</property>
+                                <child>
+                                  <object class="GtkLabel" id="touchscreen_label">
+                                    <property name="label" translatable="yes">Simulate Touchscreen</property>
+                                    <property name="halign">start</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="xalign">0.0</property>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkSwitch" id="touchscreen_switch">
+                                    <property name="halign">end</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="hexpand">1</property>
+                                  </object>
+                                </child>
                               </object>
                             </child>
                           </object>
                         </child>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkListBoxRow">
                         <child>
-                          <object class="GtkBox">
-                            <property name="margin-start">10</property>
-                            <property name="margin-end">10</property>
-                            <property name="margin-top">10</property>
-                            <property name="margin-bottom">10</property>
-                            <property name="spacing">40</property>
-                            <child>
-                              <object class="GtkLabel" id="software_gl_label">
-                                <property name="label" translatable="yes">Software GL</property>
-                                <property name="halign">start</property>
-                                <property name="valign">baseline</property>
-                                <property name="xalign">0.0</property>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkSwitch" id="software_gl_switch">
-                                <property name="halign">end</property>
-                                <property name="valign">baseline</property>
-                                <property name="hexpand">1</property>
-                                <signal name="notify::active" handler="software_gl_activate"/>
+                          <object class="GtkListBoxRow">
+                            <child>
+                              <object class="GtkBox">
+                                <property name="margin-start">10</property>
+                                <property name="margin-end">10</property>
+                                <property name="margin-top">10</property>
+                                <property name="margin-bottom">10</property>
+                                <property name="spacing">40</property>
+                                <child>
+                                  <object class="GtkLabel" id="software_gl_label">
+                                    <property name="label" translatable="yes">Software GL</property>
+                                    <property name="halign">start</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="xalign">0.0</property>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkSwitch" id="software_gl_switch">
+                                    <property name="halign">end</property>
+                                    <property name="valign">baseline</property>
+                                    <property name="hexpand">1</property>
+                                    <signal name="notify::active" handler="software_gl_activate"/>
+                                  </object>
+                                </child>
                               </object>
                             </child>
                           </object>


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