[gnome-control-center] common: Make language chooser dialog match design



commit 828024e225d7030989aa8ddfa2ba43fb5f7205a5
Author: Robert Ancell <robert ancell canonical com>
Date:   Mon Jul 2 16:25:55 2018 +1200

    common: Make language chooser dialog match design
    
    Update the chooser to:
    
    * Use a search bar at the top of the dialog, not the bottom
    * Have a larger window
    * Remove space from around listbox
    
    https://wiki.gnome.org/Design/SystemSettings/RegionAndLanguage
    
    Merges !129

 panels/common/cc-language-chooser.c  |  5 ++--
 panels/common/cc-language-chooser.ui | 46 ++++++++++++++++--------------------
 2 files changed, 23 insertions(+), 28 deletions(-)
---
diff --git a/panels/common/cc-language-chooser.c b/panels/common/cc-language-chooser.c
index cf96aca25..6a188216c 100644
--- a/panels/common/cc-language-chooser.c
+++ b/panels/common/cc-language-chooser.c
@@ -42,6 +42,7 @@ struct _CcLanguageChooser {
         GtkWidget *done_button;
         GtkWidget *no_results;
         GtkListBoxRow *more_item;
+        GtkWidget *search_bar;
         GtkWidget *language_filter_entry;
         GtkWidget *language_listbox;
         gboolean showing_extra;
@@ -279,9 +280,8 @@ show_more (CcLanguageChooser *chooser, gboolean visible)
 
         gtk_window_get_size (GTK_WINDOW (chooser), &width, &height);
         gtk_widget_set_size_request (GTK_WIDGET (chooser), width, height);
-        gtk_window_set_resizable (GTK_WINDOW (chooser), TRUE);
 
-        gtk_widget_set_visible (chooser->language_filter_entry, visible);
+        gtk_search_bar_set_search_mode (GTK_SEARCH_BAR (chooser->search_bar), visible);
         gtk_widget_grab_focus (visible ? chooser->language_filter_entry : chooser->language_listbox);
 
         chooser->showing_extra = visible;
@@ -423,6 +423,7 @@ cc_language_chooser_class_init (CcLanguageChooserClass *klass)
         gtk_widget_class_set_template_from_resource (widget_class, 
"/org/gnome/control-center/common/cc-language-chooser.ui");
 
         gtk_widget_class_bind_template_child (widget_class, CcLanguageChooser, done_button);
+        gtk_widget_class_bind_template_child (widget_class, CcLanguageChooser, search_bar);
         gtk_widget_class_bind_template_child (widget_class, CcLanguageChooser, language_filter_entry);
         gtk_widget_class_bind_template_child (widget_class, CcLanguageChooser, language_listbox);
 }
diff --git a/panels/common/cc-language-chooser.ui b/panels/common/cc-language-chooser.ui
index c8e63c134..2c351e9ba 100644
--- a/panels/common/cc-language-chooser.ui
+++ b/panels/common/cc-language-chooser.ui
@@ -5,7 +5,7 @@
     <property name="title" translatable="yes">Language</property>
     <property name="modal">True</property>
     <property name="destroy_with_parent">True</property>
-    <property name="resizable">False</property>
+    <property name="default_height">350</property>
     <child type="action">
       <object class="GtkButton" id="done_button">
         <property name="label" translatable="yes">_Done</property>
@@ -31,43 +31,37 @@
         <property name="visible">True</property>
         <property name="orientation">vertical</property>
         <property name="spacing">0</property>
+        <property name="border-width">0</property>
+        <child>
+          <object class="GtkSearchBar" id="search_bar">
+            <property name="visible">True</property>
+            <property name="hexpand">True</property>
+            <child>
+              <object class="GtkSearchEntry" id="language_filter_entry">
+                <property name="visible">True</property>
+                <property name="width_chars">30</property>
+              </object>
+            </child>
+          </object>
+        </child>
         <child>
           <object class="GtkScrolledWindow">
             <property name="visible">True</property>
             <property name="hscrollbar-policy">never</property>
             <property name="vscrollbar-policy">automatic</property>
             <property name="propagate-natural-height">True</property>
-            <property name="shadow-type">in</property>
-            <property name="margin-start">6</property>
-            <property name="margin-end">6</property>
-            <property name="margin-top">6</property>
-            <property name="margin-bottom">6</property>
+            <property name="min-content-height">200</property>
             <child>
-              <object class="GtkViewport">
+              <object class="GtkListBox" id="language_listbox">
                 <property name="visible">True</property>
-                <child>
-                  <object class="GtkListBox" id="language_listbox">
-                    <property name="visible">True</property>
-                    <property name="can-focus">True</property>
-                    <property name="vexpand">True</property>
-                    <property name="halign">fill</property>
-                    <property name="valign">fill</property>
-                  </object>
-                </child>
+                <property name="can-focus">True</property>
+                <property name="vexpand">True</property>
+                <property name="halign">fill</property>
+                <property name="valign">fill</property>
               </object>
             </child>
           </object>
         </child>
-        <child>
-          <object class="GtkSearchEntry" id="language_filter_entry">
-            <property name="visible">False</property>
-            <property name="hexpand">True</property>
-            <property name="margin-start">6</property>
-            <property name="margin-end">6</property>
-            <property name="margin-top">6</property>
-            <property name="margin-bottom">6</property>
-          </object>
-        </child>
       </object>
     </child>
     <action-widgets>


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