From 8fb30a6a7bff433f9a94fd6b90253ddfd5cba502 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sat, 31 Mar 2018 18:57:06 -0400 Subject: [PATCH] Font chooser: Hide tweak button sometimes When there is no chance of tweaking anything, don't show a tweak button. --- gtk/gtkfontchooserdialog.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/gtk/gtkfontchooserdialog.c b/gtk/gtkfontchooserdialog.c index b481238885..a2ab27da6e 100644 --- a/gtk/gtkfontchooserdialog.c +++ b/gtk/gtkfontchooserdialog.c @@ -138,6 +138,21 @@ gtk_font_chooser_dialog_key_press_event (GtkWidget *dialog, return handled; } +static void +update_tweak_button (GtkFontChooserDialog *dialog) +{ + GtkFontChooserLevel level; + + if (!dialog->priv->tweak_button) + return; + + g_object_get (dialog->priv->fontchooser, "level", &level, NULL); + if ((level & (GTK_FONT_CHOOSER_LEVEL_FEATURES | GTK_FONT_CHOOSER_LEVEL_VARIATIONS)) != 0) + gtk_widget_show (dialog->priv->tweak_button); + else + gtk_widget_hide (dialog->priv->tweak_button); +} + static void setup_tweak_button (GtkFontChooserDialog *dialog) { @@ -238,6 +253,8 @@ gtk_font_chooser_dialog_init (GtkFontChooserDialog *fontchooserdiag) g_signal_connect_swapped (priv->fontchooser, "notify::font-desc", G_CALLBACK (update_button), fontchooserdiag); update_button (fontchooserdiag); + g_signal_connect_swapped (priv->fontchooser, "notify::level", + G_CALLBACK (update_tweak_button), fontchooserdiag); } /** -- 2.30.2