[gnome-control-center] search: Move header controls to action rows



commit 95c5d443ae5ab567a38a5e693a10350aed756f61
Author: Christopher Davis <christopherdavis gnome org>
Date:   Sat Jan 22 14:32:09 2022 -0800

    search: Move header controls to action rows
    
    Inspired by the bluetooth mockups. According to the
    designers, we should move away from switches in header
    bars.

 panels/search/cc-search-panel.c  | 18 +++++++--------
 panels/search/cc-search-panel.ui | 47 +++++++++++++++++++++++++---------------
 2 files changed, 38 insertions(+), 27 deletions(-)
---
diff --git a/panels/search/cc-search-panel.c b/panels/search/cc-search-panel.c
index 5d000e9d6..b9227d439 100644
--- a/panels/search/cc-search-panel.c
+++ b/panels/search/cc-search-panel.c
@@ -32,8 +32,8 @@ struct _CcSearchPanel
 
   GtkWidget        *list_box;
   GtkSwitch        *main_switch;
-  GtkWidget        *search_vbox;
-  GtkWidget        *settings_button;
+  GtkWidget        *search_group;
+  GtkWidget        *settings_row;
   CcSearchPanelRow *selected_row;
 
   GSettings        *search_settings;
@@ -277,8 +277,8 @@ row_moved_cb (CcSearchPanel    *self,
 }
 
 static void
-settings_button_clicked (GtkWidget *widget,
-                         gpointer user_data)
+settings_row_activated (GtkWidget *widget,
+                        gpointer   user_data)
 {
   CcSearchPanel *self = user_data;
 
@@ -630,7 +630,7 @@ cc_search_panel_init (CcSearchPanel *self)
   gtk_list_box_set_sort_func (GTK_LIST_BOX (self->list_box),
                               (GtkListBoxSortFunc)list_sort_func, self, NULL);
 
-  gtk_widget_set_sensitive (self->settings_button, cc_search_locations_dialog_is_available ());
+  gtk_widget_set_sensitive (self->settings_row, cc_search_locations_dialog_is_available ());
 
   self->search_settings = g_settings_new ("org.gnome.desktop.search-providers");
   g_settings_bind (self->search_settings,
@@ -642,7 +642,7 @@ cc_search_panel_init (CcSearchPanel *self)
 
   g_object_bind_property (self->main_switch,
                           "active",
-                          self->search_vbox,
+                          self->search_group,
                           "sensitive",
                           G_BINDING_DEFAULT |
                           G_BINDING_SYNC_CREATE);
@@ -669,8 +669,8 @@ cc_search_panel_class_init (CcSearchPanelClass *klass)
 
   gtk_widget_class_bind_template_child (widget_class, CcSearchPanel, list_box);
   gtk_widget_class_bind_template_child (widget_class, CcSearchPanel, main_switch);
-  gtk_widget_class_bind_template_child (widget_class, CcSearchPanel, search_vbox);
-  gtk_widget_class_bind_template_child (widget_class, CcSearchPanel, settings_button);
+  gtk_widget_class_bind_template_child (widget_class, CcSearchPanel, search_group);
+  gtk_widget_class_bind_template_child (widget_class, CcSearchPanel, settings_row);
 
-  gtk_widget_class_bind_template_callback (widget_class, settings_button_clicked);
+  gtk_widget_class_bind_template_callback (widget_class, settings_row_activated);
 }
diff --git a/panels/search/cc-search-panel.ui b/panels/search/cc-search-panel.ui
index 06b54865c..c0ed7e33d 100644
--- a/panels/search/cc-search-panel.ui
+++ b/panels/search/cc-search-panel.ui
@@ -1,27 +1,38 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <interface>
   <template class="CcSearchPanel" parent="CcPanel">
-    <property name="visible">True</property>
-
-    <!-- Header widget -->
-    <child type="titlebar-start">
-      <object class="GtkButton" id="settings_button">
-        <property name="label" translatable="yes">Search Locations</property>
-        <signal name="clicked" handler="settings_button_clicked" object="CcSearchPanel" swapped="no"/>
-      </object>
-    </child>
-
-    <!-- Header widget -->
-    <child type="titlebar-end">
-      <object class="GtkSwitch" id="main_switch">
-        <property name="valign">center</property>
-      </object>
-    </child>
-
     <child type="content">
-      <object class="AdwPreferencesPage" id="search_vbox">
+      <object class="AdwPreferencesPage">
         <child>
           <object class="AdwPreferencesGroup">
+            <child>
+              <object class="AdwActionRow">
+                <property name="title" translatable="yes">Search</property>
+                <property name="subtitle" translatable="yes">Search applications in the Activities 
Overview</property>
+                <property name="activatable-widget">main_switch</property>
+                <child type="suffix">
+                  <object class="GtkSwitch" id="main_switch">
+                    <property name="valign">center</property>
+                  </object>
+                </child>
+              </object>
+            </child>
+            <child>
+              <object class="AdwActionRow" id="settings_row">
+                <property name="title" translatable="yes">Search Locations</property>
+                <property name="activatable">True</property>
+                <signal name="activated" handler="settings_row_activated" object="CcSearchPanel" 
swapped="no"/>
+                <child type="suffix">
+                  <object class="GtkImage">
+                    <property name="icon-name">go-next-symbolic</property>
+                  </object>
+                </child>
+              </object>
+            </child>
+          </object>
+        </child>
+        <child>
+          <object class="AdwPreferencesGroup" id="search_group">
             <property name="description" translatable="yes">Control which search results are shown in the 
Activities Overview. The order of search results can also be changed by moving rows in the list.</property>
             <child>
               <object class="GtkListBox" id="list_box">


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