[gnome-control-center] background: Use AdwPreferences{Page,Group}



commit 8347e01453255878c445eab3a67c56ce0c9a0187
Author: Christopher Davis <christopherdavis gnome org>
Date:   Thu Jan 27 18:19:05 2022 -0800

    background: Use AdwPreferences{Page,Group}
    
    Now that AdwPreferencesGroup has support for
    header suffixes, we can cut out a lot of widgetry
    by using it and AdwPreferencesPage directly.

 meson.build                              |   1 +
 panels/background/cc-background-panel.ui | 221 ++++++++++++-------------------
 2 files changed, 89 insertions(+), 133 deletions(-)
---
diff --git a/meson.build b/meson.build
index 26ba6361b..a3db70d40 100644
--- a/meson.build
+++ b/meson.build
@@ -104,6 +104,7 @@ pulse_req_version = '>= 2.0'
 
 libadwaita_dep = dependency(
   'libadwaita-1',
+  version: '>= 1.1',
   fallback: ['libadwaita', 'libadwaita_dep'],
   default_options: ['examples=false', 'introspection=disabled', 'tests=false', 'vapi=false'],
 )
diff --git a/panels/background/cc-background-panel.ui b/panels/background/cc-background-panel.ui
index 93f7ab0ed..40344ed5c 100644
--- a/panels/background/cc-background-panel.ui
+++ b/panels/background/cc-background-panel.ui
@@ -2,165 +2,120 @@
 <interface>
   <template class="CcBackgroundPanel" parent="CcPanel">
     <child type="content">
-      <object class="GtkScrolledWindow">
-        <property name="hexpand">True</property>
-        <property name="vexpand">True</property>
-        <property name="hscrollbar-policy">never</property>
+      <object class="AdwPreferencesPage">
 
         <child>
-          <object class="GtkViewport">
-            <property name="scroll-to-focus">True</property>
+          <object class="AdwPreferencesGroup">
+            <property name="title" translatable="yes">Style</property>
 
             <child>
-              <object class="AdwClamp">
-
+              <object class="AdwPreferencesRow">
+                <property name="activatable">False</property>
+                <property name="focusable">False</property>
                 <child>
-                  <object class="GtkBox">
-                    <property name="orientation">vertical</property>
-                    <property name="spacing">24</property>
-                    <property name="margin-top">24</property>
-                    <property name="margin-bottom">24</property>
-                    <property name="margin-start">12</property>
-                    <property name="margin-end">12</property>
-
+                  <object class="AdwClamp">
+                    <property name="maximum_size">400</property>
+                    <property name="tightening_threshold">300</property>
                     <child>
-                      <object class="AdwPreferencesGroup">
-                        <property name="title" translatable="yes">Style</property>
-
+                      <object class="GtkGrid">
+                        <property name="column-spacing">24</property>
+                        <property name="row-spacing">12</property>
+                        <property name="margin-start">12</property>
+                        <property name="margin-end">12</property>
+                        <property name="margin-top">18</property>
+                        <property name="margin-bottom">12</property>
+                        <property name="hexpand">True</property>
                         <child>
-                          <object class="AdwPreferencesRow">
-                            <property name="activatable">False</property>
-                            <property name="focusable">False</property>
+                          <object class="GtkToggleButton" id="light_toggle">
+                            <signal name="notify::active" handler="on_light_dark_toggle_active_cb" 
swapped="true"/>
                             <child>
-                              <object class="AdwClamp">
-                                <property name="maximum_size">400</property>
-                                <property name="tightening_threshold">300</property>
-                                <child>
-                                  <object class="GtkGrid">
-                                    <property name="column-spacing">24</property>
-                                    <property name="row-spacing">12</property>
-                                    <property name="margin-start">12</property>
-                                    <property name="margin-end">12</property>
-                                    <property name="margin-top">18</property>
-                                    <property name="margin-bottom">12</property>
-                                    <property name="hexpand">True</property>
-                                    <child>
-                                      <object class="GtkToggleButton" id="light_toggle">
-                                        <signal name="notify::active" 
handler="on_light_dark_toggle_active_cb" swapped="true"/>
-                                        <child>
-                                          <object class="CcBackgroundPreview" id="light_preview"/>
-                                        </child>
-                                        <style>
-                                          <class name="background-preview-button"/>
-                                        </style>
-                                        <layout>
-                                          <property name="column">0</property>
-                                          <property name="row">0</property>
-                                        </layout>
-                                      </object>
-                                    </child>
-                                    <child>
-                                      <object class="GtkLabel">
-                                        <property name="label" translatable="yes">Light</property>
-                                        <layout>
-                                          <property name="column">0</property>
-                                          <property name="row">1</property>
-                                        </layout>
-                                      </object>
-                                    </child>
-                                    <child>
-                                      <object class="GtkToggleButton" id="dark_toggle">
-                                        <property name="group">light_toggle</property>
-                                        <signal name="notify::active" 
handler="on_light_dark_toggle_active_cb" swapped="true"/>
-                                        <child>
-                                          <object class="CcBackgroundPreview" id="dark_preview">
-                                            <property name="is-dark">True</property>
-                                          </object>
-                                        </child>
-                                        <style>
-                                          <class name="background-preview-button"/>
-                                        </style>
-                                        <layout>
-                                          <property name="column">1</property>
-                                          <property name="row">0</property>
-                                        </layout>
-                                      </object>
-                                    </child>
-                                    <child>
-                                      <object class="GtkLabel">
-                                        <property name="label" translatable="yes">Dark</property>
-                                        <layout>
-                                          <property name="column">1</property>
-                                          <property name="row">1</property>
-                                        </layout>
-                                      </object>
-                                    </child>
-                                  </object>
-                                </child>
-                              </object>
+                              <object class="CcBackgroundPreview" id="light_preview"/>
                             </child>
+                            <style>
+                              <class name="background-preview-button"/>
+                            </style>
+                            <layout>
+                              <property name="column">0</property>
+                              <property name="row">0</property>
+                            </layout>
                           </object>
                         </child>
-
-                      </object>
-                    </child>
-
-                    <child>
-                      <object class="GtkBox">
-                        <property name="orientation">vertical</property>
-                        <property name="spacing">6</property>
                         <child>
-                          <object class="GtkBox">
-                            <property name="spacing">6</property>
-                            <child>
-                              <object class="GtkLabel">
-                                <property name="label" translatable="yes">Background</property>
-                                <property name="hexpand">True</property>
-                                <property name="xalign">0</property>
-                                <property name="ellipsize">end</property>
-                                <style>
-                                  <class name="heading"/>
-                                </style>
-                              </object>
-                            </child>
-                            <child>
-                              <object class="GtkButton">
-                                <child>
-                                  <object class="AdwButtonContent">
-                                    <property name="icon-name">list-add-symbolic</property>
-                                    <property name="label" translatable="yes">Add Picture…</property>
-                                  </object>
-                                </child>
-                                <signal name="clicked" handler="on_add_picture_button_clicked_cb" 
object="CcBackgroundPanel" swapped="yes" />
-                                <style>
-                                  <class name="flat"/>
-                                </style>
-                              </object>
-                            </child>
+                          <object class="GtkLabel">
+                            <property name="label" translatable="yes">Light</property>
+                            <layout>
+                              <property name="column">0</property>
+                              <property name="row">1</property>
+                            </layout>
                           </object>
                         </child>
-
                         <child>
-                          <object class="AdwBin">
-                            <style>
-                              <class name="card"/>
-                            </style>
+                          <object class="GtkToggleButton" id="dark_toggle">
+                            <property name="group">light_toggle</property>
+                            <signal name="notify::active" handler="on_light_dark_toggle_active_cb" 
swapped="true"/>
                             <child>
-                              <object class="CcBackgroundChooser" id="background_chooser">
-                                <property name="hexpand">True</property>
-                                <property name="vexpand">True</property>
-                                <signal name="background-chosen" handler="on_chooser_background_chosen_cb" 
object="CcBackgroundPanel" swapped="yes" />
+                              <object class="CcBackgroundPreview" id="dark_preview">
+                                <property name="is-dark">True</property>
                               </object>
                             </child>
+                            <style>
+                              <class name="background-preview-button"/>
+                            </style>
+                            <layout>
+                              <property name="column">1</property>
+                              <property name="row">0</property>
+                            </layout>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkLabel">
+                            <property name="label" translatable="yes">Dark</property>
+                            <layout>
+                              <property name="column">1</property>
+                              <property name="row">1</property>
+                            </layout>
                           </object>
                         </child>
-
                       </object>
                     </child>
+                  </object>
+                </child>
+              </object>
+            </child>
 
+          </object>
+        </child>
+
+        <child>
+          <object class="AdwPreferencesGroup">
+            <property name="title" translatable="yes">Background</property>
+            <property name="header-suffix">
+              <object class="GtkButton">
+                <child>
+                  <object class="AdwButtonContent">
+                    <property name="icon-name">list-add-symbolic</property>
+                    <property name="label" translatable="yes">Add Picture…</property>
                   </object>
                 </child>
+                <signal name="clicked" handler="on_add_picture_button_clicked_cb" object="CcBackgroundPanel" 
swapped="yes" />
+                <style>
+                  <class name="flat"/>
+                </style>
+              </object>
+            </property>
 
+            <child>
+              <object class="AdwBin">
+                <style>
+                  <class name="card"/>
+                </style>
+                <child>
+                  <object class="CcBackgroundChooser" id="background_chooser">
+                    <property name="hexpand">True</property>
+                    <property name="vexpand">True</property>
+                    <signal name="background-chosen" handler="on_chooser_background_chosen_cb" 
object="CcBackgroundPanel" swapped="yes" />
+                  </object>
+                </child>
               </object>
             </child>
 


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