[gnome-initial-setup/wip/port-to-gtk4: 6/23] language: Port to GTK4
- From: Georges Basile Stavracas Neto <gbsneto src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-initial-setup/wip/port-to-gtk4: 6/23] language: Port to GTK4
- Date: Mon, 25 Jul 2022 15:52:55 +0000 (UTC)
commit 4085ab4ccf5814a3a0b304c17e34c66d15899150
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date: Tue Jul 5 14:48:30 2022 -0300
language: Port to GTK4
Port all 3 widgets to GTK4. Make GisWelcomeWidget use an AdwCarousel
internally, which simplifies a lot of code. Other than that, the rest
of the changes are essentially API updates to build.
Use an AdwClamp to center-limit the widgetry.
gnome-initial-setup/gnome-initial-setup.c | 4 +-
gnome-initial-setup/meson.build | 2 +-
.../pages/language/cc-language-chooser.c | 123 ++++++++-------------
.../pages/language/gis-language-page.ui | 66 +++++------
.../pages/language/gis-welcome-widget.c | 43 ++++---
.../pages/language/gis-welcome-widget.h | 6 +-
.../pages/language/gis-welcome-widget.ui | 9 +-
.../pages/language/language-chooser.ui | 30 ++---
gnome-initial-setup/pages/meson.build | 2 +-
9 files changed, 122 insertions(+), 163 deletions(-)
---
diff --git a/gnome-initial-setup/gnome-initial-setup.c b/gnome-initial-setup/gnome-initial-setup.c
index 4fccd2ad..9f912bca 100644
--- a/gnome-initial-setup/gnome-initial-setup.c
+++ b/gnome-initial-setup/gnome-initial-setup.c
@@ -30,7 +30,7 @@
#include <glib/gi18n.h>
#include "pages/welcome/gis-welcome-page.h"
-//#include "pages/language/gis-language-page.h"
+#include "pages/language/gis-language-page.h"
//#include "pages/keyboard/gis-keyboard-page.h"
//#include "pages/network/gis-network-page.h"
//#include "pages/timezone/gis-timezone-page.h"
@@ -63,7 +63,7 @@ typedef struct {
static PageData page_table[] = {
PAGE (welcome, FALSE),
- //PAGE (language, FALSE),
+ PAGE (language, FALSE),
//PAGE (keyboard, FALSE),
//PAGE (network, FALSE),
//PAGE (privacy, FALSE),
diff --git a/gnome-initial-setup/meson.build b/gnome-initial-setup/meson.build
index 286b8fff..cd15f133 100644
--- a/gnome-initial-setup/meson.build
+++ b/gnome-initial-setup/meson.build
@@ -48,7 +48,7 @@ geocode_glib_2_dep = dependency(
dependencies = [
#dependency ('libnm', version: '>= 1.2'),
#dependency ('libnma', version: '>= 1.0'),
- #dependency ('polkit-gobject-1', version: '>= 0.103'),
+ dependency ('polkit-gobject-1', version: '>= 0.103'),
dependency ('accountsservice'),
#geocode_glib_2_dep,
dependency ('gnome-desktop-4'),
diff --git a/gnome-initial-setup/pages/language/cc-language-chooser.c
b/gnome-initial-setup/pages/language/cc-language-chooser.c
index fa8531cc..309704c6 100644
--- a/gnome-initial-setup/pages/language/cc-language-chooser.c
+++ b/gnome-initial-setup/pages/language/cc-language-chooser.c
@@ -42,7 +42,6 @@ struct _CcLanguageChooserPrivate
GtkWidget *filter_entry;
GtkWidget *language_list;
- GtkWidget *scrolled_window;
GtkWidget *no_results;
GtkWidget *more_item;
@@ -90,11 +89,11 @@ static GtkWidget *
padded_label_new (char *text)
{
GtkWidget *widget;
- widget = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 10);
+ widget = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
gtk_widget_set_halign (widget, GTK_ALIGN_CENTER);
- gtk_widget_set_margin_top (widget, 10);
- gtk_widget_set_margin_bottom (widget, 10);
- gtk_box_pack_start (GTK_BOX (widget), gtk_label_new (text), FALSE, FALSE, 0);
+ gtk_widget_set_margin_top (widget, 12);
+ gtk_widget_set_margin_bottom (widget, 12);
+ gtk_box_append (GTK_BOX (widget), gtk_label_new (text));
return widget;
}
@@ -143,22 +142,21 @@ language_widget_new (const char *locale_id,
locale_current_name = gnome_get_language_from_locale (locale_id, NULL);
locale_untranslated_name = gnome_get_language_from_locale (locale_id, "C");
- widget->box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 10);
- gtk_widget_set_margin_top (widget->box, 10);
- gtk_widget_set_margin_bottom (widget->box, 10);
- gtk_widget_set_margin_start (widget->box, 10);
- gtk_widget_set_margin_end (widget->box, 10);
+ widget->box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
+ gtk_widget_set_margin_top (widget->box, 12);
+ gtk_widget_set_margin_bottom (widget->box, 12);
+ gtk_widget_set_margin_start (widget->box, 12);
+ gtk_widget_set_margin_end (widget->box, 12);
gtk_widget_set_halign (widget->box, GTK_ALIGN_FILL);
label = gtk_label_new (language_name);
gtk_label_set_ellipsize (GTK_LABEL (label), PANGO_ELLIPSIZE_END);
gtk_label_set_max_width_chars (GTK_LABEL (label), 30);
gtk_label_set_xalign (GTK_LABEL (label), 0);
- gtk_box_pack_start (GTK_BOX (widget->box), label, FALSE, FALSE, 0);
+ gtk_box_append (GTK_BOX (widget->box), label);
- widget->checkmark = gtk_image_new_from_icon_name ("object-select-symbolic", GTK_ICON_SIZE_MENU);
- gtk_box_pack_start (GTK_BOX (widget->box), widget->checkmark, FALSE, FALSE, 0);
- gtk_widget_show (widget->checkmark);
+ widget->checkmark = gtk_image_new_from_icon_name ("object-select-symbolic");
+ gtk_box_append (GTK_BOX (widget->box), widget->checkmark);
if (country_name) {
label = gtk_label_new (country_name);
@@ -166,8 +164,9 @@ language_widget_new (const char *locale_id,
gtk_label_set_max_width_chars (GTK_LABEL (label), 30);
gtk_style_context_add_class (gtk_widget_get_style_context (label), "dim-label");
gtk_label_set_xalign (GTK_LABEL (label), 0);
+ gtk_widget_set_hexpand (label, TRUE);
gtk_widget_set_halign (label, GTK_ALIGN_END);
- gtk_box_pack_end (GTK_BOX (widget->box), label, FALSE, FALSE, 0);
+ gtk_box_append (GTK_BOX (widget->box), label);
}
widget->locale_id = g_strdup (locale_id);
@@ -189,32 +188,28 @@ language_widget_new (const char *locale_id,
}
static void
-sync_checkmark (GtkWidget *row,
- gpointer user_data)
+sync_all_checkmarks (CcLanguageChooser *chooser)
{
- GtkWidget *child;
- LanguageWidget *widget;
- gchar *locale_id;
- gboolean should_be_visible;
+ CcLanguageChooserPrivate *priv = cc_language_chooser_get_instance_private (chooser);
+ GtkWidget *row;
- child = gtk_bin_get_child (GTK_BIN (row));
- widget = get_language_widget (child);
+ row = gtk_widget_get_first_child (priv->language_list);
+ while (row) {
+ LanguageWidget *widget;
+ GtkWidget *child;
+ gboolean should_be_visible;
- if (widget == NULL)
- return;
+ child = gtk_list_box_row_get_child (GTK_LIST_BOX_ROW (row));
+ widget = get_language_widget (child);
- locale_id = user_data;
- should_be_visible = g_str_equal (widget->locale_id, locale_id);
- gtk_widget_set_opacity (widget->checkmark, should_be_visible ? 1.0 : 0.0);
-}
+ if (widget == NULL)
+ return;
-static void
-sync_all_checkmarks (CcLanguageChooser *chooser)
-{
- CcLanguageChooserPrivate *priv = cc_language_chooser_get_instance_private (chooser);
+ should_be_visible = g_str_equal (widget->locale_id, priv->language);
+ gtk_widget_set_opacity (widget->checkmark, should_be_visible ? 1.0 : 0.0);
- gtk_container_foreach (GTK_CONTAINER (priv->language_list),
- sync_checkmark, priv->language);
+ row = gtk_widget_get_next_sibling (row);
+ }
}
static GtkWidget *
@@ -223,14 +218,18 @@ more_widget_new (void)
GtkWidget *widget;
GtkWidget *arrow;
- widget = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 10);
+ widget = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
gtk_widget_set_tooltip_text (widget, _("Moreā¦"));
- arrow = gtk_image_new_from_icon_name ("view-more-symbolic", GTK_ICON_SIZE_MENU);
+ arrow = g_object_new (GTK_TYPE_IMAGE,
+ "icon-name", "view-more-symbolic",
+ "hexpand", TRUE,
+ "halign", GTK_ALIGN_CENTER,
+ NULL);
gtk_style_context_add_class (gtk_widget_get_style_context (arrow), "dim-label");
- gtk_widget_set_margin_top (widget, 10);
- gtk_widget_set_margin_bottom (widget, 10);
- gtk_box_pack_start (GTK_BOX (widget), arrow, TRUE, TRUE, 0);
+ gtk_widget_set_margin_top (widget, 12);
+ gtk_widget_set_margin_bottom (widget, 12);
+ gtk_box_append (GTK_BOX (widget), arrow);
return widget;
}
@@ -242,7 +241,7 @@ no_results_widget_new (void)
widget = padded_label_new (_("No languages found"));
gtk_widget_set_sensitive (widget, FALSE);
- gtk_widget_show_all (widget);
+
return widget;
}
@@ -260,7 +259,7 @@ add_one_language (CcLanguageChooser *chooser,
widget = language_widget_new (locale_id, !is_initial);
if (widget)
- gtk_container_add (GTK_CONTAINER (priv->language_list), widget);
+ gtk_list_box_append (GTK_LIST_BOX (priv->language_list), widget);
}
static void
@@ -287,10 +286,8 @@ add_languages (CcLanguageChooser *chooser,
add_one_language (chooser, locale_id, FALSE);
}
- gtk_container_add (GTK_CONTAINER (priv->language_list), priv->more_item);
+ gtk_list_box_append (GTK_LIST_BOX (priv->language_list), priv->more_item);
gtk_list_box_set_placeholder (GTK_LIST_BOX (priv->language_list), priv->no_results);
-
- gtk_widget_show_all (priv->language_list);
}
static void
@@ -315,7 +312,7 @@ language_visible (GtkListBoxRow *row,
GtkWidget *child;
const char *search_term;
- child = gtk_bin_get_child (GTK_BIN (row));
+ child = gtk_list_box_row_get_child (row);
if (child == priv->more_item)
return !priv->showing_extra;
@@ -324,7 +321,7 @@ language_visible (GtkListBoxRow *row,
if (!priv->showing_extra && widget->is_extra)
return FALSE;
- search_term = gtk_entry_get_text (GTK_ENTRY (priv->filter_entry));
+ search_term = gtk_editable_get_text (GTK_EDITABLE (priv->filter_entry));
if (!search_term || !*search_term)
return TRUE;
@@ -354,8 +351,8 @@ sort_languages (GtkListBoxRow *a,
LanguageWidget *la, *lb;
int ret;
- la = get_language_widget (gtk_bin_get_child (GTK_BIN (a)));
- lb = get_language_widget (gtk_bin_get_child (GTK_BIN (b)));
+ la = get_language_widget (gtk_list_box_row_get_child (a));
+ lb = get_language_widget (gtk_list_box_row_get_child (b));
if (la == NULL)
return 1;
@@ -389,12 +386,8 @@ show_more (CcLanguageChooser *chooser)
{
CcLanguageChooserPrivate *priv = cc_language_chooser_get_instance_private (chooser);
- gtk_widget_show (priv->filter_entry);
gtk_widget_grab_focus (priv->filter_entry);
- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->scrolled_window),
- GTK_POLICY_NEVER,
- GTK_POLICY_AUTOMATIC);
gtk_widget_set_valign (GTK_WIDGET (chooser), GTK_ALIGN_FILL);
priv->showing_extra = TRUE;
@@ -441,7 +434,7 @@ row_activated (GtkListBox *box,
if (row == NULL)
return;
- child = gtk_bin_get_child (GTK_BIN (row));
+ child = gtk_list_box_row_get_child (row);
if (child == priv->more_item) {
show_more (chooser);
} else {
@@ -455,23 +448,6 @@ row_activated (GtkListBox *box,
}
}
-static void
-update_header_func (GtkListBoxRow *child,
- GtkListBoxRow *before,
- gpointer user_data)
-{
- GtkWidget *header;
-
- if (before == NULL) {
- gtk_list_box_row_set_header (child, NULL);
- return;
- }
-
- header = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
- gtk_list_box_row_set_header (child, header);
- gtk_widget_show (header);
-}
-
static void
cc_language_chooser_constructed (GObject *object)
{
@@ -487,8 +463,6 @@ cc_language_chooser_constructed (GObject *object)
sort_languages, chooser, NULL);
gtk_list_box_set_filter_func (GTK_LIST_BOX (priv->language_list),
language_visible, chooser, NULL);
- gtk_list_box_set_header_func (GTK_LIST_BOX (priv->language_list),
- update_header_func, chooser, NULL);
gtk_list_box_set_selection_mode (GTK_LIST_BOX (priv->language_list),
GTK_SELECTION_NONE);
add_all_languages (chooser);
@@ -563,7 +537,6 @@ cc_language_chooser_class_init (CcLanguageChooserClass *klass)
gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass), CcLanguageChooser,
filter_entry);
gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass), CcLanguageChooser,
language_list);
- gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass), CcLanguageChooser,
scrolled_window);
object_class->finalize = cc_language_chooser_finalize;
object_class->get_property = cc_language_chooser_get_property;
@@ -599,7 +572,7 @@ void
cc_language_chooser_clear_filter (CcLanguageChooser *chooser)
{
CcLanguageChooserPrivate *priv = cc_language_chooser_get_instance_private (chooser);
- gtk_entry_set_text (GTK_ENTRY (priv->filter_entry), "");
+ gtk_editable_set_text (GTK_EDITABLE (priv->filter_entry), "");
}
const gchar *
diff --git a/gnome-initial-setup/pages/language/gis-language-page.ui
b/gnome-initial-setup/pages/language/gis-language-page.ui
index 8f2a08cf..307360cc 100644
--- a/gnome-initial-setup/pages/language/gis-language-page.ui
+++ b/gnome-initial-setup/pages/language/gis-language-page.ui
@@ -1,43 +1,45 @@
<?xml version="1.0"?>
<interface>
- <requires lib="gtk+" version="3.0"/>
<template class="GisLanguagePage" parent="GisPage">
<child>
- <object class="GtkBox" id="box">
- <property name="visible">True</property>
- <property name="orientation">vertical</property>
- <property name="halign">center</property>
+ <object class="AdwPreferencesPage">
<child>
- <object class="GtkBox">
- <property name="visible">True</property>
- <property name="orientation">vertical</property>
- <property name="halign">center</property>
- <property name="valign">center</property>
- <property name="expand" bind-source="language_chooser" bind-property="visible"
bind-flags="invert-boolean|sync-create"/>
+ <object class="AdwPreferencesGroup">
+
<child>
- <object class="GtkImage" id="logo">
- <property name="visible" bind-source="GisLanguagePage" bind-property="small-screen"
bind-flags="invert-boolean|sync-create"/>
- <property name="can_focus">False</property>
- <property name="margin_top">24</property>
- <property name="pixel_size">96</property>
- <property name="icon_name">start-here-symbolic</property>
+ <object class="GtkBox" id="box">
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkBox">
+ <property name="orientation">vertical</property>
+ <property name="hexpand" bind-source="language_chooser" bind-property="visible"
bind-flags="invert-boolean|sync-create"/>
+ <property name="vexpand" bind-source="language_chooser" bind-property="visible"
bind-flags="invert-boolean|sync-create"/>
+ <child>
+ <object class="GtkImage" id="logo">
+ <property name="visible" bind-source="GisLanguagePage" bind-property="small-screen"
bind-flags="invert-boolean|sync-create"/>
+ <property name="margin_top">24</property>
+ <property name="pixel_size">96</property>
+ <property name="icon_name">start-here-symbolic</property>
+ </object>
+ </child>
+ <child>
+ <object class="GisWelcomeWidget" id="welcome_widget">
+ <property name="margin_top">18</property>
+ <property name="margin_bottom">40</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="CcLanguageChooser" id="language_chooser">
+ <property name="margin_bottom">18</property>
+ <property name="width_request">400</property>
+ <property name="valign">start</property>
+ </object>
+ </child>
</object>
</child>
- <child>
- <object class="GisWelcomeWidget" id="welcome_widget">
- <property name="visible">True</property>
- <property name="margin_top">18</property>
- <property name="margin_bottom">40</property>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="CcLanguageChooser" id="language_chooser">
- <property name="margin_bottom">18</property>
- <property name="width_request">400</property>
- <property name="visible">True</property>
- <property name="valign">start</property>
+
</object>
</child>
</object>
diff --git a/gnome-initial-setup/pages/language/gis-welcome-widget.c
b/gnome-initial-setup/pages/language/gis-welcome-widget.c
index a44d5665..4d58a37f 100644
--- a/gnome-initial-setup/pages/language/gis-welcome-widget.c
+++ b/gnome-initial-setup/pages/language/gis-welcome-widget.c
@@ -30,7 +30,7 @@
struct _GisWelcomeWidgetPrivate
{
- GtkWidget *stack;
+ AdwCarousel *carousel;
GHashTable *translation_widgets; /* (element-type owned utf8 unowned GtkWidget) (owned) */
guint timeout_id;
@@ -39,34 +39,30 @@ typedef struct _GisWelcomeWidgetPrivate GisWelcomeWidgetPrivate;
#define TIMEOUT 5
-G_DEFINE_TYPE_WITH_PRIVATE (GisWelcomeWidget, gis_welcome_widget, GTK_TYPE_BIN);
+G_DEFINE_TYPE_WITH_PRIVATE (GisWelcomeWidget, gis_welcome_widget, ADW_TYPE_BIN);
static gboolean
advance_stack (gpointer user_data)
{
GisWelcomeWidget *widget = user_data;
GisWelcomeWidgetPrivate *priv = gis_welcome_widget_get_instance_private (widget);
- GList *children, *l;
+ GtkWidget *child;
+ unsigned int next_page;
+ unsigned int n_pages;
+ double current_page;
- children = gtk_container_get_children (GTK_CONTAINER (priv->stack));
- if (children == NULL)
+ n_pages = adw_carousel_get_n_pages (priv->carousel);
+ if (n_pages == 0)
goto out;
- for (l = children; l != NULL; l = l->next)
- {
- if (l->data == gtk_stack_get_visible_child (GTK_STACK (priv->stack)))
- break;
- }
-
- /* wrap around */
- if (l->next)
- l = l->next;
- else
- l = children;
+ current_page = ceil (adw_carousel_get_position (priv->carousel));
+ next_page = ((int) current_page + 1) % n_pages;
- gtk_stack_set_visible_child (GTK_STACK (priv->stack), l->data);
+ child = gtk_widget_get_first_child (GTK_WIDGET (priv->carousel));
+ while (next_page-- > 0)
+ child = gtk_widget_get_next_sibling (child);
- g_list_free (children);
+ adw_carousel_scroll_to (priv->carousel, child, TRUE);
out:
return G_SOURCE_CONTINUE;
@@ -152,7 +148,7 @@ big_label (const char *text)
}
static void
-fill_stack (GisWelcomeWidget *widget)
+fill_carousel (GisWelcomeWidget *widget)
{
GisWelcomeWidgetPrivate *priv = gis_welcome_widget_get_instance_private (widget);
g_autoptr(GHashTable) initial = cc_common_language_get_initial_languages ();
@@ -176,8 +172,7 @@ fill_stack (GisWelcomeWidget *widget)
label = g_hash_table_lookup (added_translations, text);
if (label == NULL) {
label = big_label (text);
- gtk_container_add (GTK_CONTAINER (priv->stack), label);
- gtk_widget_show (label);
+ adw_carousel_append (priv->carousel, label);
g_hash_table_insert (added_translations, (gpointer) text, label);
}
@@ -190,7 +185,7 @@ gis_welcome_widget_constructed (GObject *object)
{
G_OBJECT_CLASS (gis_welcome_widget_parent_class)->constructed (object);
- fill_stack (GIS_WELCOME_WIDGET (object));
+ fill_carousel (GIS_WELCOME_WIDGET (object));
}
static void
@@ -212,7 +207,7 @@ gis_welcome_widget_class_init (GisWelcomeWidgetClass *klass)
gtk_widget_class_set_template_from_resource (widget_class,
"/org/gnome/initial-setup/gis-welcome-widget.ui");
- gtk_widget_class_bind_template_child_private (widget_class, GisWelcomeWidget, stack);
+ gtk_widget_class_bind_template_child_private (widget_class, GisWelcomeWidget, carousel);
object_class->constructed = gis_welcome_widget_constructed;
object_class->dispose = gis_welcome_widget_dispose;
@@ -243,5 +238,5 @@ gis_welcome_widget_show_locale (GisWelcomeWidget *widget,
label = g_hash_table_lookup (priv->translation_widgets, locale_id);
if (label)
- gtk_stack_set_visible_child (GTK_STACK (priv->stack), label);
+ adw_carousel_scroll_to (priv->carousel, label, FALSE);
}
diff --git a/gnome-initial-setup/pages/language/gis-welcome-widget.h
b/gnome-initial-setup/pages/language/gis-welcome-widget.h
index 33afe8b7..212b45f5 100644
--- a/gnome-initial-setup/pages/language/gis-welcome-widget.h
+++ b/gnome-initial-setup/pages/language/gis-welcome-widget.h
@@ -22,7 +22,7 @@
#ifndef __GIS_WELCOME_WIDGET_H__
#define __GIS_WELCOME_WIDGET_H__
-#include <gtk/gtk.h>
+#include <adwaita.h>
G_BEGIN_DECLS
@@ -38,12 +38,12 @@ typedef struct _GisWelcomeWidgetClass GisWelcomeWidgetClass;
struct _GisWelcomeWidget
{
- GtkBin parent;
+ AdwBin parent;
};
struct _GisWelcomeWidgetClass
{
- GtkBinClass parent_class;
+ AdwBinClass parent_class;
};
GType gis_welcome_widget_get_type (void);
diff --git a/gnome-initial-setup/pages/language/gis-welcome-widget.ui
b/gnome-initial-setup/pages/language/gis-welcome-widget.ui
index 251ad46f..f6a26df1 100644
--- a/gnome-initial-setup/pages/language/gis-welcome-widget.ui
+++ b/gnome-initial-setup/pages/language/gis-welcome-widget.ui
@@ -1,14 +1,13 @@
<?xml version="1.0"?>
<interface>
<requires lib="gtk+" version="3.0"/>
- <template class="GisWelcomeWidget" parent="GtkBin">
+ <template class="GisWelcomeWidget" parent="AdwBin">
<property name="margin-top">10</property>
<property name="margin-bottom">10</property>
<child>
- <object class="GtkStack" id="stack">
- <property name="visible">True</property>
- <property name="transition-type">slide-left</property>
- <property name="transition-duration">1000</property>
+ <object class="AdwCarousel" id="carousel">
+ <property name="halign">center</property>
+ <property name="interactive">False</property>
</object>
</child>
</template>
diff --git a/gnome-initial-setup/pages/language/language-chooser.ui
b/gnome-initial-setup/pages/language/language-chooser.ui
index fc61d597..90ee096a 100644
--- a/gnome-initial-setup/pages/language/language-chooser.ui
+++ b/gnome-initial-setup/pages/language/language-chooser.ui
@@ -1,31 +1,21 @@
<?xml version="1.0"?>
<interface>
- <requires lib="gtk+" version="3.0"/>
<template class="CcLanguageChooser" parent="GtkBox">
- <property name="visible">True</property>
<property name="orientation">vertical</property>
- <property name="spacing">10</property>
+ <property name="spacing">18</property>
<child>
- <object class="GtkScrolledWindow" id="scrolled_window">
- <property name="visible">True</property>
- <property name="hscrollbar-policy">never</property>
- <property name="vscrollbar-policy">never</property>
- <property name="shadow-type">in</property>
- <child>
- <object class="GtkListBox" id="language_list">
- <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>
+ <object class="GtkSearchEntry" id="filter_entry">
+ <property name="hexpand">True</property>
</object>
</child>
<child>
- <object class="GtkSearchEntry" id="filter_entry">
- <property name="visible">False</property>
- <property name="hexpand">True</property>
+ <object class="GtkListBox" id="language_list">
+ <property name="vexpand">True</property>
+ <property name="halign">fill</property>
+ <property name="valign">start</property>
+ <style>
+ <class name="boxed-list" />
+ </style>
</object>
</child>
</template>
diff --git a/gnome-initial-setup/pages/meson.build b/gnome-initial-setup/pages/meson.build
index 194117f4..15fdf392 100644
--- a/gnome-initial-setup/pages/meson.build
+++ b/gnome-initial-setup/pages/meson.build
@@ -1,6 +1,6 @@
pages = [
#'account',
- #'language',
+ 'language',
#'keyboard',
#'network',
#'timezone',
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]