[Libreoffice-commits] core.git: Branch 'libreoffice-6-2' - vcl/inc vcl/qt5
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Mon Jan 28 14:53:13 UTC 2019
vcl/inc/qt5/Qt5Widget.hxx | 1 -
vcl/qt5/Qt5Widget.cxx | 16 +++++++---------
2 files changed, 7 insertions(+), 10 deletions(-)
New commits:
commit 96af619c9650e806dfb19da5b9344c46412d573d
Author: Aleksei Nikiforov <darktemplar at basealt.ru>
AuthorDate: Mon Jan 21 12:16:13 2019 +0300
Commit: Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>
CommitDate: Mon Jan 28 15:52:53 2019 +0100
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 at CIB.de>
(cherry picked from commit 1a5340788639ba71725338ddc5d340b2b304f4c2)
Reviewed-on: https://gerrit.libreoffice.org/66991
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>
diff --git a/vcl/inc/qt5/Qt5Widget.hxx b/vcl/inc/qt5/Qt5Widget.hxx
index 4337792dfc43..731498f11d13 100644
--- a/vcl/inc/qt5/Qt5Widget.hxx
+++ b/vcl/inc/qt5/Qt5Widget.hxx
@@ -49,7 +49,6 @@ class Qt5Widget : public QWidget
virtual void focusInEvent(QFocusEvent*) override;
virtual void focusOutEvent(QFocusEvent*) override;
- virtual void keyPressEvent(QKeyEvent*) override;
virtual void keyReleaseEvent(QKeyEvent*) override;
virtual void mouseMoveEvent(QMouseEvent*) override;
virtual void mousePressEvent(QMouseEvent*) override;
diff --git a/vcl/qt5/Qt5Widget.cxx b/vcl/qt5/Qt5Widget.cxx
index 26e89a7ef6fb..69ca329ab97f 100644
--- a/vcl/qt5/Qt5Widget.cxx
+++ b/vcl/qt5/Qt5Widget.cxx
@@ -402,20 +402,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))
More information about the Libreoffice-commits
mailing list