summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2012-05-31 18:04:47 +0000
committerCarl Hetherington <carl@carlh.net>2012-05-31 18:04:47 +0000
commit6a4628e50acaaf1540491cf4aac412e8bb3fc0b3 (patch)
tree3e1ea20945fb907221d4b9083177c100a47b11b9 /libs
parent556732df8047c5738d0f50fb192c45c02bb90def (diff)
Use the same logic to decide on step size when scroll-wheeling faders in the mixer and knobs in the monitor section (part of #4726).
git-svn-id: svn://localhost/ardour2/branches/3.0@12510 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs')
-rw-r--r--libs/gtkmm2ext/gtkmm2ext/keyboard.h2
-rw-r--r--libs/gtkmm2ext/gtkmm2ext/pixfader.h3
-rw-r--r--libs/gtkmm2ext/keyboard.cc3
-rw-r--r--libs/gtkmm2ext/motionfeedback.cc16
-rw-r--r--libs/gtkmm2ext/pixfader.cc13
5 files changed, 19 insertions, 18 deletions
diff --git a/libs/gtkmm2ext/gtkmm2ext/keyboard.h b/libs/gtkmm2ext/gtkmm2ext/keyboard.h
index 9b083317e3..3287cdb37e 100644
--- a/libs/gtkmm2ext/gtkmm2ext/keyboard.h
+++ b/libs/gtkmm2ext/gtkmm2ext/keyboard.h
@@ -56,6 +56,8 @@ class Keyboard : public sigc::trackable, PBD::Stateful
static uint32_t Level4Modifier;
static uint32_t CopyModifier;
static uint32_t RangeSelectModifier;
+ static uint32_t GainFineScaleModifier;
+ static uint32_t GainExtraFineScaleModifier;
static const char* primary_modifier_name ();
static const char* secondary_modifier_name ();
diff --git a/libs/gtkmm2ext/gtkmm2ext/pixfader.h b/libs/gtkmm2ext/gtkmm2ext/pixfader.h
index 43df8e555e..e32fe7550b 100644
--- a/libs/gtkmm2ext/gtkmm2ext/pixfader.h
+++ b/libs/gtkmm2ext/gtkmm2ext/pixfader.h
@@ -85,9 +85,6 @@ class PixFader : public Gtk::DrawingArea
int display_span ();
void set_adjustment_from_event (GdkEventButton *);
void update_unity_position ();
-
- static int fine_scale_modifier;
- static int extra_fine_scale_modifier;
};
diff --git a/libs/gtkmm2ext/keyboard.cc b/libs/gtkmm2ext/keyboard.cc
index e5dd3d0e51..6328eb977c 100644
--- a/libs/gtkmm2ext/keyboard.cc
+++ b/libs/gtkmm2ext/keyboard.cc
@@ -91,6 +91,9 @@ const char* Keyboard::rangeselect_modifier_name() { return S_("Key|Shift"); }
#endif
+guint Keyboard::GainFineScaleModifier = Keyboard::PrimaryModifier;
+guint Keyboard::GainExtraFineScaleModifier = Keyboard::SecondaryModifier;
+
Keyboard* Keyboard::_the_keyboard = 0;
Gtk::Window* Keyboard::current_window = 0;
bool Keyboard::_some_magic_widget_has_focus = false;
diff --git a/libs/gtkmm2ext/motionfeedback.cc b/libs/gtkmm2ext/motionfeedback.cc
index 7a6d02f531..b5bdd82aa5 100644
--- a/libs/gtkmm2ext/motionfeedback.cc
+++ b/libs/gtkmm2ext/motionfeedback.cc
@@ -381,23 +381,25 @@ MotionFeedback::pixwin_scroll_event (GdkEventScroll* ev)
return false;
}
- if ((ev->state & (Keyboard::PrimaryModifier|Keyboard::TertiaryModifier)) == (Keyboard::PrimaryModifier|Keyboard::TertiaryModifier)) {
- scale = 0.01;
- } else if (ev->state & Keyboard::PrimaryModifier) {
- scale = 0.1;
+ if (ev->state & Keyboard::GainFineScaleModifier) {
+ if (ev->state & Keyboard::GainExtraFineScaleModifier) {
+ scale = 0.01;
+ } else {
+ scale = 0.05;
+ }
} else {
- scale = 1.0;
+ scale = 0.25;
}
switch (ev->direction) {
case GDK_SCROLL_UP:
case GDK_SCROLL_RIGHT:
- _controllable->set_value (adjust (scale * step_inc));
+ _controllable->set_value (adjust (scale * page_inc));
break;
case GDK_SCROLL_DOWN:
case GDK_SCROLL_LEFT:
- _controllable->set_value (adjust (-scale * step_inc));
+ _controllable->set_value (adjust (-scale * page_inc));
break;
}
diff --git a/libs/gtkmm2ext/pixfader.cc b/libs/gtkmm2ext/pixfader.cc
index 9851b6397d..e146f7aa60 100644
--- a/libs/gtkmm2ext/pixfader.cc
+++ b/libs/gtkmm2ext/pixfader.cc
@@ -28,9 +28,6 @@ using namespace Gtkmm2ext;
using namespace Gtk;
using namespace std;
-int PixFader::fine_scale_modifier = Keyboard::PrimaryModifier;
-int PixFader::extra_fine_scale_modifier = Keyboard::SecondaryModifier;
-
PixFader::PixFader (Glib::RefPtr<Gdk::Pixbuf> belt, Gtk::Adjustment& adj, int orientation, int fader_length)
: adjustment (adj),
@@ -221,7 +218,7 @@ PixFader::on_button_release_event (GdkEventButton* ev)
if (ev->state & Keyboard::TertiaryModifier) {
adjustment.set_value (default_value);
- } else if (ev->state & fine_scale_modifier) {
+ } else if (ev->state & Keyboard::GainFineScaleModifier) {
adjustment.set_value (adjustment.get_lower());
} else if ((_orien == VERT && ev_pos < span - display_span()) || (_orien == HORIZ && ev_pos > span - display_span())) {
/* above the current display height, remember X Window coords */
@@ -255,8 +252,8 @@ PixFader::on_scroll_event (GdkEventScroll* ev)
double scale;
bool ret = false;
- if (ev->state & fine_scale_modifier) {
- if (ev->state & extra_fine_scale_modifier) {
+ if (ev->state & Keyboard::GainFineScaleModifier) {
+ if (ev->state & Keyboard::GainExtraFineScaleModifier) {
scale = 0.01;
} else {
scale = 0.05;
@@ -320,8 +317,8 @@ PixFader::on_motion_notify_event (GdkEventMotion* ev)
return true;
}
- if (ev->state & fine_scale_modifier) {
- if (ev->state & extra_fine_scale_modifier) {
+ if (ev->state & Keyboard::GainFineScaleModifier) {
+ if (ev->state & Keyboard::GainExtraFineScaleModifier) {
scale = 0.05;
} else {
scale = 0.1;