summaryrefslogtreecommitdiff
path: root/libs/gtkmm2ext/auto_spin.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2015-07-13 15:33:15 +0200
committerRobin Gareus <robin@gareus.org>2015-07-13 15:33:15 +0200
commit56ba08b7cbec5fab590d2ac8388e1e0052069b48 (patch)
tree457b5592f8dbf5d6bba11e058d266342fff291af /libs/gtkmm2ext/auto_spin.cc
parentf4229968d9e8d158984b6d930ebce81992511c47 (diff)
implement scroll-wheel support for ClickBoxes
Diffstat (limited to 'libs/gtkmm2ext/auto_spin.cc')
-rw-r--r--libs/gtkmm2ext/auto_spin.cc23
1 files changed, 23 insertions, 0 deletions
diff --git a/libs/gtkmm2ext/auto_spin.cc b/libs/gtkmm2ext/auto_spin.cc
index 0f4c371a09..707414df95 100644
--- a/libs/gtkmm2ext/auto_spin.cc
+++ b/libs/gtkmm2ext/auto_spin.cc
@@ -143,6 +143,29 @@ AutoSpin::button_press (GdkEventButton *ev)
return TRUE;
}
+gint
+AutoSpin::scroll_event (GdkEventScroll *ev)
+{
+ stop_spinning (0);
+
+ gfloat increment = step_increment;
+
+ if (ev->state & Keyboard::TertiaryModifier) {
+ increment = page_increment;
+ }
+
+ switch (ev->direction) {
+ case GDK_SCROLL_DOWN:
+ case GDK_SCROLL_LEFT:
+ adjust_value (-increment);
+ break;
+ case GDK_SCROLL_RIGHT:
+ case GDK_SCROLL_UP:
+ adjust_value (increment);
+ break;
+ }
+}
+
void
AutoSpin::start_spinning (bool decrement, bool page)
{