summaryrefslogtreecommitdiff
path: root/gtk/gtkscalebutton.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2014-07-08 10:27:30 -0400
committerMatthias Clasen <mclasen@redhat.com>2014-07-08 10:27:30 -0400
commit0a3463391406ca95b5c5538c7b777ae7e82effe5 (patch)
treebd88425a64aae43b80d07b69c24cfc1d32c14c9e /gtk/gtkscalebutton.c
parent73bc9b59dd295dff1c8e3c7fb5ce6ba7e020153e (diff)
downloadgtk+-0a3463391406ca95b5c5538c7b777ae7e82effe5.tar.gz
GtkScaleButton: Set +/- sensitivity
The buttons should go insensitive when we are at their end of the scale.
Diffstat (limited to 'gtk/gtkscalebutton.c')
-rw-r--r--gtk/gtkscalebutton.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gtk/gtkscalebutton.c b/gtk/gtkscalebutton.c
index 11aee50c6b..b4bda76656 100644
--- a/gtk/gtkscalebutton.c
+++ b/gtk/gtkscalebutton.c
@@ -1040,11 +1040,17 @@ cb_scale_value_changed (GtkRange *range,
{
GtkScaleButton *button = user_data;
gdouble value;
+ gdouble upper, lower;
value = gtk_range_get_value (range);
+ upper = gtk_adjustment_get_upper (button->priv->adjustment);
+ lower = gtk_adjustment_get_lower (button->priv->adjustment);
gtk_scale_button_update_icon (button);
+ gtk_widget_set_sensitive (button->priv->plus_button, value < upper);
+ gtk_widget_set_sensitive (button->priv->minus_button, lower < value);
+
g_signal_emit (button, signals[VALUE_CHANGED], 0, value);
g_object_notify (G_OBJECT (button), "value");
}