summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaszlo Papp <lpapp@kde.org>2022-06-24 11:27:13 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2022-06-29 02:40:00 +0000
commita4a9a4696483c324577b68d050689ebbf0a10ab4 (patch)
treeacb1dc92c770bbef494a0d75a1a14fdf8a1f1750
parenta387208e9c93ccbb881509d3271eff1ee8bc24c1 (diff)
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 <volker.hilsheimer@qt.io> (cherry picked from commit b6a953bb939cb5fe6305f4acf62003c766887f51) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/widgets/widgets/qkeysequenceedit.cpp10
-rw-r--r--src/widgets/widgets/qkeysequenceedit.h1
2 files changed, 11 insertions, 0 deletions
diff --git a/src/widgets/widgets/qkeysequenceedit.cpp b/src/widgets/widgets/qkeysequenceedit.cpp
index 3dafb9396b..740d854cb3 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 3ddf2e5ded..29d12ae934 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)