summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2018-06-04 07:21:27 -0400
committerMatthias Clasen <mclasen@redhat.com>2018-06-04 18:58:08 -0400
commit51aa16346ef0e17b4f277917bcd9cccd1f81a2b1 (patch)
treef579737f453a952bb80218e6b035c2b4ebf6a2b7
parentdfe04d0c9a255b1debf965fdc2e935c989ee59b8 (diff)
downloadgtk+-51aa16346ef0e17b4f277917bcd9cccd1f81a2b1.tar.gz
Miscellaneous font chooser fixes
Fix various oversights in the backports of the font chooser features.
-rw-r--r--gtk/gtkfontbutton.c13
-rw-r--r--gtk/gtkfontchooserwidget.c16
-rw-r--r--gtk/ui/gtkfontchooserwidget.ui37
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>