summaryrefslogtreecommitdiff
path: root/libs/gtkmm2ext
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2008-02-21 18:37:00 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2008-02-21 18:37:00 +0000
commitcdf37e613b773c5b64e82697f36a489d6bd40771 (patch)
tree8d9eff90fca9f487a87c099fd13aa148844c6ee0 /libs/gtkmm2ext
parent280ade047c5fc2f8ae7a9ed004810f144e4be096 (diff)
fix deadlock in playlist::partition(); new first idle model, including message about loading visual data; make h-faders use scroll up/down and be scalable-clickable; new track menu stuff (waveform scaling/shape); fix up ordering of ruler menus; fix initial sensitivity of region menu operations
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@3097 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/gtkmm2ext')
-rw-r--r--libs/gtkmm2ext/pixfader.cc19
1 files changed, 17 insertions, 2 deletions
diff --git a/libs/gtkmm2ext/pixfader.cc b/libs/gtkmm2ext/pixfader.cc
index 41203afb69..c138d13371 100644
--- a/libs/gtkmm2ext/pixfader.cc
+++ b/libs/gtkmm2ext/pixfader.cc
@@ -138,7 +138,7 @@ PixFader::on_button_release_event (GdkEventButton* ev)
{
double fract, ev_pos;
- ev_pos = (_orien == VERT) ? ev->y : 0; // Don't step if we are horizontal
+ ev_pos = (_orien == VERT) ? ev->y : ev->x;
switch (ev->button) {
case 1:
@@ -190,6 +190,7 @@ bool
PixFader::on_scroll_event (GdkEventScroll* ev)
{
double scale;
+ bool ret = false;
if (ev->state & fine_scale_modifier) {
if (ev->state & extra_fine_scale_modifier) {
@@ -202,35 +203,49 @@ PixFader::on_scroll_event (GdkEventScroll* ev)
}
if (_orien == VERT) {
+
+ /* should left/right scroll affect vertical faders ? */
+
switch (ev->direction) {
case GDK_SCROLL_UP:
/* wheel up */
adjustment.set_value (adjustment.get_value() + (adjustment.get_page_increment() * scale));
+ ret = true;
break;
case GDK_SCROLL_DOWN:
/* wheel down */
adjustment.set_value (adjustment.get_value() - (adjustment.get_page_increment() * scale));
+ ret = true;
break;
default:
break;
}
} else {
+
+ /* up/down scrolls should definitely affect horizontal faders
+ because they are so much easier to use
+ */
+
switch (ev->direction) {
case GDK_SCROLL_RIGHT:
+ case GDK_SCROLL_UP:
/* wheel right */
adjustment.set_value (adjustment.get_value() + (adjustment.get_page_increment() * scale));
+ ret = true;
break;
case GDK_SCROLL_LEFT:
+ case GDK_SCROLL_DOWN:
/* wheel left */
adjustment.set_value (adjustment.get_value() - (adjustment.get_page_increment() * scale));
+ ret = true;
break;
default:
break;
}
}
- return false;
+ return ret;
}
bool