diff options
author | Aleksei Nikiforov <darktemplar@basealt.ru> | 2019-01-21 12:16:13 +0300 |
---|---|---|
committer | Thorsten Behrens <Thorsten.Behrens@CIB.de> | 2019-01-26 11:47:27 +0100 |
commit | 1a5340788639ba71725338ddc5d340b2b304f4c2 (patch) | |
tree | 14bfe1794a2259a11e1ef20b36d0682933580173 /vcl/qt5 | |
parent | c8b0c382c6330865df50ae7cf7360c8a2c08ebe6 (diff) |
tdf#122814 KDE5: conditional disable of Qt shortcuts
Change-Id: I5375f0b555e483b2c108550d319e64d781b96f75
Reviewed-on: https://gerrit.libreoffice.org/66673
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Diffstat (limited to 'vcl/qt5')
-rw-r--r-- | vcl/qt5/Qt5Widget.cxx | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/vcl/qt5/Qt5Widget.cxx b/vcl/qt5/Qt5Widget.cxx index 6d75cd60df73..4ce56523d58e 100644 --- a/vcl/qt5/Qt5Widget.cxx +++ b/vcl/qt5/Qt5Widget.cxx @@ -403,20 +403,18 @@ bool Qt5Widget::event(QEvent* pEvent) // but enables keypress event. // If event is not accepted and shortcut is successfully activated, // KeyPress event is omitted. - // It looks like handleKeyEvent function still activates the shortcut on KeyPress event, - // so there's no harm in disabling shortcut activation via Qt mechanisms. - pEvent->accept(); + // + // Instead of processing keyPressEvent, handle ShortcutOverride event, + // and if it's handled - disable the shortcut, it should have been activated. + // Don't process keyPressEvent generated after disabling shortcut since it was handled here. + // If event is not handled, don't accept it and let Qt activate related shortcut. + if (handleKeyEvent(static_cast<QKeyEvent*>(pEvent), true)) + pEvent->accept(); } return QWidget::event(pEvent); } -void Qt5Widget::keyPressEvent(QKeyEvent* pEvent) -{ - if (handleKeyEvent(pEvent, true)) - pEvent->accept(); -} - void Qt5Widget::keyReleaseEvent(QKeyEvent* pEvent) { if (handleKeyEvent(pEvent, false)) |