diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2013-05-06 10:55:40 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2013-05-06 10:58:35 -0400 |
commit | f96a5c2a954c3e0c80b3461c5d70a08b15ed6cb2 (patch) | |
tree | aa579e503bead8d9ef52a8cee2647eaf59d52735 | |
parent | ee426ca223833dddcf660bb20e1e7cbb1785616a (diff) |
make ArdourDialog and ArdourWindow call ::relay_key_press() which fixes the "not-toggleable-on-first-show" and other issues
-rw-r--r-- | gtk2_ardour/ardour_dialog.cc | 7 | ||||
-rw-r--r-- | gtk2_ardour/ardour_dialog.h | 3 | ||||
-rw-r--r-- | gtk2_ardour/ardour_window.cc | 6 | ||||
-rw-r--r-- | gtk2_ardour/ardour_window.h | 1 |
4 files changed, 16 insertions, 1 deletions
diff --git a/gtk2_ardour/ardour_dialog.cc b/gtk2_ardour/ardour_dialog.cc index 07d5d47d6b..8231289c5a 100644 --- a/gtk2_ardour/ardour_dialog.cc +++ b/gtk2_ardour/ardour_dialog.cc @@ -26,6 +26,7 @@ #include "ardour_ui.h" #include "keyboard.h" #include "splash.h" +#include "utils.h" using namespace std; using namespace Gtk; @@ -59,6 +60,12 @@ ArdourDialog::~ArdourDialog () } bool +ArdourDialog::on_key_press_event (GdkEventKey* ev) +{ + return relay_key_press (ev, this); +} + +bool ArdourDialog::on_enter_notify_event (GdkEventCrossing *ev) { Keyboard::the_keyboard().enter_window (ev, this); diff --git a/gtk2_ardour/ardour_dialog.h b/gtk2_ardour/ardour_dialog.h index 1e01c8f625..40472f20c0 100644 --- a/gtk2_ardour/ardour_dialog.h +++ b/gtk2_ardour/ardour_dialog.h @@ -40,7 +40,8 @@ class ArdourDialog : public Gtk::Dialog, public ARDOUR::SessionHandlePtr bool on_enter_notify_event (GdkEventCrossing*); bool on_leave_notify_event (GdkEventCrossing*); - bool on_delete_event (GdkEventAny *); + bool on_delete_event (GdkEventAny*); + bool on_key_press_event (GdkEventKey*); void on_unmap (); void on_show (); diff --git a/gtk2_ardour/ardour_window.cc b/gtk2_ardour/ardour_window.cc index 705fdaa1f9..490fabb19b 100644 --- a/gtk2_ardour/ardour_window.cc +++ b/gtk2_ardour/ardour_window.cc @@ -54,6 +54,12 @@ ArdourWindow::~ArdourWindow () } bool +ArdourWindow::on_key_press_event (GdkEventKey* ev) +{ + return relay_key_press (ev, this); +} + +bool ArdourWindow::on_enter_notify_event (GdkEventCrossing *ev) { Keyboard::the_keyboard().enter_window (ev, this); diff --git a/gtk2_ardour/ardour_window.h b/gtk2_ardour/ardour_window.h index 68bf65d353..e113f724c8 100644 --- a/gtk2_ardour/ardour_window.h +++ b/gtk2_ardour/ardour_window.h @@ -43,6 +43,7 @@ class ArdourWindow : public Gtk::Window, public ARDOUR::SessionHandlePtr, public bool on_enter_notify_event (GdkEventCrossing*); bool on_leave_notify_event (GdkEventCrossing*); bool on_delete_event (GdkEventAny *); + bool on_key_press_event (GdkEventKey*); void on_unmap (); private: |