diff options
author | Michael Natterer <mitch@imendio.com> | 2007-01-02 16:40:44 +0000 |
---|---|---|
committer | Michael Natterer <mitch@src.gnome.org> | 2007-01-02 16:40:44 +0000 |
commit | 4bf5344e3d33a497d6bc1644c7da6abd368d9dda (patch) | |
tree | 4c26df9fdd7f44c7d2dc9b3017a6bdb90c578ae0 /gtk/gtkrange.c | |
parent | 2b267db6db7b93d44704da223ce17211a9af2827 (diff) | |
download | gtk+-4bf5344e3d33a497d6bc1644c7da6abd368d9dda.tar.gz |
beep when a keybinding didn't change adjustment->value.
2007-01-02 Michael Natterer <mitch@imendio.com>
* gtk/gtkrange.c (gtk_range_scroll) (gtk_range_move_slider): beep
when a keybinding didn't change adjustment->value.
svn path=/trunk/; revision=17021
Diffstat (limited to 'gtk/gtkrange.c')
-rw-r--r-- | gtk/gtkrange.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c index 5887dee187..d39f537983 100644 --- a/gtk/gtkrange.c +++ b/gtk/gtkrange.c @@ -162,7 +162,7 @@ static void gtk_range_move_slider (GtkRange *range, GtkScrollType scroll); /* Internals */ -static void gtk_range_scroll (GtkRange *range, +static gboolean gtk_range_scroll (GtkRange *range, GtkScrollType scroll); static gboolean gtk_range_update_mouse_location (GtkRange *range); static void gtk_range_calc_layout (GtkRange *range, @@ -2353,10 +2353,12 @@ scroll_end (GtkRange *range) &handled); } -static void +static gboolean gtk_range_scroll (GtkRange *range, GtkScrollType scroll) { + gdouble old_value = range->adjustment->value; + switch (scroll) { case GTK_SCROLL_STEP_LEFT: @@ -2446,6 +2448,8 @@ gtk_range_scroll (GtkRange *range, case GTK_SCROLL_NONE: break; } + + return range->adjustment->value != old_value; } static void @@ -2488,7 +2492,8 @@ gtk_range_move_slider (GtkRange *range, } } - gtk_range_scroll (range, scroll); + if (! gtk_range_scroll (range, scroll)) + gtk_widget_error_bell (GTK_WIDGET (range)); /* Policy DELAYED makes sense with key events, * but DISCONTINUOUS doesn't, so we update immediately |