[epiphany] prefs-dialog: Port the Stored Data prefs page to list boxes



commit 73f2957cf9d0d05b8e54c41323d7a716035c1763
Author: Adrien Plazas <kekun plazas laposte net>
Date:   Mon Dec 17 17:59:23 2018 +0100

    prefs-dialog: Port the Stored Data prefs page to list boxes

 src/prefs-dialog.c                |   6 +-
 src/resources/gtk/prefs-dialog.ui | 208 +++++++++++++++++---------------------
 2 files changed, 98 insertions(+), 116 deletions(-)
---
diff --git a/src/prefs-dialog.c b/src/prefs-dialog.c
index 67cd41d54..35b4bc238 100644
--- a/src/prefs-dialog.c
+++ b/src/prefs-dialog.c
@@ -117,7 +117,7 @@ struct _PrefsDialog {
   GtkWidget *always;
   GtkWidget *no_third_party;
   GtkWidget *never;
-  GtkWidget *remember_passwords_checkbutton;
+  GtkWidget *remember_passwords_switch;
   GtkWidget *do_not_track_row;
   GtkWidget *do_not_track_switch;
   GtkWidget *clear_personal_data_button;
@@ -1017,7 +1017,7 @@ prefs_dialog_class_init (PrefsDialogClass *klass)
   gtk_widget_class_bind_template_child (widget_class, PrefsDialog, always);
   gtk_widget_class_bind_template_child (widget_class, PrefsDialog, no_third_party);
   gtk_widget_class_bind_template_child (widget_class, PrefsDialog, never);
-  gtk_widget_class_bind_template_child (widget_class, PrefsDialog, remember_passwords_checkbutton);
+  gtk_widget_class_bind_template_child (widget_class, PrefsDialog, remember_passwords_switch);
   gtk_widget_class_bind_template_child (widget_class, PrefsDialog, do_not_track_row);
   gtk_widget_class_bind_template_child (widget_class, PrefsDialog, do_not_track_switch);
   gtk_widget_class_bind_template_child (widget_class, PrefsDialog, clear_personal_data_button);
@@ -2260,7 +2260,7 @@ setup_stored_data_page (PrefsDialog *dialog)
                                 NULL);
   g_settings_bind (web_settings,
                    EPHY_PREFS_WEB_REMEMBER_PASSWORDS,
-                   dialog->remember_passwords_checkbutton,
+                   dialog->remember_passwords_switch,
                    "active",
                    G_SETTINGS_BIND_DEFAULT);
 
diff --git a/src/resources/gtk/prefs-dialog.ui b/src/resources/gtk/prefs-dialog.ui
index ce1902c9e..e5ac0a5a7 100644
--- a/src/resources/gtk/prefs-dialog.ui
+++ b/src/resources/gtk/prefs-dialog.ui
@@ -560,79 +560,79 @@
               </packing>
             </child>
             <child>
-              <object class="GtkBox">
+              <object class="HdyPreferencesPage">
+                <property name="icon_name">drive-harddisk-symbolic</property>
+                <property name="title" translatable="yes">Stored Data</property>
                 <property name="visible">True</property>
-                <property name="border-width">12</property>
-                <property name="orientation">vertical</property>
-                <property name="spacing">18</property>
                 <child>
-                  <object class="GtkBox">
+                  <object class="HdyPreferencesGroup">
+                    <property name="title" translatable="yes">Cookies</property>
                     <property name="visible">True</property>
-                    <property name="orientation">vertical</property>
-                    <property name="spacing">6</property>
                     <child>
-                      <object class="GtkBox">
+                      <object class="HdyActionRow">
+                        <property name="activatable">False</property>
+                        <property name="title" translatable="yes">Manage _Cookies</property>
+                        <property name="use_underline">True</property>
                         <property name="visible">True</property>
-                        <child>
-                          <object class="GtkLabel">
-                            <property name="visible">True</property>
-                            <property name="halign">start</property>
-                            <property name="hexpand">True</property>
-                            <property name="label" translatable="yes">Cookies</property>
-                            <attributes>
-                              <attribute name="weight" value="bold"/>
-                            </attributes>
-                          </object>
-                        </child>
-                        <child>
-                          <object class="GtkButton" id="manage_cookies_button">
-                            <property name="label" translatable="yes">Manage _Cookies</property>
+                        <child type="action">
+                          <object class="GtkButton">
+                            <property name="valign">center</property>
                             <property name="visible">True</property>
-                            <property name="use-underline">True</property>
                             <signal name="clicked" handler="on_manage_cookies_button_clicked"/>
+                            <style>
+                              <class name="image-button"/>
+                            </style>
+                            <child>
+                              <object class="GtkImage">
+                                <property name="icon_name">emblem-system-symbolic</property>
+                                <property name="visible">True</property>
+                              </object>
+                            </child>
                           </object>
                         </child>
                       </object>
                     </child>
                     <child>
-                      <object class="GtkBox">
+                      <object class="HdyActionRow">
+                        <property name="activatable_widget">always</property>
+                        <property name="title" translatable="yes">_Always accept</property>
+                        <property name="use_underline">True</property>
                         <property name="visible">True</property>
-                        <property name="orientation">vertical</property>
-                        <property name="spacing">6</property>
-                        <property name="margin-start">12</property>
-                        <child>
+                        <child type="prefix">
                           <object class="GtkRadioButton" id="always">
-                            <property name="label" translatable="yes">_Always accept</property>
+                            <property name="valign">center</property>
                             <property name="visible">True</property>
-                            <property name="use-underline">True</property>
                           </object>
                         </child>
-                        <child>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="HdyActionRow">
+                        <property name="activatable_widget">no_third_party</property>
+                        <property name="subtitle" translatable="yes" comments="Refers to &quot;Only from 
sites you visit&quot; option under Cookies.">For example, not from advertisers on these sites</property>
+                        <property name="title" translatable="yes">Only _from sites you visit</property>
+                        <property name="use_underline">True</property>
+                        <property name="visible">True</property>
+                        <child type="prefix">
                           <object class="GtkRadioButton" id="no_third_party">
-                            <property name="label" translatable="yes">Only _from sites you visit</property>
-                            <property name="visible">True</property>
-                            <property name="use-underline">True</property>
+                            <property name="valign">center</property>
                             <property name="group">always</property>
-                          </object>
-                        </child>
-                        <child>
-                          <object class="GtkLabel">
                             <property name="visible">True</property>
-                            <property name="halign">start</property>
-                            <property name="label" translatable="yes" comments="Refers to &quot;Only from 
sites you visit&quot; option under Cookies.">For example, not from advertisers on these sites</property>
-                            <property name="use-markup">True</property>
-                            <property name="margin-start">22</property>
-                            <attributes>
-                              <attribute name="scale" value="0.8"/>
-                            </attributes>
                           </object>
                         </child>
-                        <child>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="HdyActionRow">
+                        <property name="activatable_widget">never</property>
+                        <property name="title" translatable="yes">_Never accept</property>
+                        <property name="use_underline">True</property>
+                        <property name="visible">True</property>
+                        <child type="prefix">
                           <object class="GtkRadioButton" id="never">
-                            <property name="label" translatable="yes">_Never accept</property>
-                            <property name="visible">True</property>
-                            <property name="use-underline">True</property>
+                            <property name="valign">center</property>
                             <property name="group">always</property>
+                            <property name="visible">True</property>
                           </object>
                         </child>
                       </object>
@@ -640,83 +640,73 @@
                   </object>
                 </child>
                 <child>
-                  <object class="GtkBox">
+                  <object class="HdyPreferencesGroup">
+                    <property name="title" translatable="yes">Passwords</property>
                     <property name="visible">True</property>
-                    <property name="orientation">vertical</property>
-                    <property name="spacing">6</property>
                     <child>
-                      <object class="GtkBox">
+                      <object class="HdyActionRow">
+                        <property name="activatable">False</property>
+                        <property name="title" translatable="yes">Manage _Passwords</property>
+                        <property name="use_underline">True</property>
                         <property name="visible">True</property>
-                        <child>
-                          <object class="GtkLabel">
-                            <property name="visible">True</property>
-                            <property name="halign">start</property>
-                            <property name="hexpand">True</property>
-                            <property name="label" translatable="yes">Passwords</property>
-                            <attributes>
-                              <attribute name="weight" value="bold"/>
-                            </attributes>
-                          </object>
-                        </child>
-                        <child>
-                          <object class="GtkButton" id="manage_passwords_button">
-                            <property name="label" translatable="yes">Manage _Passwords</property>
+                        <child type="action">
+                          <object class="GtkButton">
+                            <property name="valign">center</property>
                             <property name="visible">True</property>
-                            <property name="use-underline">True</property>
                             <signal name="clicked" handler="on_manage_passwords_button_clicked"/>
+                            <style>
+                              <class name="image-button"/>
+                            </style>
+                            <child>
+                              <object class="GtkImage">
+                                <property name="icon_name">emblem-system-symbolic</property>
+                                <property name="visible">True</property>
+                              </object>
+                            </child>
                           </object>
                         </child>
                       </object>
                     </child>
                     <child>
-                      <object class="GtkCheckButton" id="remember_passwords_checkbutton">
-                        <property name="label" translatable="yes">_Remember passwords</property>
+                      <object class="HdyActionRow">
+                        <property name="activatable_widget">remember_passwords_switch</property>
+                        <property name="title" translatable="yes">_Remember passwords</property>
+                        <property name="use_underline">True</property>
                         <property name="visible">True</property>
-                        <property name="use-underline">True</property>
-                        <property name="margin-start">12</property>
+                        <child type="action">
+                          <object class="GtkSwitch" id="remember_passwords_switch">
+                            <property name="valign">center</property>
+                            <property name="visible">True</property>
+                          </object>
+                        </child>
                       </object>
                     </child>
                   </object>
                 </child>
                 <child>
-                  <object class="GtkBox">
+                  <object class="HdyPreferencesGroup">
+                    <property name="title" translatable="yes">Personal Data</property>
                     <property name="visible">True</property>
-                    <property name="orientation">vertical</property>
-                    <property name="spacing">6</property>
                     <child>
-                      <object class="GtkLabel">
-                        <property name="visible">True</property>
-                        <property name="halign">start</property>
-                        <property name="label" translatable="yes">Personal Data</property>
-                        <attributes>
-                          <attribute name="weight" value="bold"/>
-                        </attributes>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkBox">
+                      <object class="HdyActionRow">
+                        <property name="activatable">False</property>
+                        <property name="subtitle" translatable="yes">You can clear stored personal 
data.</property>
+                        <property name="title" translatable="yes">Manage Personal _Data</property>
+                        <property name="use_underline">True</property>
                         <property name="visible">True</property>
-                        <property name="spacing">12</property>
-                        <property name="margin-start">12</property>
-                        <child>
-                          <object class="GtkLabel">
-                            <property name="visible">True</property>
-                            <!-- We must use xalign instead of halign because halign
-                                 does not work for labels with line wrap. And we must
-                                 allow line wrap to accomodate translations. -->
-                            <property name="xalign">0</property>
-                            <property name="wrap">True</property>
-                            <property name="max-width-chars">30</property>
-                            <property name="hexpand">True</property>
-                            <property name="label" translatable="yes">You can clear stored personal 
data.</property>
-                          </object>
-                        </child>
-                        <child>
+                        <child type="action">
                           <object class="GtkButton" id="clear_personal_data_button">
-                            <property name="label" translatable="yes">Manage Personal _Data</property>
+                            <property name="valign">center</property>
                             <property name="visible">True</property>
-                            <property name="valign">start</property>
-                            <property name="use-underline">True</property>
+                            <style>
+                              <class name="image-button"/>
+                            </style>
+                            <child>
+                              <object class="GtkImage">
+                                <property name="icon_name">emblem-system-symbolic</property>
+                                <property name="visible">True</property>
+                              </object>
+                            </child>
                           </object>
                         </child>
                       </object>
@@ -1219,14 +1209,6 @@
       <widget name="mono_fontbutton"/>
     </widgets>
   </object>
-  <object class="GtkSizeGroup">
-    <property name="mode">horizontal</property>
-    <widgets>
-      <widget name="manage_cookies_button"/>
-      <widget name="manage_passwords_button"/>
-      <widget name="clear_personal_data_button"/>
-    </widgets>
-  </object>
   <object class="GtkSizeGroup">
     <property name="mode">horizontal</property>
     <widgets>


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