diff options
| author | Alexander Valavanis <valavanisalex@gmail.com> | 2019-02-03 17:36:59 +0000 |
|---|---|---|
| committer | Alexander Valavanis <valavanisalex@gmail.com> | 2019-02-03 17:36:59 +0000 |
| commit | 863c7db94fe69735970fc1e83dff823190212c6b (patch) | |
| tree | ef1a41145f36601c50163d8bef9b7f5dc0ab727f /src/inkscape-window.cpp | |
| parent | MeasureToolbar: GtkAction migration (diff) | |
| parent | Add missing file in previous commit. (diff) | |
| download | inkscape-863c7db94fe69735970fc1e83dff823190212c6b.tar.gz inkscape-863c7db94fe69735970fc1e83dff823190212c6b.zip | |
Merge branch 'master' of gitlab.com:inkscape/inkscape
Diffstat (limited to 'src/inkscape-window.cpp')
| -rw-r--r-- | src/inkscape-window.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/inkscape-window.cpp b/src/inkscape-window.cpp index 24718c316..2681bfc1d 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)); @@ -112,10 +111,15 @@ 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) { + // Need to call base class method first or text tool won't work! + 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); } @@ -131,7 +135,7 @@ InkscapeWindow::on_focus_in_event(GdkEventFocus* event) std::cerr << "Inkscapewindow::on_focus_in_event: app is nullptr!" << std::endl; } - return true; + return Gtk::ApplicationWindow::on_focus_in_event(event); } /* |
