From aaee85e5c63c3e17eae75e45bd85c75401f4f95b Mon Sep 17 00:00:00 2001 From: Robert Ancell Date: Fri, 29 Jun 2018 14:37:35 +1200 Subject: [PATCH] region: Simplify size code for input chooser dialog The previous code was complex and caused the dialog to abruptly change size when interacting with it. Instead choose a reasonable default height. --- panels/region/cc-input-chooser.c | 34 -------------------------------- panels/region/input-chooser.ui | 1 + 2 files changed, 1 insertion(+), 34 deletions(-) diff --git a/panels/region/cc-input-chooser.c b/panels/region/cc-input-chooser.c index d6ae8fe24..ab8a2eed2 100644 --- a/panels/region/cc-input-chooser.c +++ b/panels/region/cc-input-chooser.c @@ -35,7 +35,6 @@ #define INPUT_SOURCE_TYPE_XKB "xkb" #define INPUT_SOURCE_TYPE_IBUS "ibus" -#define MAIN_WINDOW_WIDTH_RATIO 0.60 #define FILTER_TIMEOUT 150 /* ms */ typedef enum { @@ -282,29 +281,6 @@ remove_all_children (GtkContainer *container) gtk_container_remove (container, (GtkWidget *) l->data); } -static void -set_fixed_size (GtkWidget *chooser) -{ - CcInputChooserPrivate *priv = GET_PRIVATE (chooser); - GtkPolicyType policy; - gint width, height; - - gtk_scrolled_window_get_policy (GTK_SCROLLED_WINDOW (priv->scrolledwindow), &policy, NULL); - if (policy == GTK_POLICY_AUTOMATIC) - return; - - /* Don't let it automatically get wider than the main CC window nor - get taller than the initial height */ - gtk_window_get_size (gtk_window_get_transient_for (GTK_WINDOW (chooser)), - &width, NULL); - gtk_window_get_size (GTK_WINDOW (chooser), NULL, &height); - gtk_widget_set_size_request (chooser, width * MAIN_WINDOW_WIDTH_RATIO, height); - - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->scrolledwindow), - GTK_POLICY_AUTOMATIC, - GTK_POLICY_AUTOMATIC); -} - static void add_input_source_rows_for_locale (GtkWidget *chooser, LocaleInfo *info) @@ -332,8 +308,6 @@ show_input_sources_for_locale (GtkWidget *chooser, { CcInputChooserPrivate *priv = GET_PRIVATE (chooser); - set_fixed_size (chooser); - remove_all_children (GTK_CONTAINER (priv->list)); if (!info->back_row) @@ -609,8 +583,6 @@ show_more (GtkWidget *chooser) { CcInputChooserPrivate *priv = GET_PRIVATE (chooser); - set_fixed_size (chooser); - gtk_widget_show (priv->filter_entry); gtk_widget_grab_focus (priv->filter_entry); @@ -1029,7 +1001,6 @@ cc_input_chooser_new (GtkWindow *main_window, g_autoptr(GtkBuilder) builder = NULL; GtkWidget *chooser; CcInputChooserPrivate *priv; - gint width, height; g_autoptr(GError) error = NULL; builder = gtk_builder_new (); @@ -1074,11 +1045,6 @@ cc_input_chooser_new (GtkWindow *main_window, #endif /* HAVE_IBUS */ show_locale_rows (chooser); - /* Try to come up with a sensible size */ - gtk_window_get_size (main_window, &width, &height); - gtk_widget_set_size_request (chooser, width * MAIN_WINDOW_WIDTH_RATIO, -1); - gtk_window_set_resizable (GTK_WINDOW (chooser), TRUE); - gtk_window_set_transient_for (GTK_WINDOW (chooser), main_window); return chooser; diff --git a/panels/region/input-chooser.ui b/panels/region/input-chooser.ui index 10fcbe538..79a9d77fd 100644 --- a/panels/region/input-chooser.ui +++ b/panels/region/input-chooser.ui @@ -44,6 +44,7 @@ 6 6 6 + 300 True