summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2013-05-06 10:55:40 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2013-05-06 10:58:35 -0400
commitf96a5c2a954c3e0c80b3461c5d70a08b15ed6cb2 (patch)
treeaa579e503bead8d9ef52a8cee2647eaf59d52735
parentee426ca223833dddcf660bb20e1e7cbb1785616a (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.cc7
-rw-r--r--gtk2_ardour/ardour_dialog.h3
-rw-r--r--gtk2_ardour/ardour_window.cc6
-rw-r--r--gtk2_ardour/ardour_window.h1
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: