From 07bb5ff34735962bcfea9751420ade3af8be5d5c Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Tue, 6 Sep 2016 16:17:08 -0400 Subject: move kbd focus reset method into ARDOUR_UI where it (probably) belongs --- gtk2_ardour/editor_actions.cc | 48 ------------------------------------------- 1 file changed, 48 deletions(-) (limited to 'gtk2_ardour/editor_actions.cc') diff --git a/gtk2_ardour/editor_actions.cc b/gtk2_ardour/editor_actions.cc index a5edaf5759..aacb760e14 100644 --- a/gtk2_ardour/editor_actions.cc +++ b/gtk2_ardour/editor_actions.cc @@ -1726,54 +1726,6 @@ Editor::parameter_changed (std::string p) } } -void -Editor::reset_focus (Gtk::Widget* w) -{ - /* this resets focus to the first focusable parent of the given widget, - * or, if there is no focusable parent, cancels focus in the toplevel - * window that the given widget is packed into (if there is one). - */ - - if (!w) { - return; - } - - Gtk::Widget* top = w->get_toplevel(); - - if (!top || !top->is_toplevel()) { - return; - } - - w = w->get_parent (); - - while (w) { - - if (w->is_toplevel()) { - /* Setting the focus widget to a Gtk::Window causes all - * subsequent calls to ::has_focus() on the nominal - * focus widget in that window to return - * false. Workaround: never set focus to the toplevel - * itself. - */ - break; - } - - if (w->get_can_focus ()) { - Window* win = dynamic_cast (top); - win->set_focus (*w); - return; - } - w = w->get_parent (); - } - - /* no focusable parent found, cancel focus in top level window. - C++ API cannot be used for this. Thanks, references. - */ - - gtk_window_set_focus (GTK_WINDOW(top->gobj()), 0); - -} - void Editor::reset_canvas_action_sensitivity (bool onoff) { -- cgit v1.2.3