summaryrefslogtreecommitdiff
path: root/libs/gtkmm2ext/pixscroller.cc
diff options
context:
space:
mode:
authorNick Mainsbridge <beatroute@iprimus.com.au>2006-04-10 02:14:05 +0000
committerNick Mainsbridge <beatroute@iprimus.com.au>2006-04-10 02:14:05 +0000
commit7e8a98224578e03e17fbf5e656241ff5ef1a0bc1 (patch)
tree33ceaf82af27e800a3b81b2c367522f2252a9fb4 /libs/gtkmm2ext/pixscroller.cc
parente9f9ca5278c6bcafd6a22ad273185c31664c32a5 (diff)
Reinstate mouse scroll actions (audio clocks, shuttle wheel, faders), clearing selection is undoable, fix compiler warning, add modified patch by Jon Michael Smith for mouse wheel track height adjustment and vertical canvas scrolling (thanks Jon)
git-svn-id: svn://localhost/trunk/ardour2@449 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/gtkmm2ext/pixscroller.cc')
-rw-r--r--libs/gtkmm2ext/pixscroller.cc27
1 files changed, 25 insertions, 2 deletions
diff --git a/libs/gtkmm2ext/pixscroller.cc b/libs/gtkmm2ext/pixscroller.cc
index 813b4fd7f6..f459726f27 100644
--- a/libs/gtkmm2ext/pixscroller.cc
+++ b/libs/gtkmm2ext/pixscroller.cc
@@ -176,11 +176,34 @@ PixScroller::on_button_release_event (GdkEventButton* ev)
}
}
break;
- case 4:
+ default:
+ break;
+ }
+ return false;
+}
+
+bool
+PixScroller::on_scroll_event (GdkEventScroll* ev)
+{
+ double scale;
+
+ if (ev->state & GDK_CONTROL_MASK) {
+ if (ev->state & GDK_MOD1_MASK) {
+ scale = 0.05;
+ } else {
+ scale = 0.1;
+ }
+ } else {
+ scale = 0.5;
+ }
+
+ switch (ev->direction) {
+
+ case GDK_SCROLL_UP:
/* wheel up */
adj.set_value (adj.get_value() + (adj.get_page_increment() * scale));
break;
- case 5:
+ case GDK_SCROLL_DOWN:
/* wheel down */
adj.set_value (adj.get_value() - (adj.get_page_increment() * scale));
break;