summaryrefslogtreecommitdiff
path: root/libs/gtkmm2ext
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2008-02-15 20:39:43 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2008-02-15 20:39:43 +0000
commit0c71b89a15ffde9e64601ced0ba201484eaf15dd (patch)
tree80183d326ca124c78fa659016a599978be4b3a84 /libs/gtkmm2ext
parent6f0f3d70565b908961ab52af66b392cd346501d9 (diff)
make fine-tuning modifiers for PixFader platform specific
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@3063 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/gtkmm2ext')
-rw-r--r--libs/gtkmm2ext/gtkmm2ext/pixfader.h3
-rw-r--r--libs/gtkmm2ext/pixfader.cc12
2 files changed, 13 insertions, 2 deletions
diff --git a/libs/gtkmm2ext/gtkmm2ext/pixfader.h b/libs/gtkmm2ext/gtkmm2ext/pixfader.h
index d974f5d5bc..e610d40f22 100644
--- a/libs/gtkmm2ext/gtkmm2ext/pixfader.h
+++ b/libs/gtkmm2ext/gtkmm2ext/pixfader.h
@@ -61,6 +61,9 @@ class PixFader : public Gtk::DrawingArea {
void adjustment_changed ();
int display_height ();
+
+ static uint fine_scale_modifier;
+ static uint extra_fine_scale_modifier;
};
diff --git a/libs/gtkmm2ext/pixfader.cc b/libs/gtkmm2ext/pixfader.cc
index 217fe50d03..b48916ed01 100644
--- a/libs/gtkmm2ext/pixfader.cc
+++ b/libs/gtkmm2ext/pixfader.cc
@@ -27,6 +27,14 @@ using namespace Gtk;
using namespace Gdk;
using namespace std;
+#ifdef GTKOSX
+uint PixFader::fine_scale_modifier = GDK_META_MASK;
+#else
+uint PixFader::fine_scale_modifier = GDK_CONTROL_MASK;
+#endif
+
+uint PixFader::extra_fine_scale_modifier = GDK_MOD1_MASK;
+
PixFader::PixFader (Glib::RefPtr<Pixbuf> belt, Gtk::Adjustment& adj)
: adjustment (adj),
pixbuf (belt)
@@ -205,8 +213,8 @@ PixFader::on_motion_notify_event (GdkEventMotion* ev)
return true;
}
- if (ev->state & GDK_CONTROL_MASK) {
- if (ev->state & GDK_MOD1_MASK) {
+ if (ev->state & fine_scale_modifier) {
+ if (ev->state & extra_fine_scale_modifier) {
scale = 0.05;
} else {
scale = 0.1;