diff --git a/libs/gtkmm2ext/gtkmm2ext/barcontroller.h b/libs/gtkmm2ext/gtkmm2ext/barcontroller.h index 5692406952..9aa1630b02 100644 --- a/libs/gtkmm2ext/gtkmm2ext/barcontroller.h +++ b/libs/gtkmm2ext/gtkmm2ext/barcontroller.h @@ -38,6 +38,9 @@ class LIBGTKMM2EXT_API BarController : public Gtk::Alignment void set_sensitive (bool yn); void set_logarithmic (bool yn) { _logarithmic = yn; } + PixFader::Tweaks tweaks() const { return _slider.tweaks (); } + void set_tweaks (PixFader::Tweaks t) { _slider.set_tweaks (t);} + sigc::signal StartGesture; sigc::signal StopGesture; diff --git a/libs/gtkmm2ext/pixfader.cc b/libs/gtkmm2ext/pixfader.cc index 98ef46a983..9a250efa52 100644 --- a/libs/gtkmm2ext/pixfader.cc +++ b/libs/gtkmm2ext/pixfader.cc @@ -425,7 +425,9 @@ PixFader::on_button_release_event (GdkEventButton* ev) StopGesture (); if (!_hovering) { - Keyboard::magic_widget_drop_focus(); + if (!(_tweaks & NoVerticalScroll)) { + Keyboard::magic_widget_drop_focus(); + } queue_draw (); } @@ -601,7 +603,9 @@ bool PixFader::on_enter_notify_event (GdkEventCrossing*) { _hovering = true; - Keyboard::magic_widget_grab_focus (); + if (!(_tweaks & NoVerticalScroll)) { + Keyboard::magic_widget_grab_focus (); + } queue_draw (); return false; } @@ -611,7 +615,9 @@ PixFader::on_leave_notify_event (GdkEventCrossing*) { if (!_dragging) { _hovering = false; - Keyboard::magic_widget_drop_focus(); + if (!(_tweaks & NoVerticalScroll)) { + Keyboard::magic_widget_drop_focus(); + } queue_draw (); } return false;