summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGunnar Hjalmarsson <gunnarhj@ubuntu.com>2018-02-26 21:20:30 +0100
committerIain Lane <iain@orangesquash.org.uk>2018-05-14 13:27:15 +0000
commit6dc9545383a2ce29157881a3d2663049ceb9b0ac (patch)
tree08906e703a616cacc4e12f676b5bb94d7983310e
parent9460babd1e54d1e977b62d59e0e1177c34721615 (diff)
downloadgnome-control-center-wip/iainl/language-chooser-always-scroll.tar.gz
region: Show scrollbars if neededwip/iainl/language-chooser-always-scroll
If we are initially showing more entries than can be fit, we should scroll then too rather than deciding in code when to do this. https://bugzilla.gnome.org/show_bug.cgi?id=793861
-rw-r--r--panels/common/cc-language-chooser.c8
-rw-r--r--panels/common/language-chooser.ui3
-rw-r--r--panels/region/cc-format-chooser.c11
-rw-r--r--panels/region/cc-input-chooser.c1
-rw-r--r--panels/region/format-chooser.ui3
-rw-r--r--panels/region/input-chooser.ui3
6 files changed, 6 insertions, 23 deletions
diff --git a/panels/common/cc-language-chooser.c b/panels/common/cc-language-chooser.c
index f0d2ecedc..04a93fbe7 100644
--- a/panels/common/cc-language-chooser.c
+++ b/panels/common/cc-language-chooser.c
@@ -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 ());
diff --git a/panels/common/language-chooser.ui b/panels/common/language-chooser.ui
index c8228bbd9..8077e1487 100644
--- a/panels/common/language-chooser.ui
+++ b/panels/common/language-chooser.ui
@@ -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>
diff --git a/panels/region/cc-format-chooser.c b/panels/region/cc-format-chooser.c
index 2fed3f10e..16357394e 100644
--- a/panels/region/cc-format-chooser.c
+++ b/panels/region/cc-format-chooser.c
@@ -41,7 +41,6 @@ typedef struct {
GtkListBoxRow *more_item;
GtkWidget *filter_entry;
GtkWidget *list;
- GtkWidget *scrolledwindow;
GtkWidget *date;
GtkWidget *time;
GtkWidget *date_time;
@@ -421,18 +420,12 @@ static void
show_more (GtkDialog *chooser)
{
CcFormatChooserPrivate *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,
- GTK_POLICY_AUTOMATIC);
-
gtk_widget_show (priv->filter_entry);
gtk_widget_grab_focus (priv->filter_entry);
@@ -526,7 +519,6 @@ cc_format_chooser_new (GtkWidget *parent)
priv->done_button = WID ("ok-button");
priv->filter_entry = WID ("region-filter-entry");
priv->list = WID ("region-list");
- priv->scrolledwindow = WID ("region-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 ());
@@ -539,9 +531,6 @@ cc_format_chooser_new (GtkWidget *parent)
priv->measurement = WID ("measurement-format");
priv->paper = WID ("paper-format");
- gtk_list_box_set_adjustment (GTK_LIST_BOX (priv->list),
- gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (priv->scrolledwindow)));
-
gtk_list_box_set_sort_func (GTK_LIST_BOX (priv->list),
(GtkListBoxSortFunc)sort_regions, chooser, NULL);
gtk_list_box_set_filter_func (GTK_LIST_BOX (priv->list),
diff --git a/panels/region/cc-input-chooser.c b/panels/region/cc-input-chooser.c
index 9f882cdb3..04118ee30 100644
--- a/panels/region/cc-input-chooser.c
+++ b/panels/region/cc-input-chooser.c
@@ -1093,7 +1093,6 @@ cc_input_chooser_new (GtkWindow *main_window,
priv->no_results = g_object_ref_sink (no_results_widget_new ());
gtk_widget_show_all (priv->no_results);
- gtk_list_box_set_adjustment (GTK_LIST_BOX (priv->list), priv->adjustment);
gtk_list_box_set_filter_func (GTK_LIST_BOX (priv->list), list_filter, chooser, NULL);
gtk_list_box_set_sort_func (GTK_LIST_BOX (priv->list), (GtkListBoxSortFunc)list_sort, chooser, NULL);
g_signal_connect (priv->list, "row-activated", G_CALLBACK (row_activated), chooser);
diff --git a/panels/region/format-chooser.ui b/panels/region/format-chooser.ui
index 363dc8400..fc574a87e 100644
--- a/panels/region/format-chooser.ui
+++ b/panels/region/format-chooser.ui
@@ -57,7 +57,8 @@
<property name="can_focus">True</property>
<property name="vexpand">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>
<child>
<object class="GtkViewport" id="viewport1">
diff --git a/panels/region/input-chooser.ui b/panels/region/input-chooser.ui
index 41f602edd..10fcbe538 100644
--- a/panels/region/input-chooser.ui
+++ b/panels/region/input-chooser.ui
@@ -37,7 +37,8 @@
<object class="GtkScrolledWindow" id="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>