summaryrefslogtreecommitdiff
path: root/vcl/qt5/Qt5Widget.cxx
diff options
context:
space:
mode:
authorAleksei Nikiforov <darktemplar@basealt.ru>2019-01-21 12:16:13 +0300
committerThorsten Behrens <Thorsten.Behrens@CIB.de>2019-01-26 11:47:27 +0100
commit1a5340788639ba71725338ddc5d340b2b304f4c2 (patch)
tree14bfe1794a2259a11e1ef20b36d0682933580173 /vcl/qt5/Qt5Widget.cxx
parentc8b0c382c6330865df50ae7cf7360c8a2c08ebe6 (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/Qt5Widget.cxx')
-rw-r--r--vcl/qt5/Qt5Widget.cxx16
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))