Commit aaee85e5 authored by Robert Ancell's avatar Robert Ancell Committed by Georges Basile Stavracas Neto
Browse files

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.
parent 70d8427b
......@@ -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;
......
......@@ -44,6 +44,7 @@
<property name="margin-end">6</property>
<property name="margin-top">6</property>
<property name="margin-bottom">6</property>
<property name="min-content-height">300</property>
<child>
<object class="GtkViewport" id="viewport">
<property name="visible">True</property>
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment