Miscellaneous font chooser fixes
Fix various oversights in the backports of the font chooser features.
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user