diff options
| author | Yansheng Zhu <670429759@qq.com> | 2024-02-28 20:54:56 +0800 |
|---|---|---|
| committer | Yansheng Zhu <670429759@qq.com> | 2024-03-01 02:22:06 +0800 |
| commit | 70096b2bbd54d35518167cb41ea3576b992c3cda (patch) | |
| tree | 48855fd49c7da50e0645d52062cf52e1f977b2d9 /src/network/socket/qnativesocketengine_unix.cpp | |
| parent | 356b0aee0e93c9fc51e79faa8d6904bf4d5a6c27 (diff) | |
Implement Qt::ImEnabled by isEnabled() and isReadOnly()
Previously, querying Qt::ImEnabled only returned the value of
isEnabling(), which is incorrect for edit widgets with read-only
properties set, as Qt::ImEnabled indicates whether text can be *input*
through the input method, which results in the IM being able to insert
text into read-only edit widgets.
The fixed version uses both isEnabling() and isReadOnly() values to
determine whether input methods need to be enabled. For some platforms
(like iOS and Android) that rely on IM to select text, a check for
ImReadOnly has been added to their QPA plugins to enable handles on
read-only input boxes.
At the same time, the imEnabledNotImplemented function in the test file
tst_qwidget was modified, since ImEnabling should give a _false_ value
when a lineedit is read-only.
Task-number: QTBUG-105009
Task-number: QTBUG-110838
Task-number: QTBUG-119182
Pick-to: 6.7 6.6 6.5
Change-Id: Ia2abcdb3200826d567f90447d4f8b71d0ef1fbf0
Reviewed-by: Yansheng Zhu <670429759@qq.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Diffstat (limited to 'src/network/socket/qnativesocketengine_unix.cpp')
0 files changed, 0 insertions, 0 deletions
