diff --git a/gtk2_ardour/pianoroll.cc b/gtk2_ardour/pianoroll.cc index f8eda665cd..0ed3e3dd00 100644 --- a/gtk2_ardour/pianoroll.cc +++ b/gtk2_ardour/pianoroll.cc @@ -95,6 +95,13 @@ Pianoroll::~Pianoroll () delete bindings; } +bool +Pianoroll::enter (GdkEventCrossing*) +{ + switch_editing_context (this); + return false; +} + void Pianoroll::load_bindings () { @@ -291,7 +298,9 @@ Pianoroll::build_upper_toolbar () Bindings* pr_bindings = Bindings::get_bindings (X_("Pianoroll")); _toolbox.set_data (X_("ardour-bindings"), pr_bindings); + _contents.add (_toolbox); + _contents.signal_enter_notify_event().connect (sigc::mem_fun (*this, &Pianoroll::enter), false); } void diff --git a/gtk2_ardour/pianoroll.h b/gtk2_ardour/pianoroll.h index 64ff6bcdf5..25dd2d7482 100644 --- a/gtk2_ardour/pianoroll.h +++ b/gtk2_ardour/pianoroll.h @@ -281,4 +281,5 @@ class Pianoroll : public CueEditor std::pair max_zoom_extent() const; void point_selection_changed (); + bool enter (GdkEventCrossing*); }; diff --git a/gtk2_ardour/pianoroll_window.cc b/gtk2_ardour/pianoroll_window.cc index 5a2db5fb71..656c1fc5f6 100644 --- a/gtk2_ardour/pianoroll_window.cc +++ b/gtk2_ardour/pianoroll_window.cc @@ -30,8 +30,8 @@ PianorollWindow::PianorollWindow (std::string const & name, Session& s) pianoroll->set_session (&s); pianoroll->viewport().set_size_request (600, 120); - add (pianoroll->toolbox()); - pianoroll->toolbox().show (); + add (pianoroll->contents()); + pianoroll->contents().show (); } PianorollWindow::~PianorollWindow ()