diff --git a/gtk2_ardour/transpose_dialog.cc b/gtk2_ardour/transpose_dialog.cc index bb980007ff..cf328cdfc9 100644 --- a/gtk2_ardour/transpose_dialog.cc +++ b/gtk2_ardour/transpose_dialog.cc @@ -16,14 +16,20 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ +#include "transpose_dialog.h" + #include #include #include -#include "transpose_dialog.h" + #include "pbd/i18n.h" #include +#include "ardour_ui.h" +#include "utils.h" + + using namespace Gtk; TransposeDialog::TransposeDialog () @@ -104,6 +110,10 @@ VarispeedDialog::VarispeedDialog () // add_button (Stock::CANCEL, RESPONSE_CANCEL); // add_button (_("Transpose"), RESPONSE_ACCEPT); + _octaves_spinner.set_can_focus(false); + _semitones_spinner.set_can_focus(false); + _cents_spinner.set_can_focus(false); + _octaves_spinner.signal_changed().connect (sigc::mem_fun (*this, &VarispeedDialog::apply_speed)); _semitones_spinner.signal_changed().connect (sigc::mem_fun (*this, &VarispeedDialog::apply_speed)); _cents_spinner.signal_changed().connect (sigc::mem_fun (*this, &VarispeedDialog::apply_speed)); @@ -111,6 +121,13 @@ VarispeedDialog::VarispeedDialog () show_all_children (); } +bool +VarispeedDialog::on_key_press_event (GdkEventKey *ev) +{ + Gtk::Window& main_window (ARDOUR_UI::instance()->main_window()); + return ARDOUR_UI_UTILS::relay_key_press (ev, &main_window); +} + void VarispeedDialog::reset () { diff --git a/gtk2_ardour/transpose_dialog.h b/gtk2_ardour/transpose_dialog.h index 813885f799..a061faefc3 100644 --- a/gtk2_ardour/transpose_dialog.h +++ b/gtk2_ardour/transpose_dialog.h @@ -23,7 +23,6 @@ #include "ardour_dialog.h" - /** A dialog box to select a transposition to apply to a MIDI region. * It asks for octaves and semitones, with the transposition being * the sum of the two. @@ -57,6 +56,8 @@ public: void apply_speed (); void on_hide (); + bool on_key_press_event(GdkEventKey*); + private: Gtk::Adjustment _octaves_adjustment; Gtk::Adjustment _semitones_adjustment;