[gnome-control-center/wip/cdavis/40-consistency: 2/5] usage: Use preferences styling from libhandy




commit 2703d36216d089e531ff77ca9baaadf24074fda1
Author: Christopher Davis <brainblasted disroot org>
Date:   Tue Feb 9 21:49:02 2021 -0800

    usage: Use preferences styling from libhandy
    
    In libhandy we have a pattern for preferences pages
    that includes rounded listboxes and sections with headers.
    We can make use of that here.
    
    See https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1190

 panels/usage/cc-usage-panel.c  |   8 -
 panels/usage/cc-usage-panel.ui | 325 +++++++++++++++++------------------------
 2 files changed, 136 insertions(+), 197 deletions(-)
---
diff --git a/panels/usage/cc-usage-panel.c b/panels/usage/cc-usage-panel.c
index 39e67a527..b42d9a72a 100644
--- a/panels/usage/cc-usage-panel.c
+++ b/panels/usage/cc-usage-panel.c
@@ -264,14 +264,6 @@ cc_usage_panel_init (CcUsagePanel *self)
 
   gtk_widget_init_template (GTK_WIDGET (self));
 
-  gtk_list_box_set_header_func (self->usage_list_box,
-                                cc_list_box_update_header_func,
-                                NULL, NULL);
-
-  gtk_list_box_set_header_func (self->trash_list_box,
-                                cc_list_box_update_header_func,
-                                NULL, NULL);
-
   self->privacy_settings = g_settings_new ("org.gnome.desktop.privacy");
 
   g_settings_bind (self->privacy_settings,
diff --git a/panels/usage/cc-usage-panel.ui b/panels/usage/cc-usage-panel.ui
index 7baf997e2..c0fa4f938 100644
--- a/panels/usage/cc-usage-panel.ui
+++ b/panels/usage/cc-usage-panel.ui
@@ -4,262 +4,209 @@
   <template class="CcUsagePanel" parent="CcPanel">
     <property name="visible">True</property>
     <child>
-      <object class="GtkScrolledWindow">
-        <property name="visible">true</property>
-        <property name="hscrollbar-policy">never</property>
+      <object class="HdyPreferencesPage">
+        <property name="visible">True</property>
         <child>
-          <object class="HdyClamp">
+          <!-- File History -->
+          <object class="HdyPreferencesGroup">
             <property name="visible">True</property>
-            <property name="margin_top">32</property>
-            <property name="margin_bottom">32</property>
-            <property name="margin_start">12</property>
-            <property name="margin_end">12</property>
-
-            <!-- File History -->
+            <property name="title" translatable="yes">File History</property>
+            <property name="description" translatable="yes">File history keeps a record of files that you 
have used. This information is shared between applications, and makes it easier to find files that you might 
want to use.</property>
             <child>
-              <object class="GtkBox">
+              <object class="GtkListBox" id="usage_list_box">
                 <property name="visible">true</property>
-                <property name="orientation">vertical</property>
-                <property name="hexpand">1</property>
-                <property name="spacing">12</property>
-
-                <child>
-                  <object class="GtkLabel">
-                    <property name="visible">true</property>
-                    <property name="label" translatable="yes">File History</property>
-                    <property name="xalign">0</property>
-                    <attributes>
-                      <attribute name="weight" value="bold" />
-                    </attributes>
-                  </object>
-                </child>
-
+                <property name="can-focus">1</property>
+                <property name="selection-mode">none</property>
                 <child>
-                  <object class="GtkLabel" id="usage_description_label">
+                  <object class="HdyActionRow">
                     <property name="visible">true</property>
-                    <property name="margin-bottom">12</property>
-                    <property name="label" translatable="yes">File history keeps a record of files that you 
have used. This information is shared between applications, and makes it easier to find files that you might 
want to use.</property>
-                    <property name="wrap">1</property>
-                    <property name="max-width-chars">50</property>
-                    <property name="xalign">0</property>
+                    <property name="title" translatable="yes">File H_istory</property>
+                    <property name="activatable-widget">recently_used_switch</property>
+                    <property name="use-underline">true</property>
+                    <child>
+                      <object class="GtkSwitch" id="recently_used_switch">
+                        <property name="visible">true</property>
+                        <property name="halign">end</property>
+                        <property name="valign">center</property>
+                      </object>
+                    </child>
                   </object>
                 </child>
-
                 <child>
-                  <object class="GtkListBox" id="usage_list_box">
+                  <object class="GtkListBoxRow">
                     <property name="visible">true</property>
-                    <property name="can-focus">1</property>
-                    <property name="selection-mode">none</property>
                     <child>
-                      <object class="HdyActionRow">
+                      <object class="GtkBox">
                         <property name="visible">true</property>
-                        <property name="title" translatable="yes">File H_istory</property>
-                        <property name="activatable-widget">recently_used_switch</property>
-                        <property name="use-underline">true</property>
+                        <property name="margin">12</property>
                         <child>
-                          <object class="GtkSwitch" id="recently_used_switch">
+                          <object class="GtkLabel">
                             <property name="visible">true</property>
-                            <property name="halign">end</property>
+                            <property name="label" translatable="yes">File _History Duration</property>
+                            <property name="use_underline">1</property>
+                            <property name="mnemonic_widget">retain_history_combo</property>
+                            <property name="sensitive" bind-source="retain_history_combo" 
bind-property="sensitive"/>
+                            <property name="xalign">0</property>
                             <property name="valign">center</property>
                           </object>
+                          <packing>
+                            <property name="expand">1</property>
+                          </packing>
                         </child>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkListBoxRow">
-                        <property name="visible">true</property>
                         <child>
-                          <object class="GtkBox">
+                          <object class="GtkComboBoxText" id="retain_history_combo">
                             <property name="visible">true</property>
-                            <property name="margin">12</property>
-                            <child>
-                              <object class="GtkLabel">
-                                <property name="visible">true</property>
-                                <property name="label" translatable="yes">File _History Duration</property>
-                                <property name="use_underline">1</property>
-                                <property name="mnemonic_widget">retain_history_combo</property>
-                                <property name="sensitive" bind-source="retain_history_combo" 
bind-property="sensitive"/>
-                                <property name="xalign">0</property>
-                                <property name="valign">center</property>
-                              </object>
-                              <packing>
-                                <property name="expand">1</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkComboBoxText" id="retain_history_combo">
-                                <property name="visible">true</property>
-                                <property name="valign">center</property>
-                                <property name="entry_text_column">0</property>
-                                <property name="model">retain_history_model</property>
-                              </object>
-                            </child>
+                            <property name="valign">center</property>
+                            <property name="entry_text_column">0</property>
+                            <property name="model">retain_history_model</property>
                           </object>
                         </child>
                       </object>
                     </child>
+                  </object>
+                </child>
+                <style>
+                  <class name="content"/>
+                </style>
+              </object>
+            </child>
+            <child>
+              <object class="GtkBox">
+                <property name="visible">true</property>
+                <property name="hexpand">true</property>
+                <property name="halign">end</property>
+                <property name="homogeneous">true</property>
+                <property name="spacing">12</property>
+                <property name="margin_top">12</property>
+                <child>
+                  <object class="GtkButton" id="clear_recent_button">
+                    <property name="visible">true</property>
+                    <property name="valign">center</property>
+                    <property name="label" translatable="yes">_Clear History…</property>
+                    <property name="use_underline">1</property>
+                    <signal name="clicked" handler="clear_recent" swapped="yes"/>
                     <style>
-                      <class name="view"/>
-                      <class name="frame"/>
+                      <class name="destructive-action"/>
                     </style>
                   </object>
                 </child>
-
+              </object>
+            </child>
+          </object>
+        </child>
+        <child>
+          <!-- Trash & Temporary Files -->
+          <object class="HdyPreferencesGroup">
+            <property name="visible">True</property>
+            <property name="title" translatable="yes">Trash &amp; Temporary Files</property>
+            <property name="description" translatable="yes">Trash and temporary files can sometimes include 
personal or sensitive information. Automatically deleting them can help to protect privacy.</property>
+            <child>
+              <object class="GtkListBox" id="trash_list_box">
+                <property name="visible">true</property>
+                <property name="can-focus">1</property>
+                <property name="selection-mode">none</property>
                 <child>
-                  <object class="GtkBox">
+                  <object class="HdyActionRow">
                     <property name="visible">true</property>
-                    <property name="hexpand">true</property>
-                    <property name="halign">end</property>
-                    <property name="homogeneous">true</property>
-                    <property name="spacing">12</property>
+                    <property name="title" translatable="yes">Automatically Delete _Trash Content</property>
+                    <property name="activatable-widget">purge_trash_switch</property>
+                    <property name="use-underline">true</property>
                     <child>
-                      <object class="GtkButton" id="clear_recent_button">
+                      <object class="GtkSwitch" id="purge_trash_switch">
                         <property name="visible">true</property>
+                        <property name="halign">end</property>
                         <property name="valign">center</property>
-                        <property name="label" translatable="yes">_Clear History…</property>
-                        <property name="use_underline">1</property>
-                        <signal name="clicked" handler="clear_recent" swapped="yes"/>
-                        <style>
-                          <class name="destructive-action"/>
-                        </style>
                       </object>
                     </child>
                   </object>
                 </child>
-
-                <!-- Trash & Temporary Files -->
                 <child>
-                  <object class="GtkLabel">
+                  <object class="HdyActionRow">
                     <property name="visible">true</property>
-                    <property name="margin-top">18</property>
-                    <property name="label" translatable="yes">Trash &amp; Temporary Files</property>
-                    <property name="xalign">0</property>
-                    <attributes>
-                      <attribute name="weight" value="bold" />
-                    </attributes>
-                  </object>
-                </child>
-                <child>
-                  <object class="GtkLabel">
-                    <property name="visible">true</property>
-                    <property name="label" translatable="yes">Trash and temporary files can sometimes 
include personal or sensitive information. Automatically deleting them can help to protect privacy.</property>
-                    <property name="wrap">1</property>
-                    <property name="max-width-chars">50</property>
-                    <property name="xalign">0</property>
+                    <property name="title" translatable="yes">Automatically Delete Temporary 
_Files</property>
+                    <property name="activatable-widget">purge_temp_switch</property>
+                    <property name="use-underline">true</property>
+                    <child>
+                      <object class="GtkSwitch" id="purge_temp_switch">
+                        <property name="visible">true</property>
+                        <property name="halign">end</property>
+                        <property name="valign">center</property>
+                      </object>
+                    </child>
                   </object>
                 </child>
                 <child>
-                  <object class="GtkListBox" id="trash_list_box">
+                  <object class="GtkListBoxRow">
                     <property name="visible">true</property>
-                    <property name="can-focus">1</property>
-                    <property name="selection-mode">none</property>
                     <child>
-                      <object class="HdyActionRow">
+                      <object class="GtkBox">
                         <property name="visible">true</property>
-                        <property name="title" translatable="yes">Automatically Delete _Trash 
Content</property>
-                        <property name="activatable-widget">purge_trash_switch</property>
-                        <property name="use-underline">true</property>
+                        <property name="margin">12</property>
                         <child>
-                          <object class="GtkSwitch" id="purge_trash_switch">
+                          <object class="GtkLabel">
                             <property name="visible">true</property>
-                            <property name="halign">end</property>
+                            <property name="label" translatable="yes">Automatically Delete _Period</property>
+                            <property name="use_underline">1</property>
+                            <property name="mnemonic_widget">purge_after_combo</property>
+                            <property name="sensitive" bind-source="purge_after_combo" 
bind-property="sensitive"/>
+                            <property name="xalign">0</property>
                             <property name="valign">center</property>
                           </object>
+                          <packing>
+                            <property name="expand">1</property>
+                          </packing>
                         </child>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="HdyActionRow">
-                        <property name="visible">true</property>
-                        <property name="title" translatable="yes">Automatically Delete Temporary 
_Files</property>
-                        <property name="activatable-widget">purge_temp_switch</property>
-                        <property name="use-underline">true</property>
                         <child>
-                          <object class="GtkSwitch" id="purge_temp_switch">
+                          <object class="GtkComboBoxText" id="purge_after_combo">
                             <property name="visible">true</property>
-                            <property name="halign">end</property>
                             <property name="valign">center</property>
+                            <property name="entry_text_column">0</property>
+                            <property name="model">purge_after_model</property>
                           </object>
                         </child>
                       </object>
                     </child>
-                    <child>
-                      <object class="GtkListBoxRow">
-                        <property name="visible">true</property>
-                        <child>
-                          <object class="GtkBox">
-                            <property name="visible">true</property>
-                            <property name="margin">12</property>
-                            <child>
-                              <object class="GtkLabel">
-                                <property name="visible">true</property>
-                                <property name="label" translatable="yes">Automatically Delete 
_Period</property>
-                                <property name="use_underline">1</property>
-                                <property name="mnemonic_widget">purge_after_combo</property>
-                                <property name="sensitive" bind-source="purge_after_combo" 
bind-property="sensitive"/>
-                                <property name="xalign">0</property>
-                                <property name="valign">center</property>
-                              </object>
-                              <packing>
-                                <property name="expand">1</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkComboBoxText" id="purge_after_combo">
-                                <property name="visible">true</property>
-                                <property name="valign">center</property>
-                                <property name="entry_text_column">0</property>
-                                <property name="model">purge_after_model</property>
-                              </object>
-                            </child>
-                          </object>
-                        </child>
-                      </object>
-                    </child>
+                  </object>
+                </child>
+                <style>
+                  <class name="content"/>
+                </style>
+              </object>
+            </child>
+            <child>
+              <object class="GtkBox">
+                <property name="visible">true</property>
+                <property name="hexpand">true</property>
+                <property name="halign">end</property>
+                <property name="homogeneous">true</property>
+                <property name="spacing">12</property>
+                <property name="margin_top">12</property>
+                <child>
+                  <object class="GtkButton" id="purge_trash_button">
+                    <property name="visible">true</property>
+                    <property name="halign">end</property>
+                    <property name="valign">center</property>
+                    <property name="label" translatable="yes">_Empty Trash…</property>
+                    <property name="use-underline">true</property>
                     <style>
-                      <class name="view"/>
-                      <class name="frame"/>
+                      <class name="destructive-action"/>
                     </style>
                   </object>
                 </child>
-
                 <child>
-                  <object class="GtkBox">
+                  <object class="GtkButton" id="purge_temp_button">
                     <property name="visible">true</property>
-                    <property name="hexpand">true</property>
                     <property name="halign">end</property>
-                    <property name="homogeneous">true</property>
-                    <property name="spacing">12</property>
-                    <child>
-                      <object class="GtkButton" id="purge_trash_button">
-                        <property name="visible">true</property>
-                        <property name="halign">end</property>
-                        <property name="valign">center</property>
-                        <property name="label" translatable="yes">_Empty Trash…</property>
-                        <property name="use-underline">true</property>
-                        <style>
-                          <class name="destructive-action"/>
-                        </style>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkButton" id="purge_temp_button">
-                        <property name="visible">true</property>
-                        <property name="halign">end</property>
-                        <property name="valign">center</property>
-                        <property name="label" translatable="yes">_Delete Temporary Files…</property>
-                        <property name="use-underline">true</property>
-                          <style>
-                            <class name="destructive-action"/>
-                          </style>
-                      </object>
-                    </child>
+                    <property name="valign">center</property>
+                    <property name="label" translatable="yes">_Delete Temporary Files…</property>
+                    <property name="use-underline">true</property>
+                      <style>
+                        <class name="destructive-action"/>
+                      </style>
                   </object>
                 </child>
-
               </object>
             </child>
-
           </object>
         </child>
       </object>


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