diff options
author | Matthias Clasen <mclasen@redhat.com> | 2018-06-04 07:21:27 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2018-06-04 18:58:08 -0400 |
commit | 51aa16346ef0e17b4f277917bcd9cccd1f81a2b1 (patch) | |
tree | f579737f453a952bb80218e6b035c2b4ebf6a2b7 | |
parent | dfe04d0c9a255b1debf965fdc2e935c989ee59b8 (diff) | |
download | gtk+-51aa16346ef0e17b4f277917bcd9cccd1f81a2b1.tar.gz |
Miscellaneous font chooser fixes
Fix various oversights in the backports of the
font chooser features.
-rw-r--r-- | gtk/gtkfontbutton.c | 13 | ||||
-rw-r--r-- | gtk/gtkfontchooserwidget.c | 16 | ||||
-rw-r--r-- | gtk/ui/gtkfontchooserwidget.ui | 37 |
3 files changed, 43 insertions, 23 deletions
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 @@ </object> <object class="GtkTreeModelFilter" id="filter_model"> <property name="child-model">model</property> - <signal name="row-deleted" handler="rows_changed_cb" swapped="yes"/> - <signal name="row-inserted" handler="rows_changed_cb" swapped="yes"/> + <signal name="row-deleted" handler="row_deleted_cb" swapped="no"/> + <signal name="row-inserted" handler="row_inserted_cb" swapped="no"/> </object> <object class="GtkAdjustment" id="slider_adjustment"> <property name="upper">100</property> @@ -30,15 +30,18 @@ <property name="page-increment">10</property> <signal name="value-changed" handler="size_change_cb" swapped="no"/> </object> - <template class="GtkFontChooserWidget" parent="GtkWidget"> + <template class="GtkFontChooserWidget" parent="GtkBox"> <child> <object class="GtkStack" id="stack"> + <property name="visible">1</property> <child> <object class="GtkGrid" id="grid"> + <property name="visible">1</property> <property name="row-spacing">6</property> <property name="column-spacing">6</property> <child> <object class="GtkSearchEntry" id="search_entry"> + <property name="visible">1</property> <property name="can-focus">1</property> <property name="hexpand">1</property> <property name="activates-default">1</property> @@ -58,12 +61,15 @@ </child> <child> <object class="GtkStack" id="list_stack"> + <property name="visible">1</property> <child> <object class="GtkGrid" id="font_grid"> + <property name="visible">1</property> <property name="row-spacing">6</property> <property name="column-spacing">6</property> <child> <object class="GtkScrolledWindow" id="list_scrolled_window"> + <property name="visible">1</property> <property name="width-request">400</property> <property name="height-request">300</property> <property name="can-focus">1</property> @@ -73,6 +79,7 @@ <property name="shadow-type">etched-in</property> <child> <object class="GtkTreeView" id="family_face_list"> + <property name="visible">1</property> <property name="can-focus">1</property> <property name="model">filter_model</property> <property name="headers-visible">0</property> @@ -123,6 +130,7 @@ </child> <child> <object class="GtkLabel" id="size_label"> + <property name="visible">1</property> <property name="label" translatable="yes">Size</property> <property name="xalign">0</property> <property name="valign">baseline</property> @@ -134,17 +142,13 @@ </child> <child> <object class="GtkScale" id="size_slider"> + <property name="visible">1</property> <property name="can-focus">1</property> <property name="hexpand">1</property> <property name="adjustment">slider_adjustment</property> <property name="draw-value">0</property> <property name="round-digits">0</property> - <child> - <object class="GtkEventControllerScroll"> - <property name="flags" translatable="yes">horizontal</property> - <signal name="scroll" handler="resize_by_scroll_cb"/> - </object> - </child> + <signal name="scroll-event" handler="resize_by_scroll_cb" swapped="no"/> </object> <packing> <property name="left-attach">1</property> @@ -153,6 +157,7 @@ </child> <child> <object class="GtkSpinButton" id="size_spin"> + <property name="visible">1</property> <property name="can-focus">1</property> <property name="adjustment">spin_adjustment</property> <property name="valign">center</property> @@ -170,6 +175,7 @@ </child> <child> <object class="GtkGrid"> + <property name="visible">1</property> <property name="row-spacing">12</property> <property name="hexpand">1</property> <property name="vexpand">1</property> @@ -180,6 +186,7 @@ </style> <child> <object class="GtkImage"> + <property name="visible">1</property> <property name="gicon">fonticon</property> <property name="pixel-size">64</property> </object> @@ -190,6 +197,7 @@ </child> <child> <object class="GtkLabel"> + <property name="visible">1</property> <property name="label" translatable="yes">No Fonts Found</property> <attributes> <attribute name="weight" value="bold"/> @@ -219,10 +227,12 @@ </child> <child> <object class="GtkBox"> + <property name="visible">1</property> <property name="orientation">vertical</property> <property name="spacing">6</property> <child> <object class="GtkLabel" id="font_name_label"> + <property name="visible">1</property> <property name="margin-top">6</property> <property name="margin-bottom">6</property> <property name="margin-start">12</property> @@ -233,6 +243,7 @@ </child> <child> <object class="GtkEntry" id="preview2"> + <property name="visible">1</property> <property name="can-focus">1</property> <property name="placeholder-text" translatable="yes">Preview text</property> <property name="text" bind-source="preview" bind-property="text" bind-flags="bidirectional"/> @@ -241,6 +252,7 @@ </child> <child> <object class="GtkScrolledWindow"> + <property name="visible">1</property> <property name="hscrollbar-policy">never</property> <property name="shadow-type">in</property> <property name="vexpand">1</property> @@ -249,15 +261,18 @@ </style> <child> <object class="GtkBox"> + <property name="visible">1</property> <property name="orientation">vertical</property> <property name="spacing">12</property> <property name="margin">12</property> <child> <object class="GtkGrid" id="axis_grid"> + <property name="visible">1</property> <property name="row-spacing">6</property> <property name="column-spacing">12</property> <child> <object class="GtkLabel" id="size_label2"> + <property name="visible">1</property> <property name="label" translatable="yes">Size</property> <property name="xalign">0</property> <property name="valign">baseline</property> @@ -269,11 +284,13 @@ </child> <child> <object class="GtkScale" id="size_slider2"> + <property name="visible">1</property> <property name="can-focus">1</property> <property name="hexpand">1</property> <property name="adjustment">slider_adjustment</property> <property name="draw-value">0</property> <property name="round-digits">0</property> + <signal name="scroll-event" handler="resize_by_scroll_cb" swapped="no"/> </object> <packing> <property name="left-attach">1</property> @@ -282,6 +299,7 @@ </child> <child> <object class="GtkSpinButton" id="size_spin2"> + <property name="visible">1</property> <property name="can-focus">1</property> <property name="adjustment">spin_adjustment</property> <property name="valign">center</property> @@ -296,6 +314,7 @@ </child> <child> <object class="GtkBox" id="feature_box"> + <property name="visible">1</property> <property name="orientation">vertical</property> <property name="spacing">12</property> </object> |