diff --git a/gtk/gtkfontbutton.c b/gtk/gtkfontbutton.c index 402cb634fa..43126969e1 100644 --- a/gtk/gtkfontbutton.c +++ b/gtk/gtkfontbutton.c @@ -137,9 +137,8 @@ static void dialog_destroy (GtkWidget *widget, static void gtk_font_button_label_use_font (GtkFontButton *gfs); static void gtk_font_button_update_font_info (GtkFontButton *gfs); -static void gtk_font_button_set_font_name (GtkFontButton *button, - const char *fontname); -static const char *gtk_font_button_get_font_name (GtkFontButton *button); +static void font_button_set_font_name (GtkFontButton *button, + const char *fontname); static void gtk_font_button_set_level (GtkFontButton *font_button, GtkFontChooserLevel level); static void gtk_font_button_set_language (GtkFontButton *button, @@ -1104,7 +1103,8 @@ gtk_font_button_clicked (GtkButton *button) gtk_font_chooser_set_font_map (font_dialog, priv->font_map); gtk_font_chooser_set_show_preview_entry (font_dialog, priv->show_preview_entry); gtk_font_chooser_set_level (GTK_FONT_CHOOSER (font_dialog), priv->level); - gtk_font_chooser_set_language (GTK_FONT_CHOOSER (font_dialog), priv->language); + gtk_font_chooser_set_language (GTK_FONT_CHOOSER (font_dialog), pango_language_to_string +(priv->language)); if (priv->preview_text) { @@ -1189,9 +1189,8 @@ response_cb (GtkDialog *dialog, g_object_ref (priv->font_face); priv->font_size = gtk_font_chooser_get_font_size (font_chooser); g_free (priv->font_features); - g_object_get (font_chooser, "font-features", &priv->font_features, NULL); - g_free (priv->language); - g_object_get (font_chooser, "language", &priv->language, NULL); + priv->font_features = gtk_font_chooser_get_font_features (font_chooser); + priv->language = pango_language_from_string (gtk_font_chooser_get_language (font_chooser)); /* Set label font */ gtk_font_button_update_font_info (font_button); diff --git a/gtk/gtkfontchooserwidget.c b/gtk/gtkfontchooserwidget.c index 8f3c9e31c7..b34f28fcda 100644 --- a/gtk/gtkfontchooserwidget.c +++ b/gtk/gtkfontchooserwidget.c @@ -221,7 +221,6 @@ static void gtk_font_chooser_widget_cell_data_func (GtkTreeViewColum static void selection_changed (GtkTreeSelection *selection, GtkFontChooserWidget *fontchooser); static void update_font_features (GtkFontChooserWidget *fontchooser); -static void update_language (GtkFontChooserWidget *fontchooser); static void gtk_font_chooser_widget_set_level (GtkFontChooserWidget *fontchooser, @@ -1697,12 +1696,7 @@ find_language_and_script (GtkFontChooserWidget *fontchooser, for (k = 0; k < n_languages; k++) { - hb_language_t *l; - char buf[5], buf2[5]; - hb_tag_to_string (languages[k], buf); buf[4] = '\0'; - hb_tag_to_string (scripts[j], buf2); buf2[4] = '\0'; - l = hb_ot_tag_to_language (languages[k]); - if (l == lang) + if (lang == hb_ot_tag_to_language (languages[k])) { *script_tag = scripts[j]; *lang_tag = languages[k]; @@ -1962,6 +1956,7 @@ add_check_group (GtkFontChooserWidget *fontchooser, int i; group = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); + gtk_widget_show (group); gtk_widget_set_halign (group, GTK_ALIGN_FILL); label = gtk_label_new (title); @@ -1987,6 +1982,7 @@ add_check_group (GtkFontChooserWidget *fontchooser, tag = hb_tag_from_string (tags[i], -1); feat = gtk_check_button_new_with_label (get_feature_display_name (tag)); + gtk_widget_show (feat); set_inconsistent (GTK_CHECK_BUTTON (feat), TRUE); g_signal_connect_swapped (feat, "notify::active", G_CALLBACK (update_font_features), fontchooser); g_signal_connect_swapped (feat, "notify::inconsistent", G_CALLBACK (update_font_features), fontchooser); @@ -1999,10 +1995,12 @@ add_check_group (GtkFontChooserWidget *fontchooser, g_signal_connect (gesture, "pressed", G_CALLBACK (feat_pressed), feat); example = gtk_label_new (""); + gtk_widget_show (example); gtk_label_set_selectable (GTK_LABEL (example), TRUE); gtk_widget_set_halign (example, GTK_ALIGN_START); box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 10); + gtk_widget_show (box); gtk_box_set_homogeneous (GTK_BOX (box), TRUE); gtk_container_add (GTK_CONTAINER (box), feat); gtk_container_add (GTK_CONTAINER (box), example); @@ -2034,6 +2032,7 @@ add_radio_group (GtkFontChooserWidget *fontchooser, PangoAttrList *attrs; group = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); + gtk_widget_show (group); gtk_widget_set_halign (group, GTK_ALIGN_FILL); label = gtk_label_new (title); @@ -2061,6 +2060,7 @@ add_radio_group (GtkFontChooserWidget *fontchooser, feat = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (group_button), name ? name : _("Default")); + gtk_widget_show (feat); if (group_button == NULL) group_button = feat; @@ -2068,10 +2068,12 @@ add_radio_group (GtkFontChooserWidget *fontchooser, g_object_set_data (G_OBJECT (feat), "default", group_button); example = gtk_label_new (""); + gtk_widget_show (example); gtk_label_set_selectable (GTK_LABEL (example), TRUE); gtk_widget_set_halign (example, GTK_ALIGN_START); box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 10); + gtk_widget_show (box); gtk_box_set_homogeneous (GTK_BOX (box), TRUE); gtk_container_add (GTK_CONTAINER (box), feat); gtk_container_add (GTK_CONTAINER (box), example); diff --git a/gtk/ui/gtkfontchooserwidget.ui b/gtk/ui/gtkfontchooserwidget.ui index 2c324ffdfd..f1b003cf95 100644 --- a/gtk/ui/gtkfontchooserwidget.ui +++ b/gtk/ui/gtkfontchooserwidget.ui @@ -15,8 +15,8 @@ model - - + + 100 @@ -30,15 +30,18 @@ 10 -