The stored layout direction used to get changed during initialization to what was auto-detected based on the translation. Changing the translation then overwrote that stored value, even if an explicit call to setLayoutDirection was made by the application. Calling QGuiApplication::setLayoutDirection(Auto) has so far been a no-op. Change this logic so that the stored layout direction continues to be LayoutDirectionAuto also if it's set based on auto-detection, and only overwrite it when explicitly called with a non-Auto value. This way, applications can set a layout direction that stays unchanged even when translators are installed. Add test coverage that uses a QTranslator. In practice, this is not a change of behavior, unless applications called setLayoutDirection(Auto) (which is no longer a no-op), or called setLayoutDirection() and then installed a translator and expected the translator's layout direction to come into effect in spite of the explicit setting. [ChangeLog][Gui][QGuiApplication] Calling setLayoutDirection with a non- auto value now disables the auto-detection based on installed translators. Applications that explicitly set a layout direction and also want translators installed afterwards to take effect should reset the layout direction to Auto, which is now no longer a no-op. Fixes: QTBUG-100632 Pick-to: 6.3 Change-Id: I1fdcebd43a9b1b468ff95bf15f53f441bb214e08 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> |
||
|---|---|---|
| .. | ||
| noqteventloop | ||
| qaction | ||
| qactiongroup | ||
| qaddpostroutine | ||
| qbackingstore | ||
| qclipboard | ||
| qcursor | ||
| qdrag | ||
| qevent | ||
| qfileopenevent | ||
| qguiapplication | ||
| qguieventdispatcher | ||
| qguieventloop | ||
| qguimetatype | ||
| qguitimer | ||
| qguivariant | ||
| qhighdpi | ||
| qinputdevice | ||
| qinputmethod | ||
| qkeyevent | ||
| qkeysequence | ||
| qmouseevent | ||
| qmouseevent_modal | ||
| qopenglwindow | ||
| qpalette | ||
| qpixelformat | ||
| qrasterwindow | ||
| qscreen | ||
| qshortcut | ||
| qsurfaceformat | ||
| qtouchevent | ||
| qwindow | ||
| CMakeLists.txt | ||