Show scrollbar on first Language window if needed
authorGunnar Hjalmarsson <gunnarhj@ubuntu.com>
Mon, 26 Feb 2018 20:20:30 +0000 (21:20 +0100)
committerSimon McVittie <smcv@debian.org>
Wed, 27 Jun 2018 08:18:33 +0000 (09:18 +0100)
If we are initially showing more languages than can be fit, we should
scroll then too.

Bug-Upstream: https://bugzilla.gnome.org/show_bug.cgi?id=793861
Forwarded: https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/12

Gbp-Pq: Name 0005-Show-scrollbar-on-first-Language-window-if-needed.patch

panels/common/cc-language-chooser.c
panels/common/language-chooser.ui

index 961df5a0a9e364f23fcf4887544e81173b2d76fb..678c557bbfc1e7ac8aae8b527459300ba40f32fd 100644 (file)
@@ -42,7 +42,6 @@ typedef struct {
         GtkListBoxRow *more_item;
         GtkWidget *filter_entry;
         GtkWidget *language_list;
-        GtkWidget *scrolledwindow;
         gboolean showing_extra;
         gchar *language;
         gchar **filter_words;
@@ -288,18 +287,12 @@ static void
 show_more (GtkDialog *chooser, gboolean visible)
 {
         CcLanguageChooserPrivate *priv = GET_PRIVATE (chooser);
-        GtkWidget *widget;
         gint width, height;
 
         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);
 
-        widget = priv->scrolledwindow;
-        gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (widget),
-                                        GTK_POLICY_NEVER,
-                                        visible ? GTK_POLICY_AUTOMATIC : GTK_POLICY_NEVER);
-
         gtk_widget_set_visible (priv->filter_entry, visible);
         gtk_widget_grab_focus (visible ? priv->filter_entry : priv->language_list);
 
@@ -427,7 +420,6 @@ cc_language_chooser_new (GtkWidget *parent)
         priv->done_button = WID ("ok-button");
         priv->filter_entry = WID ("language-filter-entry");
         priv->language_list = WID ("language-list");
-        priv->scrolledwindow = WID ("language-scrolledwindow");
         priv->more_item = more_widget_new ();
         /* We ref-sink here so we can reuse this widget multiple times */
         priv->no_results = g_object_ref_sink (no_results_widget_new ());
index c8228bbd91cb887012c571b2e5a3078ea189256d..8077e1487faceb3d185cfa9b79a9fbadb7be0871 100644 (file)
@@ -36,7 +36,8 @@
           <object class="GtkScrolledWindow" id="language-scrolledwindow">
             <property name="visible">True</property>
             <property name="hscrollbar-policy">never</property>
-            <property name="vscrollbar-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>