qt5base-lts/tests/auto/widgets
Christian Heimlich e1cf5b2348 Fix redundant emission of editingFinished from QLineEdit with Return key
Current implementation of QLineEdit uses the "edited" bit-field flag to
prevent unnecessary emissions of editingFinished() when a line edit
loses focus but its contents have not changed since the last time the
signal was emitted; however, this flag is only cleared when the signal
is fired due to focus loss and not when the Return/Enter key is pressed.
This causes an unexpected double emission of the signal when focus is
lost following a press of the Return/Enter key if the line edit's text
was not further altered between the two actions.

This change includes the Return/Enter press as a trigger for clearing
the "edited" flag to make editingFinished()'s behavior more consistent
and expected. Prevents slots in user code from triggering twice in
situations where the line edit's current contents have already been
handled, but still allows the end-user to force an emission of the
signal via Return/Enter.

The effect of the "edited" flag on the signals behavior has also been
noted in the signal description as it was previously omitted.

[ChangeLog][QtWidgets][QLineEdit][Behavior Change] Pressing the
Return/Enter key in a QLineEdit will now also prevent editingFinished()
from firing due to focus loss if the contents of the line edit have not
changed since the last time the signal was emitted.

See - https://forum.qt.io/topic/116902/

Change-Id: I11aadd45341337b7852da8cf5802c7c9efdd614d
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-09-23 20:33:33 -04:00
..
dialogs CMake: Regenerate projects to use new qt_internal_ API 2020-09-23 16:59:06 +02:00
effects CMake: Regenerate projects to use new qt_internal_ API 2020-09-23 16:59:06 +02:00
graphicsview CMake: Regenerate projects to use new qt_internal_ API 2020-09-23 16:59:06 +02:00
itemviews CMake: Regenerate projects to use new qt_internal_ API 2020-09-23 16:59:06 +02:00
kernel CMake: Regenerate projects to use new qt_internal_ API 2020-09-23 16:59:06 +02:00
styles CMake: Regenerate projects to use new qt_internal_ API 2020-09-23 16:59:06 +02:00
util CMake: Regenerate projects to use new qt_internal_ API 2020-09-23 16:59:06 +02:00
widgets Fix redundant emission of editingFinished from QLineEdit with Return key 2020-09-23 20:33:33 -04:00
CMakeLists.txt Begin port of qtbase to CMake 2018-11-01 11:48:46 +00:00
widgets.pro Move QGestureRecognizer test to widgets/kernel 2017-06-02 18:36:11 +00:00