diff options
author | Matthias Clasen <mclasen@redhat.com> | 2018-03-31 18:57:06 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2018-03-31 21:02:51 -0400 |
commit | 8fb30a6a7bff433f9a94fd6b90253ddfd5cba502 (patch) | |
tree | 8576e447121f29853334b4bd806d5734d179b784 | |
parent | d15a29c876a464954b6b02cc5eb08f4d0b59c1c0 (diff) | |
download | gtk+-8fb30a6a7bff433f9a94fd6b90253ddfd5cba502.tar.gz |
Font chooser: Hide tweak button sometimes
When there is no chance of tweaking anything, don't
show a tweak button.
-rw-r--r-- | gtk/gtkfontchooserdialog.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/gtk/gtkfontchooserdialog.c b/gtk/gtkfontchooserdialog.c index b481238885..a2ab27da6e 100644 --- a/gtk/gtkfontchooserdialog.c +++ b/gtk/gtkfontchooserdialog.c @@ -139,6 +139,21 @@ gtk_font_chooser_dialog_key_press_event (GtkWidget *dialog, } 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) { gboolean use_header; @@ -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); } /** |