diff options
| author | Tavmjong Bah <tavmjong@free.fr> | 2019-02-03 11:06:14 +0000 |
|---|---|---|
| committer | Tavmjong Bah <tavmjong@free.fr> | 2019-02-03 11:06:14 +0000 |
| commit | de7e1c04e8a3c9bddfc503f8aeb74528128c5aa6 (patch) | |
| tree | a31ed733ed536ab4088c518de47b97d6df872fa4 /src/inkscape-window.cpp | |
| parent | Fix widget focus bug. (diff) | |
| download | inkscape-de7e1c04e8a3c9bddfc503f8aeb74528128c5aa6.tar.gz inkscape-de7e1c04e8a3c9bddfc503f8aeb74528128c5aa6.zip | |
Change from hooking up signal handler to overriding class method.
Diffstat (limited to 'src/inkscape-window.cpp')
| -rw-r--r-- | src/inkscape-window.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/inkscape-window.cpp b/src/inkscape-window.cpp index 15524d28a..9551897d7 100644 --- a/src/inkscape-window.cpp +++ b/src/inkscape-window.cpp @@ -81,7 +81,6 @@ InkscapeWindow::InkscapeWindow(SPDocument* document) gtk_box_pack_start(GTK_BOX(_mainbox->gobj()), GTK_WIDGET(_desktop_widget), true, true, 0); // Can't use Glib::wrap() // ================== Callbacks ================== - signal_key_press_event().connect( sigc::mem_fun(*this, &InkscapeWindow::key_press)); signal_delete_event().connect( sigc::mem_fun(*_desktop, &SPDesktop::onDeleteUI)); signal_window_state_event().connect(sigc::mem_fun(*_desktop, &SPDesktop::onWindowStateEvent)); signal_focus_in_event().connect( sigc::mem_fun(*_desktop_widget, &SPDesktopWidget::onFocusInEvent)); @@ -114,8 +113,13 @@ InkscapeWindow::change_document(SPDocument* document) // We don't override on_key_press() as it steals key strokes from text tool. bool -InkscapeWindow::key_press(GdkEventKey* event) +InkscapeWindow::on_key_press_event(GdkEventKey* event) { + bool done = Gtk::Window::on_key_press_event(event); + if (done) { + return true; + } + unsigned shortcut = sp_shortcut_get_for_event(event); return sp_shortcut_invoke (shortcut, _desktop); } |
