{
transport_tearoff = manage (new TearOff (transport_tearoff_hbox));
transport_tearoff->set_name ("TransportBase");
+ transport_tearoff->tearoff_window().signal_key_press_event().connect (bind (sigc::ptr_fun (relay_key_press), &transport_tearoff->tearoff_window()));
if (Profile->get_sae()) {
transport_tearoff->set_can_be_torn_off (false);
#include "editor.h"
#include "actions.h"
#include "mixer_ui.h"
+#include "utils.h"
#ifdef GTKOSX
#include <gtkmm2ext/sync-menu.h>
big_clock_window->set_keep_above (true);
big_clock_window->set_border_width (0);
big_clock_window->add (big_clock);
+ big_clock_window->signal_key_press_event().connect (bind (sigc::ptr_fun (relay_key_press), big_clock_window));
WindowTitle title(Glib::get_application_name());
title += _("Clock");
big_clock_window->set_title (title.get_string());
- big_clock_window->set_type_hint (Gdk::WINDOW_TYPE_HINT_MENU);
+ big_clock_window->set_type_hint (Gdk::WINDOW_TYPE_HINT_UTILITY);
big_clock_window->signal_realize().connect (bind (sigc::ptr_fun (set_decoration), big_clock_window, (Gdk::DECOR_BORDER|Gdk::DECOR_RESIZEH)));
big_clock_window->signal_unmap().connect (bind (sigc::ptr_fun(&ActionManager::uncheck_toggleaction), X_("<Actions>/Common/ToggleBigClock")));
mouse_mode_tearoff = manage (new TearOff (*mode_box));
mouse_mode_tearoff->set_name ("MouseModeBase");
+ mouse_mode_tearoff->tearoff_window().signal_key_press_event().connect (bind (sigc::ptr_fun (relay_key_press), &mouse_mode_tearoff->tearoff_window()));
if (Profile->get_sae()) {
mouse_mode_tearoff->set_can_be_torn_off (false);
tools_tearoff = new TearOff (*hbox);
tools_tearoff->set_name ("MouseModeBase");
+ tools_tearoff->tearoff_window().signal_key_press_event().connect (bind (sigc::ptr_fun (relay_key_press), &tools_tearoff->tearoff_window()));
if (Profile->get_sae()) {
tools_tearoff->set_can_be_torn_off (false);
bool
PluginUIWindow::on_key_press_event (GdkEventKey* event)
{
- if (!key_press_focus_accelerator_handler (*this, event)) {
- return PublicEditor::instance().on_key_press_event(event);
- } else {
- return true;
- }
+ relay_key_press (event, this);
}
bool
static PublicEditor* _instance;
- friend class PluginUIWindow;
+ friend bool relay_key_press (GdkEventKey* ev, Gtk::Window* win);
};
#endif // __gtk_ardour_public_editor_h__
}
#endif
+bool
+relay_key_press (GdkEventKey* ev, Gtk::Window* win)
+{
+ if (!key_press_focus_accelerator_handler (*win, ev)) {
+ return PublicEditor::instance().on_key_press_event(ev);
+ } else {
+ return true;
+ }
+}
+
bool
key_press_focus_accelerator_handler (Gtk::Window& window, GdkEventKey* ev)
{
#include <glibmm/ustring.h>
#include "canvas.h"
+#include "public_editor.h"
namespace Gtk {
class Window;
void set_color (Gdk::Color&, int);
+bool relay_key_press (GdkEventKey*, Gtk::Window*);
bool key_press_focus_accelerator_handler (Gtk::Window& window, GdkEventKey* ev);
bool possibly_translate_keyval_to_make_legal_accelerator (uint32_t& keyval);