summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2018-03-31 18:57:06 -0400
committerMatthias Clasen <mclasen@redhat.com>2018-03-31 21:02:51 -0400
commit8fb30a6a7bff433f9a94fd6b90253ddfd5cba502 (patch)
tree8576e447121f29853334b4bd806d5734d179b784
parentd15a29c876a464954b6b02cc5eb08f4d0b59c1c0 (diff)
downloadgtk+-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.c17
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);
}
/**