From a4a9a4696483c324577b68d050689ebbf0a10ab4 Mon Sep 17 00:00:00 2001 From: Laszlo Papp Date: Fri, 24 Jun 2022 11:27:13 +0100 Subject: [PATCH] QKeySequenceEdit: Finish editing when losing focus Do not wait for the timer to time out. When losing the focus, finish editing immediately since we cannot really edit it further without focus. Change-Id: If42926ef9b06fbea7592a294f48ea5e99ef57ef8 Reviewed-by: Volker Hilsheimer (cherry picked from commit b6a953bb939cb5fe6305f4acf62003c766887f51) Reviewed-by: Qt Cherry-pick Bot --- src/widgets/widgets/qkeysequenceedit.cpp | 10 ++++++++++ src/widgets/widgets/qkeysequenceedit.h | 1 + 2 files changed, 11 insertions(+) diff --git a/src/widgets/widgets/qkeysequenceedit.cpp b/src/widgets/widgets/qkeysequenceedit.cpp index 3dafb9396b9..740d854cb34 100644 --- a/src/widgets/widgets/qkeysequenceedit.cpp +++ b/src/widgets/widgets/qkeysequenceedit.cpp @@ -323,6 +323,16 @@ void QKeySequenceEdit::timerEvent(QTimerEvent *e) QWidget::timerEvent(e); } +/*! + \reimp +*/ +void QKeySequenceEdit::focusOutEvent(QFocusEvent *e) +{ + Q_D(QKeySequenceEdit); + d->finishEditing(); + QWidget::focusOutEvent(e); +} + QT_END_NAMESPACE #include "moc_qkeysequenceedit.cpp" diff --git a/src/widgets/widgets/qkeysequenceedit.h b/src/widgets/widgets/qkeysequenceedit.h index 3ddf2e5ded3..29d12ae934e 100644 --- a/src/widgets/widgets/qkeysequenceedit.h +++ b/src/widgets/widgets/qkeysequenceedit.h @@ -45,6 +45,7 @@ protected: void keyPressEvent(QKeyEvent *) override; void keyReleaseEvent(QKeyEvent *) override; void timerEvent(QTimerEvent *) override; + void focusOutEvent(QFocusEvent *) override; private: Q_DISABLE_COPY(QKeySequenceEdit)